How to compile MPD with extras enabled?
Posted: Mon Feb 18, 2013 4:34 am
A long story very very short. I set out to hack an ASUS WL500gp v2 into a radio. I specifically chose the wl500g premium as it has double flash capacity compared to the one in the tutorial.
I want to build this radio and give it as a gift to my elderly neighbor who want to listen to BBC World Service. By accident I happened to find an mp3 stream of BBC world service and that worked right away. What a nice surprise. (found here: http://www.budiarnopedode.com/p/radio-online.html)
Have in mind that I didn't know anything about virtual machines, ubuntu, openwrt and compiling when I started this. I felt so stupid when I had to google even the simplest tasks like how do I unpack a tar.gz file or how to use wget. Yeah, you can laugh at me for being a total noob at this, it's ok. I sometimes laugh at myself once I find out how easy something was, that I had been googling for hours.
Once bitten it's hard to stop chasing perfection. I found out AFTER I had compiled my image that I need to apply a patch to FAAD2 to enable fixed-point aac playback. When compiling again, I couldn't get the patch to take, so I ended up just rewriting the makefile line for line with the patch-file as reference in another window. Thats how to do it the H-A-R-D way. But it worked.
Luckily there is nano on the ubuntu virtual machine, so checking files is much more smooth with that than using "vi" on the router itself. As I was poking around in the makefile for MPD I saw that many many things were disabled. I thought that I had enough room left on the router to enable some of them. I wanted mikmod or modplug for playing mod, xm and tracker-files and the "new" fixed-point faad2 for aac support. Just for the hell of it I enabled it all. Sadly it wasn't possible to install those packages with a simple "./scripts/feeds install" command. So I got errors for most of them saying they couldn't be found.
Which in turn is strange because I can find some of them in menuconfig under the "hidden" menu that exist if you select ffmpeg.
No matter how I googled for sources and unpacked sidplaylibs, modpluglibs, wavpacklibs (I know it's not those exact names) to what I thought was the right place, the compile errors were still the same. It couldn't find sidplay plugin, modplug plugin and wavpack and the others I enabled, when compiling. For a linux illiterate like myself even the simplest task can prove to be a huge wall to climb. For instance, I never figured out exactly where to put those packages I downloaded. To make matters worse, sidplay seems to exist in a myriad of versions, merged, unmerged, old and semi-new.
If I did apt-get install on some of the packages, they installed. But that is on the virtual machine and not in the backfire build environment, so that didn't help even though it was a small victory for me.
In the end, all I managed to enable was the "patched" version of FAAD2 for fixed-point aac support, mms and mikmod. Not sidplay, wavpack or modplug. I have since then learned that mikmod and modplug supports the same formats, so modplug might not be needed, but I have used the stand alone modplug player on my windows machine to play mods for ages and I like it, so I wanted to enable it out of nostalgia.
Is there anyone who have managed to enable sidplay in MPD makefile and got away with it? If so, please tell me. Tell it like you talked to a 3 year old kid.
I want to build this radio and give it as a gift to my elderly neighbor who want to listen to BBC World Service. By accident I happened to find an mp3 stream of BBC world service and that worked right away. What a nice surprise. (found here: http://www.budiarnopedode.com/p/radio-online.html)
Have in mind that I didn't know anything about virtual machines, ubuntu, openwrt and compiling when I started this. I felt so stupid when I had to google even the simplest tasks like how do I unpack a tar.gz file or how to use wget. Yeah, you can laugh at me for being a total noob at this, it's ok. I sometimes laugh at myself once I find out how easy something was, that I had been googling for hours.
Once bitten it's hard to stop chasing perfection. I found out AFTER I had compiled my image that I need to apply a patch to FAAD2 to enable fixed-point aac playback. When compiling again, I couldn't get the patch to take, so I ended up just rewriting the makefile line for line with the patch-file as reference in another window. Thats how to do it the H-A-R-D way. But it worked.
Luckily there is nano on the ubuntu virtual machine, so checking files is much more smooth with that than using "vi" on the router itself. As I was poking around in the makefile for MPD I saw that many many things were disabled. I thought that I had enough room left on the router to enable some of them. I wanted mikmod or modplug for playing mod, xm and tracker-files and the "new" fixed-point faad2 for aac support. Just for the hell of it I enabled it all. Sadly it wasn't possible to install those packages with a simple "./scripts/feeds install" command. So I got errors for most of them saying they couldn't be found.
Which in turn is strange because I can find some of them in menuconfig under the "hidden" menu that exist if you select ffmpeg.
No matter how I googled for sources and unpacked sidplaylibs, modpluglibs, wavpacklibs (I know it's not those exact names) to what I thought was the right place, the compile errors were still the same. It couldn't find sidplay plugin, modplug plugin and wavpack and the others I enabled, when compiling. For a linux illiterate like myself even the simplest task can prove to be a huge wall to climb. For instance, I never figured out exactly where to put those packages I downloaded. To make matters worse, sidplay seems to exist in a myriad of versions, merged, unmerged, old and semi-new.
If I did apt-get install on some of the packages, they installed. But that is on the virtual machine and not in the backfire build environment, so that didn't help even though it was a small victory for me.
In the end, all I managed to enable was the "patched" version of FAAD2 for fixed-point aac support, mms and mikmod. Not sidplay, wavpack or modplug. I have since then learned that mikmod and modplug supports the same formats, so modplug might not be needed, but I have used the stand alone modplug player on my windows machine to play mods for ages and I like it, so I wanted to enable it out of nostalgia.
Is there anyone who have managed to enable sidplay in MPD makefile and got away with it? If so, please tell me. Tell it like you talked to a 3 year old kid.