copied from sarine.nl (note from tomww: I plan to update this page soon 20081004)
Solaris On Solaris you should use the packaging system even for your own software builds. This bewares from accidentially overwriting important files, establishes a simple revision control and easy deployment of your self compiled software.
As gmpc and mpd might become two of the most important packges on your system, you have the choice to compile and packetize them with the CBE or find some other way (pkgmk, blastwave, sunfreeware).
This Step-Guide describes how to setup the compilers including the Sun Studio 11 compilers, the CBE for spec-files and fetching the repository via subversion (svn). If you are only interested in mpd and gmpc, the gcc/g++ compiler under /opt/sfw/bin might be sufficient. But it is recommend to install the whole Sun Studio 11 compiler, especially aou are interested in the other software from the repository besides pkgtool/pkgbuild.
As every time, please read the Licences.
Skip Step 1) if you have already Studio 11 or have "Solaris Express, Developer Edition" installed.
1.) fetch the Sun Studio 11 (or 10) compiler
You will need a free registration to download from here: http://www.sun.com/sunstudio/index.jsp goto tab "Downloads", register for a free online account for SDN if your are not already a member, download the "Sun Studio 11" for your platform. You may use the java based download manager or download directly by klicking on the Line "Sun Studio 11 Software....." (~ 335MB Solaris X86, ~615MB Solaris SPARC)
2.) fetch the patches for Sun Studio 11 (or 10) compiler
Your will need the patches. Even on Solaris Express, Developer Edition
Go back to the Download Page. You will find a blue horizontal bar on the page with the Link "Patches" or use this direct link: http://developers.sun.com/sunstudio/downloads/patches/ss11_patches.html
choose your Platform carefully and download the patches. (Fortran 95 might be left out, you know Fortran? :-))
If you already have Sun Studio 10, be shure to have it patched recently.
3.) Install the compiler plus patches
decompress the install-tarball and call the setupscript:
bzip2 -d < studio11-sol-x86.tar.bz2 | tar xf - cd ./installer or ./batch_installer (no questions)
/opt/SUNWspro is the standard place for the compiler.
cd patches for patch in `ls -1 1*zip` do unzip $patch done
Some of the patches depend on others, this patchorder should work:
Solaris X86: for patch in 121022-[0-9][0-9] 120759-[0-9][0-9] 121016-[0-9][0-9] 121018-[0-9][0-9] 120762-[0-9][0-9] 121020-[0-9][0-9] 121616-[0-9][0-9] 122136-[0-9][0-9] 122143-[0-9][0-9] do patchadd $patch done
Solaris SPARC: (to be defined)
3.) fetch the JDS CBE, the framework to download and compile the software based on spec files.
If you need more informations, read more about JDS CBE: http://www.opensolaris.org/os/project/jds/contributing/building/#jds-cbe
Installation of the build environment:
bzip2 -d < jds-cbe-1.6.0-i386.tar.bz2 | tar xf -
You will be asked to install some extra packages from the solaris media. Have your Solaris Media mounted somewhere and if asked to do so, provide the path to it, e.g.: /cdrom/<medianame>/Solaris_<10|11>/Product
A small set of packages asked by the installscript is needed in any case.
The optional Packages are only needed, if you plan to build the whole Desktop (would be interesting).
You will get a init-script to set the shell environment every time you use the CBE. With the CBE some common tools are installed into /opt/jdsbld/bin (like bison, automake, flex, svn and pkgtool/pkgbuild, the base tools to work on spec files.
4.) create a non-root user to build and install the software. A non-root user has to be used, otherwise the build scripts will refuse to work. To grant the profile "Software Installation" to a user, add the profile to the user in /etc/user_attr.
Add the user and assign the profile in one step:
useradd -P 'Software Installation' -m -k /etc/skel -d /export/home/jdsbuild jdsbuild passwd jdsbuild
If you want to use an existing user, use:
usermod -P 'Software Installation' existingusername
login respectively re-login to make this effective
4.) fetch the svn repository spec-files-extra form sourceforge
Login as the user compiling the Software.
source the compile environment into your shell (ksh, bash, ...)
check-out the repository "spec-files-extra":
svn co \ https://svn.sourceforge.net/svnroot/pkgbuild/spec-files-extra/trunk \ spec-files-extra
Your build environment is ready.
Here starts the gmpc / mpd stuff. That _is_ the fun part.
5.) compile prerequisite libs and gmpc. If you want mpd daemon and mpc also, see below.
build and install gmpc and libmpd, xosd library and gmpc-plugins-*
pkgtool --download --interactive build SFElibmpd.spec SFEgmpc.spec SFExosd.spec SFEgmpc-plugin-*.spec
build mpd, mpc and prerequisite libs:
pkgtool --download --interactive build SFElibao.spec SFElibsndfile.spec SFElibmpcdec.spec SFElibmad.spec SFEid3lib.spec SFEfaad2.spec SFElibid3tag.spec SFEmpd.spec SFEmpc.spec SFElibmpd.spec SFEgmpc.spec
note: * adjust configration for mpd in /etc/mpd.conf
- mpd has to be started by hand or your own scripts
- for now, audio play is done via libao, and there is
no comfortable mixer support
The Sun Studio 11 comes bundled with a nice IDE. If you've chosen the default install path, you may start /opt/SUNWspro/bin/sunstudio
If you like Gnome so much, you can recompile nearly the whole thing with the compile environment CBE...
SDN Sun Developer Network JDS Java Desktop System (Gnome-based Desktop plus addons) CBE Common Build Environment (used to build Gnome on Solaris) spec files RPM-like descriptions how to build the software from source, bundled with patches if necessary
Trademarks Yes, there are many, please see theyr repsctive owners