Required Bits for svn-1696 on x86 Ubuntu 6.06

FireFly Media Server Firefly Media Server Forums Firefly Media Server Setup Issues Required Bits for svn-1696 on x86 Ubuntu 6.06

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #2325
    Anonymous
    Inactive

    This afternoon has been something of an odyssey. I installed mt-daapd on Hardy alpha amd64 and found it had beautiful transcoding support straight of the .deb. I was so impressed that I decided to put the same version on hammer, my 6.06 LTS server, which was previously running 2.4.1 from source.

    I tried the supplied 6.06 .deb but it wasn’t pulling in all the required dependencies or something, so I went for a source install on that too, except using svn-1696.

    I found that beyond all the packages that the configure script asks for, you also need libavformat-dev. It also won’t build without -ldl being added to the LIBS line in the Makefiles, the symptom of which is a failed build due to the unrecognised symbol dlopen. (There is probably a neater way of adding libraries to link, but for today I simply appended them to LIBs in the the root folder, /src and /src/plugins and it seemed to work.)

    Next, while actually running the server, you get all kinds of errors thrown up by ssc-ffmpeg.so which is really not helpful. Things like “undefined symbol: avcodec_pix_fmt_to_codec_tag”. It turns out that you need to link in a whole pile of libraries which are not in the Makefile by default.

    So eventually my LIBS line became:

    LIBS = -lFLAC -lvorbisfile -lvorbis -logg  -lpthread -lid3tag -lz -lsqlite3 -logg -lvorbis -lvorbisfile -lFLAC -lavformat -lavcodec -lavutil -ldc1394_control -lraw1394 -ldts -lvorbisenc -ltheora -lgsm

    The doubles in there were already there and I didn’t change them. The other important thing apart from adding all those extra libraries is that you have to swap the order of -lavformat and -lavcodec. This fixes that particular undefined symbol problem above, and after you fix that you have to get all those other libraries to get the others in there.

    This may not apply for everyone… if it helps anyone, my configure parameters were:

    ./configure --enable-sqlite3 --enable-ffmpeg --enable-flac --enable-oggvorbis --with-ffmpeg-includes=/usr/include/ffmpeg

    The process I used to find all the extra LIBS was run the program, see what the error was in mt-daapd.log, google the undefined symbol to find the library to which it belonged, making sure it was installed and adding the appropriate tag to the Makefiles. Nasty stuff, but it worked. The ssc-ffmpeg.so library loads without a hitch and I have transcoding, which makes me a very happy boy. 🙂

    Now I don’t know if I’ve just managed to pick up a bunch of loose ends that wouldn’t have occurred if I’d used proper package management. I’m also not sure if any of these issues are bugs which have been solved since that particular SVN revision.

    Regardless, hopefully this will be helpful for anybody who is trying to build it from source.

    Edit: I only just noticed that there’s a nightlies feedback forum. Perhaps this should be put in there?

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