OpenSolaris / Nevada / Solaris Express setup guide

FireFly Media Server Firefly Media Server Forums Firefly Media Server Setup Issues OpenSolaris / Nevada / Solaris Express setup guide

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
  • #2120

    I think I’ve read just about every post on Solaris on these boards and tried almost every possible approach so I thought I might make a quick easy guide for the one method that I found to work. Many of these tips have been combined from other posts.

    Please bear in mind that I’m totally winging it and only have a self-taught idea of what I’m doing =)

    System: I run Solaris Express Developer Edition… one of the 2007 builds, uname -a gives me: SunOS mrbig 5.11 snv_70b i86pc i386 i86pc
    but i think it will be similar on most OpenSolaris nevada based OSes

    I’m using the most recent nightly that is stable, 1586. The reason being I believe the nightlies have sqlite support whilst the main releases do not? Download from here

    Here’s the configure parameters I used:

    ./configure --enable-sqlite3 --enable-oggvorbis --with-id3tag=/usr/local/lib --with-sqlite3-includes=/usr/local/include --with-sqlite3-libs=/usr/local/lib --with-gdbm-includes=/usr/local/include --with-gdbm-libs=/usr/local/lib LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include"

    * i used sqlite3 because people seemed to say it was a good idea. I found it at – i just used the tarball instead of the sparc packages seeing as i have x86 and a different version of solaris anyway to them.
    * i installed libid3tag and libmad from the tarballs at sourceforge , using their default ./configure; make; make install. this put the includes in /usr/local/include and the libs in /usr/local/lib – i put these paths into the configure parameters just about everywhere i could :), perhaps some are unnecessary – i assume you don’t have to start a sqlite daemon or anything
    * Couldn’t compile without gdbm, so i found it at sunfreeware again,
    * Then i found that apparently I had to use the c99 flag with solaris, it’s needed to build 0.2.4 in the configure parameters like so: CFLAGS=”-std-c99″ but that doesn’t work with the nightlies so i took it out.
    * now at this stage i started getting all these dereferencing pointer mDNS errors when compiling 0.2.4, hundreds of lines, when i tried to make… so i figured the internal mDNS implementation was broken for me and tried howl. later i used the nightlies and found out i didn’t need howl at all… read on for instructions on how to use it anyway if you so desire:.. reading that howl was ancient, but avahi only half worked on solaris, i went for the Howl option, and grabbed howl from – that install also went as per default configure settings. One thing that hung me up for a little bit was the fact that the includes install to /usr/local/include/howl, in their own subdirectory, not just in …./include/, so don’t forget to write that full path :). i also assume you only have to install howl for it’s libraries, not run a daemon manually for firefly to utilise. configure parameters as such: –enable-howl –with-howl-includes=/usr/local/include/howl –with-howl-libs=/usr/local/lib

    Then as per the readme:

    cp contrib/mt-daapd.conf /etc
    cp contrib/mt-daapd.playlist /etc

    but also

    mkdir /usr/local/etc
    chmod 755 /usr/local/etc
    ln -s /etc/mt-daapd.conf /usr/local/etc/mt-daapd.conf
    ln -s /etc/mt-daapd.playlist /usr/local/etc/mt-daapd.playlist

    And edit /etc/mt-daapd.conf to taste, particularily recalling to set db-type to sqlite3 instead of sqlite

    Solaris startup scripts:
    i made a file chmod 744 owned by root:sys, in /etc/rc3.d/ as ‘S90mt-daapd’ and a file with the same permissions in /etc/init.d/ called ‘mt-daapd’
    It’s contents are:


    case $1 in
    echo -n $"Starting DAAP server: "
    echo -n $"Shutting down DAAP server: "
    echo -n $"you will have to kill the pid manually from ps -ef | grep "mt-daapd"'
    echo "Usage: $0 start|stop" >&2
    exit 1
    exit 0

    manually killing it was the best i could come up with
    so you can start and stop it manually with the command /etc/init.d/mt-daapd start (or stop)
    and it should start on normal boot. i haven’t tested this.

    At this stage the server runs, streams music, etc…
    it segfaults when i click the configuration page in the webadmin:

    Processing rendezvous message
    Rendezvous socket closed (daap server crashed?) Aborting.
    Segmentation Fault

    but all the other options seem to work.



    I have made a tutorial/howto that I’d like to share with the community. It covers how to compile and install Firefly on an OpenSolaris system, start/stop scripts, and configuring Firefly to run at login.

    The system I have is:

    -bash-3.2$ uname -v
    -bash-3.2$ uname -r

    The installation tutorial is available on my site .

    The startup/stop and login configuration tutorial is available on my site .

    I don’t have the seg fault that icephyre mentions.. but I am using the ‘unstable’ nightly build instead of the version he is using. So that maybe the reason.



    Hi icephyre,

    Just trying to use your guide to get mt-daapd- runing on OpenSolaris…

    [email protected]:/# uname -avr
    SunOS opensolaris 5.11 snv_101b i86pc i386 i86pc Solaris

    Everything works up to the ‘make’ then I get pages and pages of errors starting with the below…

    [email protected]:/data/shared/transfers/mt-daapd- make
    make all-recursive
    Making all in src
    make all-am
    source='main.c' object='main.o' libtool=no
    DEPDIR=.deps depmode=none /bin/sh ../depcomp
    cc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include -g -DOGGVORBIS -DHOST='"i386-pc-solaris2.11"' -DNOT_HAVE_SA_LEN -D_XPG4_2 -D__EXTENSIONS__ -DHAVE_BROKEN_RECVIF_NAME -D_POSIX_PTHREAD_SEMANTICS -I/usr/local/include -I/usr/local/lib/include -g -c main.c
    "main.c", line 339: warning: argument mismatch
    "main.c", line 345: warning: argument mismatch
    "main.c", line 356: warning: argument mismatch
    "main.c", line 359: warning: argument mismatch
    "main.c", line 367: warning: argument mismatch
    "main.c", line 373: warning: argument mismatch
    "main.c", line 485: warning: argument mismatch

    I’m new to building from source so am stumped, any ideas where I can start looking for the cause and a possible fix?


    Some nice chap (or chapette) has built and packaged this up for OpenSolaris. For me it just worked! Here’s the link…

    My system build (at the moment) is…

    # cat /etc/release
    OpenSolaris 2009.06 snv_111b X86
    Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
    Use is subject to license terms.
    Assembled 07 May 2009
    # uname -a
    SunOS opensolaris 5.11 snv_111b i86pc i386 i86pc Solaris

    😀 Thanks to the anonymous person who built this – I’ll buy you a pint anytime! 😀


    I can’t quite figure out that page, can you step us through how to use it?
    Also my opensolaris box is command line only, so if your instructions are CLI friendly that would be even better! Cheers,


    FYI this is my updated method for OpenSolaris SunOS odin 5.11 snv_111b i86pc i386 i86pc – I downloaded the release before 2009.06 but have since upgraded fully through pkg and pkgutil
    works for me and I am currently watching mt-daapd parse my music into my library in the foreground at debuglevel 9

    download howl 1.0.0 from sourceforge
    ./configure; make; make install

    then update the howl libs into the linker (like doing ldconfig -v on linux)
    crle -l /usr/local/lib -u
    as per what i learned at and

    install repository and pkgutil
    pkgutil -i sqlite3 gdbm lidid3tag

    then update the gdbm libs into the linker
    crle -l /opt/csw/lib -u

    I downloaded mt-daapd given that it appears to have been modified April 2008, whereas the nightlies are all 2007.

    ./configure –with-id3tag=/opt/csw –enable-sqlite3 –enable-oggvorbis –with-sqlite3=/opt/csw –with-gdbm=/opt/csw LDFLAGS=”-L/opt/csw/lib” CPPFLAGS=”-I/opt/csw/include” CFLAGS=”-std=c99″ –enable-howl –with-howl-includes=/usr/local/include/howl –with-howl-libs=/usr/local/lib
    make install

    configs, start up scripts as before… well the script didn’t work verbatim, just copied another one that was in /etc/rc3.d/
    don’t forget to change web root to /usr/local/share/mt-daapd/admin-root

    there appears to be many ways to skin this cat


    @icephyre wrote:

    I downloaded mt-daapd given that it appears to have been modified April 2008, whereas the nightlies are all 2007. is a security patch on an old version. The nightlies versions are far more advanced

Viewing 7 posts - 1 through 7 (of 7 total)
  • The forum ‘Setup Issues’ is closed to new topics and replies.