FireFly Media Server › Firefly Media Server Forums › Firefly Media Server › Nightlies Feedback › Build firefly nightly on WL-500g › Reply To: Build firefly nightly on WL-500g
Ok, I fixed it, finally got a nightly built ok :cool:. Turned out to be a local libtool issue :shock:.
If someone else wants to build it: here’s how I did it, if your build environment is sane this should work fine. I’m running Ubuntu Dapper myself, make sure all the usual gcc & libc-dev stuff is installed. I had some problems with includes, probably because my own build environment was a bit screwed up, re-installing kernel-headers and kernel-sources fixed that. This was probably a local issue and not required otherwise.
NOTE 1: I installed everything in /opt (originally following the setup guide i referred to above), another path prefix would probably work fine but I didn’t test that.
NOTE 2: I used svn snapshot 1498. The mt-daapd.mk I modified only works with this version, but just changing the version number in it should work ok.
NOTE 2: I built a version with sqlite2 support, and nothing else (no ffmpeg, flac, ogg etc), as I don’t need or want that on my router. Adding these should be pretty straightforward by building the dependency packages and editing the mt-daapd.mk file and putting in the configure switches.
Hopefully I didn’t forget anything. 😉
1] Get optware unslung tree from svn:
# cd /opt
# svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware
2] Download/rename/unpack ASUS tools:
# wget http://files.wl500g.info/asus/wl500g/gpl/GPL_1927.zip
# mv GPL_1927.zip GPL_1927.tar.gz
# tar zxf ./GPL_1927.tar.gz
# mv -R /opt/broadcom/opt/brcm .
To save diskspace you can delete the /opt/broadcom/ directory after this.
3] configure unslung:
3.1] in /opt/optware/Makefile set:
OPTWARE_TARGET ?= wl500g
instead of the default target (nslu2)
3.2] in /opt/optware do a:
# make directories
# make ipkg-utils
4] make mt-daapd, sqlite:
# make mt-daapd
# make sqlite2
5] install sqlite2 to /opt and copy the sqlite libs to the optware staging folder:
# cd /opt/optware/builds/sqlite2
# make install
# cd .libs
# cp *.so *.a /opt/optware/staging/opt/lib/
This is only needed because the mt-daapd-2.4.2 .mk file I modified for the nightly doesn’t seem to put the sqlite2 libs in place properly, even though I added sqlite2 as a dependency. Also, the make install is just to keep the modifications to mt-daapd.mk convenient for me, a proper makefile would do all this automatically. I didn’t feel like figuring this all out so I did it manually.
6] copy modified mt-daapd.mk to /opt/optware/make
I put the .mk file on my local server, should anyone ever need it. Note that you need to change the version number in it if you want to build a different nightly build version. The file is here: http://bvb74.dyndns.org/~d-range/mt-daapd/mt-daapd.mk
7] Get the mt-daapd-svn_1498.tar.gz nightly and copy it to /opt/optware/downloads
8] do a ‘make mt-daapd’.:
This will fail on a _tzset/_putenv linkage issue that can be fixed very easily by replacing these calls with tzset and putenv:
# cd /opt/optware/builds/mt-daapd/src
# sed -ise "s/_tzset/tzset/" compat.c plugins/compat.c
# sed -ise "s/_putenv/putenv/" compat.c plugins/compat.c
Not sure why this happens, it looks like a platform issue that should be fixed in the firefly sources.
9] do a ‘make mt-daapd’ again.
This should work.
10] do a ‘make mt-daapd-ipk’.
This should also work. The .ipk will be put in /opt/optware/builds, and is called mt-daapd_1498-2_mipsel.ipk
This is probably all a piece of cake for you Ron, but It took me a good 4 hours to get it building :lol:. Maybe this saves someone some time ;-).
Going to try installing and running the ipk later, I’ll update and post a link if it works ok.
Update:
The package seems to work at least partially:-). Just finished scanning my library, web interface works! :cool:. My SoundBridge doesn’t see the share however, and the webinterface says: Bonjour: stopped. Also I had to link /opt/var/mt-daapd to /var/cache/mt-daapd and set guest permissions on it (on the wl-500g that is). The log says that the db-dir config option is deprecated but I don’t know how to set it to the right location so I did it this way. I put the package here if someone wants to test it: http://bvb74.dyndns.org/~d-range/mt-daapd/
Update 2:
Apparently I need howl or avahi for bonjour support? No built-in bonjour? Neither of those 2 packages are in the optware repository so that would add another problem to fix… 🙄