If you have already use Nevada or Solaris 10 x86 you might ask this question :

Why go through the trouble of compiling gaim for Solaris x86 ? Didn’t Solaris 10 and Solaris Nevada already have gaim included as part of JDS ?

Yes, snv_45 already has gaim 2.0beta2 included, but since I really use gaim, I soon notice that the included gaim is compiled with no audio support. To be honest I wonder why it hasn’t been noticed all this time. This is a small thing, not so important, on the other hand I don’t think the effort to compile gaim with audio support is too big, and it annoyed my “sense of completion”. What is missing is that gaim requires libao installed.

Apparently the latest libao available for Solaris x86 I can get is in Solaris x86 Companion CD for Solaris 9.

Below are the steps to compile gaim on Solaris snv_45. These steps also applies to Solaris 10.

Install libao from Solaris 10 x86 Companion CD

# exec bash
# cp gaim-2.0.0beta3.tar.gz /installer
# gunzip gaim-2.0.0beta3.tar.gz
# tar xvf gaim-2.0.0beta3.tar
# export PATH=/usr/sbin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/usr/ccs/bin:/usr/sfw/bin:/opt/sfw/bin
# cd gaim-2.0.0beta3
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/sfw/lib
# ./configure –disable-perl –with-tclconfig=/usr/sfw/lib –with-tkconfig=/usr/sfw/lib –with-ao=/opt/sfw –with-ao-libraries=/opt/sfw/lib –with-ao-includes=/opt/sfw/include –prefix=/usr/sfw
# make
# make install
After installing finish goto /usr/share/applications and edit gaim.desktop to point to /usr/sfw/bin/gaim

The second topic is libxine-1.1.2 and totem. Totem can use either gstreamer and libxine as backend. Unfortunately gstreamer is not as ready as totem in term of DVD support. So Solaris 10 and Nevada comes with Totem-gstreamer. Bad choice, I know gstreamer is the future, but currently to me it is not as ready as xine, and I wonder why they didn’t just include totem-xine while continue evaluating gstreamer, and only include gstreamer when it is at least as good as xine. Totem included in JDS3 Solaris cannot play DVD or VCD and it only says that the plugin is not available. It is like showing a candy to a kid but then forbid them to eat it.

Unfortunately the effort to compile totem-xine is not as easy as compiling gaim with audio support. Somehow libxine must be compiled with gnu as, gnu ld and gmake, where as totem must be compiled with sun as, sun ld and sun make, and before I find that out I must search the internet to find out why the compilation produce errors.

There is an easy way out, using blastwave, but with all respect to blastwave maintainer and contributors, I personally do not like to have duplicate gnome stacks, one from JDS and the second one from blastwave. I assume that blastwave create their own gnome stacks because they have done it before Sun have JDS/Gnome stacks included in Solaris. But currently there is no other package maintainer that I know of that utilize the included JDS/Gnome stack in Solaris to build other packages, so I left with the challenge to compile them myself.

After stumbling on a few errors, reading some information from the internet, I have manage to finish compiling both libxine-1.1.2 and the latest totem I can get (2.16.1)

Below are the steps documented so others can easily compile libxine and totem on Solaris if they wish to do so.
# export PATH=/sbin:/usr/sbin:/usr/bin:/usr/X11/bin:/usr/openwin/bin:/usr/dt/bin:/usr/sfw/bin:/opt/sfw/bin:/usr/sfw/i386-sun-solaris2.11/bin:/usr/ccs/bin:/usr/ucb

use gnu-as in /usr/ccs/bin
# cd /usr/ccs/bin
# mv as sun-as
# ln -s /usr/sfw/bin/gas as

use gnu-ld in /usr/ccs/bin
# cd /usr/ccs/bin
# mv ld sun-ld
# ln -s /usr/sfw/bin/gld ld

# cd xine-lib-1.1.2
# ./configure –prefix=/usr/sfw –x-includes=/usr/X11/include
# /usr/sfw/bin/gmake

change -mt to -pthreads in Makefiles if encounter error

As of snv_45 the compiling process will stop with error regarding “sysi86″

# cd src/libw32dll/wine
# vi ldt_keeper.c
find the line “int sysi86(int, void*);” and delete the line

continue compile after editing
# cd ../../..
# /usr/sfw/bin/gmake
# /usr/sfw/bin/gmake install

After finish compiling and installing libxine 1.1.2, the next step is to compile and install totem to use xine backend

Use sun-as and sun-ld
# cd /usr/ccs/bin
# mv sun-as as
# mv sun-ld ld

# export PATH=/sbin:/usr/sbin:/usr/bin:/usr/X11/bin:/usr/openwin/bin:/usr/dt/bin:/usr/sfw/bin:/opt/sfw/bin:/usr/sfw/i386-sun-solaris2.11/bin:/usr/ccs/bin:/usr/ucb

# export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/sfw/lib/pkgconfig

# ./configure –prefix=/usr/sfw –x-includes=/usr/X11/include –disable-gstreamer
# make
# make install

The last step is to redirect the shortcut menu to run this totem instead of the totem included from Solaris.

Go to /usr/share/applications and edit totem.desktop to point to /usr/sfw/bin/totem.

Finish ! Apparently even without the notorious libdvdcss, I can already try to play some DVD on my Solaris :)

4 Responses to “Compiling gaim 2.0beta3, libxine-1.1.2 and totem 2.16.1 on Nevada b45”

  1. Tomas Gayoso Says:

    Thanks for this! Will try ASAP on my dev box, I was really frustrated with xine on S10, and was one of my main issues for ditching Slackware in favour of Solaris. BTW, would this also work for flac? Compiling flac is majaor pain in Solaris… Cheers!

  2. Nitin Pandya Says:

    Thanks for this information it was really useful. I tried to compile latest gaim2.0beta5 on Sparc Solaris 10 as per your steps but I keep getting errors for nucurses libs. I tried searching and found out that there is no libncurses.so under /opt/sfw/lib although I have installed SFWncur from companion CD :-(

    Without that I could not proceed further :-(

  3. Adrianus Says:

    Thanks for the feedback. Apparently SFWncur already included in Nevada build 45.
    I have also already compiled gaim2.0beta5, the only difference is now I can omit the libao part since now gaim rely on gstreamer which already included in Nevada b45.

  4. Adrianus Says:

    Sorry, I didn’t read your mail thoroughly.
    After checking the installed Nevada on my laptop I also didn’t find ncurses lib, but strangely I didn’t encounter the error. What you can try is to use “find” command to locate the library that you have installed from Companion CD, and include it as one of the configure options.

Leave a Reply