Bekijk de volledige versie : How-to: Compile mt-daapd for your Roku/Pinnacle soundbridge
Note: this is a draft version. Please respond with your advice.
What I did to compile mt-daapd
Prerequisite: firmware of KCFurge installed. Updated all my packages, installed package optware-devel
Sollie mentioned he had to update buildroot:
ipkg install -force-overwrite buildroot
Download mt-daapd-svn-1586.tar.gz from http://www.fireflymediaserver.org/
Put it somewhere you can reach it within the WL-700gE. I putted mine in my home-dir.
Currently (22-1-2008) the newest one is release 1696, which I took.
telnet asus
sudo bash
It is vital to run configure as root, so sudo bash is needed.
On the command line, and in your .profile, add this:
LD_LIBRARY_PATH="/opt/lib:/shares/lib"
PATH_SEPARATOR=:
CONFIG_SHELL=/opt/bin/bash
AWK=/opt/bin/gawk
export PATH_SEPARATOR CONFIG_SHELL AWK LD_LIBRARY_PATH
Do this with joe .profile
(I love joe as editor, it has wordstar-like commands, and these still stick in my fingers from the 80īs. You may love nano or vi, or don't know what)
Run:
tar -xvzf mt-daapd-svn-xxxx.tar.gz
to 'unzip' this
cd mt*
It's needed to change the first line of configure from "#!/bin/sh" to "#!/opt/bin/bash"
Do this with joe configure
Now, try
./configure --prefix=/opt --enable-sqlite3 --enable-oggvorbis --enable-flac
You may need other --enable options, but these are for ogg/vorbis and flac support. Have a look in the configure file for more.
If it runs without errors you are as lucky as I was.
Then, give make supreme command:
make
After that make sure you have removed the old mt-daapd that you may have installed:
Maybe you like to keep your old mt-daapd.conf, do so first, but keep in mind that newer mt-daapds need newer config files.
ipkg remove mt-daapd
There might be an install-sh script for which you need to change the first line from "#!/bin/sh" to "#!/opt/bin/bash"
Now run
make install
Most likely you need to reconfigure mt-daapd.conf. There is an up-to-date template in mt-daapd-svn-9999/contrib. 9999 is your buildnumber, say 1696. Use that as a start.
To start mt-daapd at bootup, at this to your rc.local:
if [ -x /opt/sbin/mt-daapd ]; then
/opt/sbin/mt-daapd -c /opt/etc/mt-daapd/mt-daapd.conf
fi
Of course, disable the antique mt-daapd the Asus provides:
in the beginning of your rc.local:
# Sleep for a little bit to not interfere with normal system startup
# before we kill a bunch of Asus processes.
sleep 5
# Stop Asus mt-daapd
killall -q mt-daapd &
Also, disable the Media Server in the webinterface of the Asus.
If you don't let mt-daapd run as root, give the account you gave to mt-daapd the correct rights: for instance Sollie had to use this command, to have write permission:
chown guest /opt/var/mt-daapd
if you need a more extended buglevel, add -dx after the line, with x=1,2,...,9
I.E:
/opt/sbin/mt-daapd -c /opt/etc/mt-daapd/mt-daapd.conf -d5
You can reach the web interface with http://asus:3689/index.html where 'asus' is the hostname or the ip address of your NAS
To allow transcoding for flac and ogg to work, change the first line of /opt/sbin/mt-daapd-ssc.sh
to
#!/opt/bin/bash
If your ogg files produce noise only, proceed. If not, be happy.
With package ivorbis-tools (1.0-6) the ogg-files are transcoded the big-endian way, that should be the little-endian way. Result is noise.
If you have this problem, try this: download the attached oggdec.bin.zip. Unzip this and copy oggdec.bin as oggdec to /opt/bin/oggdec. It will overwrite what you got from your ivorbis-package.
Make sure it is executable:
chmod +x /opt/bin/oggdec
I only use .mp3 files. So, i can use the following command:
./configure --prefix=/opt --enable-sqlite3
Is this right?
Sollie.
I got this:
[root@Meterkast daap]$ ./configure --prefix=/opt --enable-sqlite3 --enable-oggvorbis --enable-flac
checking for a BSD-compatible install... /opt/bin/install -c
checking whether build environment is sane... yes
checking for gawk... /opt/bin/gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
Found it:
ipkg install -force-overwrite buildroot
Sollie.
I only use .mp3 files. So, i can use the following command:
./configure --prefix=/opt --enable-sqlite3
Is this right?
Sollie.
It should be. Don't know if sqlite3 is needed, Firefly can use sqlite or sqlite3, but it sounds newer, and we love new things don't we?
Greetz,
Marc
Found it:
ipkg install -force-overwrite buildroot
Sollie.
Really? I find these things confusing. Buildroot is a part of optware-devel but can be installed stand-alone. :confused:
I had this yesterday:
Tried to install uclibc. It says: conflicts with busybox. Removed busybox. Tried to install uclibc. It says: conflicts with buildroot. Removed buildroot. Tried to install uclibc. It says: can't find uclibc. Tried to install http://..../uclibc 9.8... That wanted to install files provided with uclibc-opt. Forced with overwrite. Succeeded. Install optware-devel (had done that before, didn't I). That installed a bunch of packages, including... buildroot. Gave error configuring coreutils though. And PIDOF not found.
Today no hostname. Aha, needs busybox. Installed busybox, the one that conflicts with uclibc. But it installed fine, only error with configuring coreutils again.
Now I do ipkg list_installed uclibc. Not found. Then uclibc-opt. Yes, is there!
Damn, ipkg is thinking for me.
Greets,
Marc
Read instructions at http://www.nslu2-linux.org/wiki/FAQ/Optware-uClibcBuild
opware-devel is meta-package that includes depends on many devel packages. It provides nothing than ease of instalation.
I cant get it running. i build it without errors, but there was no mt-daapd.conf. So i copied one from a firefly.ipkg. When i start it, nothing happens.
Sollie.
I cant get it running. i build it without errors, but there was no mt-daapd.conf. So i copied one from a firefly.ipkg. When i start it, nothing happens.
Sollie.
Ok, you have been bitten by the wrong .conf. There is an up-to-date template in mt-daapd-svn-1571/contrib. Use that as a start.
Hmm, I should have said so to begin with.
Good luck
Marc
Haha, mijn vriendin zegt:
waarom gaan jullie niet Nederlands praten :D.
Sollie.
Haha, mijn vriendin zegt:
waarom gaan jullie niet Nederlands praten :D.
Sollie.
Hi Sollie,
There is a special Dutch forum for 'us' Dutchies. But I choose this forum because it is international. So I will continue to talk something that looks like English. I think that's appropriate.
By the way, more on topic: I thought you would help, and now you have compiled Firefly without ogg. That Firefly serves MP3 out of the box is clear, the problem is with transcoding. That's what i need help for.
Groetjes
Marc
I am trying. My compilations didnt work. I cant find the reason. Maybe you can give me your mt-daap binary and conf file.
Sollie.
Ps: i will help to test and fix the problems.
I am trying. My compilations didnt work. I cant find the reason. Maybe you can give me your mt-daap binary and conf file.
Sollie.
Ps: i will help to test and fix the problems.
Bit difficult to do via this forum, besides my mtdaapd uses more library's than yours:
bash-3.2# ldd mt-daapd
libdl.so.0 => /opt/lib/libdl.so.0 (0x2ab05000)
libpthread.so.0 => /opt/lib/libpthread.so.0 (0x2ab47000)
libid3tag.so.0 => /opt/lib/libid3tag.so.0 (0x2aac5000)
libz.so => /opt/lib/libz.so (0x2ab9b000)
libsqlite3.so.0 => /opt/lib/libsqlite3.so.0 (0x2abbd000)
libogg.so.0 => /opt/lib/libogg.so.0 (0x2aaaa000)
libvorbis.so.0 => /opt/lib/libvorbis.so.0 (0x2ac39000)
libvorbisfile.so.3 => /opt/lib/libvorbisfile.so.3 (0x2aae7000)
libFLAC.so.8 => /opt/lib/libFLAC.so.8 (0x2ac67000)
libc.so.0 => /opt/lib/libc.so.0 (0x2acc1000)
libgcc_s.so.1 => /opt/lib/libgcc_s.so.1 (0x2ada7000)
libm.so.0 => /opt/lib/libm.so.0 (0x2adf6000)
ld-uClibc.so.0 => /opt/lib/ld-uClibc.so.0 (0x2aac0000)
You could check with ldd to what your mt-daapd needs.
Then, if you give it more logdetails met -d9
/opt/sbin/mt-daapd -c /opt/etc/mt-daapd/mt-daapd.conf -d9
you could see something meaningful in /var/log/mt-daapd.log
With ps you must see 4 instances of mt-daapd:
1449 root 4496 S /opt/sbin/mt-daapd -c /opt/etc/mt-daapd/mt-daapd.conf
1450 root 4572 S /opt/sbin/mt-daapd -c /opt/etc/mt-daapd/mt-daapd.conf
1451 root 4572 S /opt/sbin/mt-daapd -c /opt/etc/mt-daapd/mt-daapd.conf
1452 root 4572 S /opt/sbin/mt-daapd -c /opt/etc/mt-daapd/mt-daapd.conf
Let me know what you get.
Groetjes, ook aan je vriendin...
Marc
I am trying. My compilations didnt work. I cant find the reason. Maybe you can give me your mt-daap binary and conf file.
Sollie.
Ps: i will help to test and fix the problems.
Sollie, just a guess. Before I decided to compile mt-daapd, I had tried several packages. If you install one of them, it will install numerous dependent packages.
Do so, then remove mt-daapd (the dependent packages stay behind) and do make install again.
I guess that might help.
Marc
I allready did that. So, do you have another solution?
Sollie.
Sollie,
Of course, there are always more suggestions. And I will give some. But I did not see any useful info about why your version is not functioning in your opinion. No log, no ldd output, no mentioning of your command to start mt-daapd, no mentioning of your client, nothing at all. Still you are asking for help...?
Well, here is the obvious part:
Did you disable "Enable Media Server?" in the web interface. You should
Did you kill mt-daapd in rc.local? You should.
Here is waht I have in the beginning of my rc.local:
# Sleep for a little bit to not interfere with normal system startup
# before we kill a bunch of Asus processes.
sleep 5
# Stop originele Asus mt-daapd
killall -q mt-daapd &
That's it.
Maybe that does not help, but please be much more informative if that's the case.
Marc
I pm-ed you. Just cant explain myself in englisch.
Sollie.
2007-05-22 22:43:02 (00000400): Firefly Version svn-1586: Starting with debuglevel 9
2007-05-22 22:43:02 (00000400): Attempting to load plugin /opt/share/mt-daapd/plugins/out-daap.so
2007-05-22 22:43:02 (00000400): Loaded plugin /opt/share/mt-daapd/plugins/out-daap.so (daap/svn-1586)
2007-05-22 22:43:02 (00000400): New transcode codec list:
2007-05-22 22:43:02 (00000400): Attempting to load plugin /opt/share/mt-daapd/plugins/ssc-script.so
2007-05-22 22:43:02 (00000400): Loaded plugin /opt/share/mt-daapd/plugins/ssc-script.so (ssc-script/svn-1586)
2007-05-22 22:43:02 (00000400): New transcode codec list: ogg,flac,alac
2007-05-22 22:43:02 (00000400): Attempting to load plugin /opt/share/mt-daapd/plugins/rsp.so
2007-05-22 22:43:02 (00000400): Loaded plugin /opt/share/mt-daapd/plugins/rsp.so (rsp/svn-1586)
2007-05-22 22:43:02 (00000400): New transcode codec list: ogg,flac,alac
2007-05-22 22:43:02 (00000400): Plugin loaded: rsp/svn-1586
2007-05-22 22:43:02 (00000400): Plugin loaded: ssc-script/svn-1586
2007-05-22 22:43:02 (00000400): Plugin loaded: daap/svn-1586
2007-05-22 22:43:02 (00000400): Starting rendezvous daemon
2007-05-22 22:43:02 (00000400): Starting signal handler
2007-05-22 22:43:02 (00000400): Pid: 4832
2007-05-22 22:43:02 (00000400): select(10, 0.000976)
2007-05-22 22:43:02 (00000400): Opening database
2007-05-22 22:43:02 (00000400): select(10, 0.165039)
2007-05-22 22:43:02 (00000400): db_sqlite3_open: Misc SQL Error: unable to open database file (/opt/var/mt-daapd/songs3.db)
2007-05-22 22:43:02 (00000400): Results: 1
2007-05-22 22:43:02 (00000400): Error opening db: Misc SQL Error: unable to open database file
2007-05-22 22:43:02 (00000400): Processing rendezvous message
2007-05-22 22:43:02 (00000400): Stopping mDNS
2007-05-22 22:43:02 (00000400): Exiting
2007-05-22 22:43:02 (00000400): Finished with status 0, result 0
This is my logfile. Something is going wrong with the database.
I found the solution:
I had to use this command, to have write permission:
chown guest /opt/var/mt-daapd
Sollie.
This is my logfile. Something is going wrong with the database.
I found the solution:
I had to use this command, to have write permission:
chown guest /opt/var/mt-daapd
Sollie.
Wow........:) ....... congratulations!!! And I see you meanwhile have compiled the latest firefly... So you can..
I did not made a guest account. I run firefly as root, but I might try to run it as guest.
But pfff, great work.
Marc
Sollie,
As you promised to help with ogg-streaming, please have a look at this post:
http://forums.fireflymediaserver.org/viewtopic.php?p=12343&sid=44ded199015d1fabbae66eaff27cc3a5#12343
Then, please try to do this yourself. It is not so difficult.
You must use --prefix=/opt as an extra.
When I try to configure vorbis-tools it fails. Now I hope this is due to my dumb setup, and that it will run smoothly with your setup.
Please have a try and report what you get or don't get.
Good luck,
Marc
I see you fixed the problem.
Or is there anything i ahe to test.
Sollie.
Nice, also works under OpenWRT Build 7717 :-)
The only thing I don't know yet is how to make a .ipk from the compiled src.
Hi bros,
Anyone tell me why we need to compile the mt-daapd again?
Is that more features add?
~May
Hi bros,
Anyone tell me why we need to compile the mt-daapd again?
Is that more features add?
~May
a) A Roku soundbridge uses the RSP protocol, that the old Mt-daapd 2.4 does not provide.
b) There is no package for Firefly and the Asus WL-700gE
c) Transcoding ogg-files fails
d) Transcoding files with accented characters in folder or file name fails
Compiling mt-daapd solves a) to c).
An upcoming version of mt-daapd should also solve d).
Greetz,
Marc
wow... cool..
my xbmc is unable to connect to the 700ge native mt-daapd.
Do you think your compilation will fix this as well?
~May
wow... cool..
my xbmc is unable to connect to the 700ge native mt-daapd.
Do you think your compilation will fix this as well?
~May
I really don't know. The native mt-daapd is older than mt-daapd 2.4 that you can install with ipkg, so just try that one first.
As I have described how to compile the newer mt-daapd, it must be not very time consuming to try that one.
And maybe someone else knows...
Greetz,
Marc
I see in the ipkg repository here http://ipkg.nslu2-linux.org/feeds/unslung/wl500g/ that there are 2 versions of the mt-daapd, one is pretty recent. Anybody knows the differences? Or did anybody in this thread, who managed to compile, make an ipkg already?
It's still a bit unclear to me if this mt-daapd (one of the two in the rep) supports correctly the Pinnacle Soundbridge or not. I'm ready to compile as well if needed but if a package is there, much better...
Thanks
Ping
UPDATE: after some more googling, I seem to understand that even the 0.2.4-2 does not support the Pinnacle Soundbridge (but probably works with the Roku?). Anybody here can confirm?
UPDATE: after some more googling, I seem to understand that even the 0.2.4-2 does not support the Pinnacle Soundbridge (but probably works with the Roku?). Anybody here can confirm?
Roku and Pinnacle are just two brands for the same hardware, as I understand it. Maybe the Roku is US-based, and Pinnacle not?
Anyway, version 2.4 of Mt-daapd is way to old to understand the Roku protocol, whatever number you add to it.
If I knew how to make a package, I would have done that.
Marc
hi there
when i want to start i get the following error in my log file:
2007-07-19 09:01:38 (00000400): Firefly Version svn-1586: Starting with debuglevel 2
2007-07-19 09:01:38 (00000400): Plugin loaded: rsp/svn-1586
2007-07-19 09:01:38 (00000400): Plugin loaded: ssc-script/svn-1586
2007-07-19 09:01:38 (00000400): Plugin loaded: daap/svn-1586
2007-07-19 09:01:38 (00000400): Starting rendezvous daemon
2007-07-19 09:01:38 (00000400): Starting signal handler
2007-07-19 09:01:38 (00000400): Error opening db: No backend database support for type: sqlite
someone knows how to fix it?
regards
Could you also give your configfile (/opt/etc/mt-daapd/mt-daapd.conf).
Marc
I also installed gdbm and libid3tag. firefly.org mentioned it.
ipkg install gdbm
ipkg install libid3tag
Downloading Dependencies
The only things necessary to install mt-daapd is libid3tag, the library used for ID3 tag reading, and gdbm. Libid3tag is part of MAD (http://www.underbit.com/products/mad/), the MPEG Audio Decoder. GDBM will almost certainly be provided by your distribution... even if you use one as goofy as, say, Solaris. Install this package in the manner appropriate for you distribution (fink install libid3tag on Mac OSX, emerge libid3tag on gentoo, etc).
Sollie
thanks for your help, problem was solved, had some right-management problems with the sonds.db
regards
I also installed gdbm and libid3tag. firefly.org mentioned it.
ipkg install gdbm
ipkg install libid3tag
Sollie
Hi Sollie,
firefly.org? Don't you mean http://www.fireflymediaserver.org/ ?
But then still I can't find your quotes. Besides, I have both installed but I did not do that myself a far as I know.
Marc
Hi Sollie,
firefly.org? Don't you mean http://www.fireflymediaserver.org/ ?
But then still I can't find your quotes. Besides, I have both installed but I did not do that myself a far as I know.
Marc
Yeah i ment http://www.fireflymediaserver.org. I am sorry for that.
Last week i did a fresh install, so i could check the steps. When i was compiling, i got an error about missing the "libid3tag" but not about "gdbm". This one i found on there page.
After a successful compilation i could not get it running. That was becoz i run my shell as root, so i had to change the "runas' tag in the conf-file into root. That was all.
Sollie.
Archimalaka
01-08-2007, 21:35
I'm trying to replace my media server with mt-daapd.
When I try to start mt-daapd, it needs libz.so.
When I try to install this lib with ipkg, it answers that a symlink could not be created.
How to ????:confused:
Just to be sure, it is the zlib package that you are installing, right? (ipkg install zlib)
Are you running the install with root privileges?
I have decided not to wait any longer for an update of mt-daapd. I will sell or give away my Pinnacle Soundbridge, because it has no native OGG Vorbis support.
No device in my household will be allowed anymore if it does not have OGG Vorbis support.
In stead I have bought a Ziova Clearstream CS-510. That one does OGG Vorbis, but it has a very weak wireless encryption (WEP), with WPA only as a promise in the manual. Nevertheless, I will give it some credit and wait (again) for a FW-update with WPA2.
Sollie, am I right that you own a Ziova Clearstream too?
I have searched for media and music servers *a lot* and still did not find one that does this:
- Wireless WPA2
- OGG Vorbis
- music without TV
- video and photo's
- No Windows-dependancy
The Ziova at least fulfills the most and promises to fulfill all.
I found a nice site about media servers and streaming: http://www.mpcclub.com/
Marc
Yes i have the ziova Clearstream CS-505. I search for the web also for a better solution. Could not find it either.
Sollie.
PS: there is new firmware from ziova since yesterday.