FireFly Media Server › Firefly Media Server Forums › Firefly Media Server › Setup Issues › Installing Firefly on Embedded System
- This topic has 9 replies, 3 voices, and was last updated 14 years, 9 months ago by Anonymous.
-
AuthorPosts
-
02/07/2009 at 7:32 PM #2933AnonymousInactive
I’m working on installing Firefly on an embedded system that runs a custom version of Linux, so it may not have some of the packages taken for granted in other distros. I have the basic dependencies taken care of (libid3tag, sqlite3, zlib), and i ran the standard configure/make/make install with no errors on a Fedora build server (with host=mipsel-linux-uclibc) However when i try to run the file mt-daapd on the embedded board, it fails with this error: “mt-daapd: can’t load library ‘libdl.so.0′” Am i missing the library? I tried searching for libdl but found sparse information on it. Any suggestions as to what may be going wrong?
06/07/2009 at 8:55 PM #18637AnonymousInactiveha, nevermind… it seems to be a problem on my side rather than on Firefly’s.
14/07/2009 at 6:06 PM #18638AnonymousInactiveI’ve run into a small hitch when it comes to the placement of the mt-daapd.conf file. I have the file created in /home/…/etc on a build server, but when i execute the mt-daapd file on the board, it should look at /etc. It’s still looking at the absolute path where the file exists on the build server. Is there a way to change where the file looks for the mt-daapd.conf file without changing where it’s installed on the build server?
15/07/2009 at 11:46 AM #18636fizzeParticipantYes, modify the init-script accordingly.
If you cant figure that out, you can always use symlinks or even hardlinks to the file. Hardlinks only work on the same partition and type, while symlinks work across all devices.
22/07/2009 at 5:58 PM #18639AnonymousInactiveThanks! I ran into an issue with some of the paths referenced in the config file. Changing those paths fixed my problem. Sadly, that has exposed another problem. The system i am working with is a single user linux system, and trips up on the “runas”. Here’s the error i run into:
# ./mt-daapd -c /etc/mt-daapd.conf -f -d 5
Loading new config file.
Firefly Version svn-1696: Starting with debuglevel 5
Loaded plugin /lib/mt-daapd/plugins/out-daap.so (daap/svn-1696)
Loaded plugin /lib/mt-daapd/plugins/rsp.so (rsp/svn-1696)
Loaded plugin /lib/mt-daapd/plugins/ssc-script.so (ssc-script/svn-1696)
Plugin loaded: ssc-script/svn-1696
Plugin loaded: rsp/svn-1696
Plugin loaded: daap/svn-1696
Starting rendezvous daemon
Starting signal handler
Couldn't lookup user root
Error in drop_privs: No such file or directory
Aborting
I traced the error down to the function “getpwnam” in the file pwd.h in /usr/include (on ubuntu). The issue being that my system doesn’t have that file or the package it goes with. Because this is a single user system, a workaround where we simulate a multi-user system for the use of firefly is not desirable. Is there a way to remove the user lookup functionality in order to circumvent this error? Or is there another option that i am currently missing?
23/07/2009 at 1:01 PM #18642AnonymousInactivebumping thread above the spam.
23/07/2009 at 1:12 PM #18643EVILRipperParticipantTry raising your debuglevel up to level 9. The current logfile doesnt give any clue on where it goes wrong.
23/07/2009 at 1:38 PM #18644AnonymousInactiveUnfortunately, there’s not too much more from increasing the debug level. Here’s the console output:
# ./mt-daapd -c /etc/mt-daapd.conf -f -d 9
Loading config file /etc/mt-daapd.conf
Opening file:///etc/mt-daapd.conf?ascii=1
Checking handler for file
opening /etc/mt-daapd.conf
Config file open
Got general/web_root, convert to general/web_root (/share/mt-daapd/admin-root)
Found existing section
Got general/port, convert to general/port (3689)
Found existing section
Got general/admin_pw, convert to general/admin_pw (mt-daapd)
Found existing section
Got general/db_type, convert to general/db_type (sqlite)
Found existing section
Got general/db_parms, convert to general/db_parms (/var/cache/mt-daapd)
Found existing section
Got general/mp3_dir, convert to general/mp3_dir (/home/bridgea)
Found existing section
Found 1 tokens in /home/bridgea
Token 1: /home/bridgea
Got general/servername, convert to general/servername (Firefly %v on %h)
Found existing section
Got general/runas, convert to general/runas (root)
Found existing section
Got general/extensions, convert to general/extensions (.mp3,.m4a,.m4p)
Found existing section
Got general/ssc_codectypes, convert to general/ssc_codectypes (ogg,flac,alac)
Found existing section
Got general/ssc_prog, convert to general/ssc_prog (/bin/mt-daapd-ssc.sh)
Found existing section
Got general/logfile, convert to general/logfile (/var/log/mt-daapd.log)
Found existing section
Expanding precomments to 2048
Got general/scan_type, convert to general/scan_type (2)
Found existing section
Got plugins/plugin_dir, convert to plugins/plugin_dir (/lib/mt-daapd/plugins)
Found existing section
Got scanning/process_playlists, convert to scanning/process_playlists (1)
Found existing section
Got scanning/process_itunes, convert to scanning/process_itunes (1)
Found existing section
Got scanning/process_m3u, convert to scanning/process_m3u (1)
Found existing section
Checking existence of /share/mt-daapd/admin-root
Checking existence of /share/mt-daapd/admin-root
Checking existence of /var/cache/mt-daapd
Checking existence of /var/cache/mt-daapd
Checking existence of /lib/mt-daapd/plugins
Checking existence of /lib/mt-daapd/plugins
Loading new config file.
Opening file:///var/log/mt-daapd.log?mode=a&ascii=1
Checking handler for file
opening /var/log/mt-daapd.log
Firefly Version svn-1696: Starting with debuglevel 9
Attempting to load plugin /lib/mt-daapd/plugins/out-daap.so
Loaded plugin /lib/mt-daapd/plugins/out-daap.so (daap/svn-1696)
New transcode codec list:
Attempting to load plugin /lib/mt-daapd/plugins/rsp.so
Loaded plugin /lib/mt-daapd/plugins/rsp.so (rsp/svn-1696)
New transcode codec list:
Attempting to load plugin /lib/mt-daapd/plugins/ssc-script.so
Loaded plugin /lib/mt-daapd/plugins/ssc-script.so (ssc-script/svn-1696)
New transcode codec list: ogg,flac,alac
Plugin loaded: ssc-script/svn-1696
Plugin loaded: rsp/svn-1696
Plugin loaded: daap/svn-1696
Starting rendezvous daemon
Starting signal handler
Couldn't lookup user root
Error in drop_privs: No such file or directory
Aborting
# Couldn't lookup user root
The log file gives no more information:
cat /var/log/mt-daapd.log
1970-01-01 00:47:42 (00000400): Firefly Version svn-1696: Starting with debuglevel 9
1970-01-01 00:47:42 (00000400): Attempting to load plugin /lib/mt-daapd/plugins/out-daap.so
1970-01-01 00:47:42 (00000400): Loaded plugin /lib/mt-daapd/plugins/out-daap.so (daap/svn-1696)
1970-01-01 00:47:42 (00000400): New transcode codec list:
1970-01-01 00:47:42 (00000400): Attempting to load plugin /lib/mt-daapd/plugins/rsp.so
1970-01-01 00:47:42 (00000400): Loaded plugin /lib/mt-daapd/plugins/rsp.so (rsp/svn-1696)
1970-01-01 00:47:42 (00000400): New transcode codec list:
1970-01-01 00:47:42 (00000400): Attempting to load plugin /lib/mt-daapd/plugins/ssc-script.so
1970-01-01 00:47:42 (00000400): Loaded plugin /lib/mt-daapd/plugins/ssc-script.so (ssc-script/svn-1696)
1970-01-01 00:47:42 (00000400): New transcode codec list: ogg,flac,alac
1970-01-01 00:47:42 (00000400): Plugin loaded: ssc-script/svn-1696
1970-01-01 00:47:42 (00000400): Plugin loaded: rsp/svn-1696
1970-01-01 00:47:42 (00000400): Plugin loaded: daap/svn-1696
1970-01-01 00:47:42 (00000400): Starting rendezvous daemon
1970-01-01 00:47:42 (00000400): Starting signal handler
1970-01-01 00:47:42 (00000400): Error in drop_privs: No such file or directory
1970-01-01 00:47:42: Aborting
#
24/07/2009 at 9:14 AM #18641EVILRipperParticipantRight, sorry, should have searched before.
viewtopic.php?f=3&t=6439&start=0
viewtopic.php?f=3&t=4583&start=0I found these 2 topics with the same error. The problem is your run_as user in your config file.
It looks like you’re running as root? Baaad idea. I suggest you use the daemon to run mt-daapd: /etc/init.d/mt-daapd start
This way the run_as user from the config will be used for sure.Next you need to make sure is you’re running mt-daapd as “nobody”.
Yes, nobody. So you need to make sure all music files can be read by anybody.24/07/2009 at 1:35 PM #18640AnonymousInactiveThanks for the links to those topics… I had seen those before, but there is a slight difference between their cases and mine. They both have the line
Aug 25 15:01:07 server mt-daapd[28298]: Error in drop_privs: Success
whereas mine says
Error in drop_privs: No such file or directory
. I have tried with the “runas” set as nobody, root, and 0, all with no change to the message (besides the username reflecting the current runas setting). I am using the tarball for svn-1696, and am using the standard configure;make;make install method with a specific host and a prefix to install the package on my embedded system. However, there is no directory /etc/init.d on the board let alone a daemon in there. it also doesn’t exist in that directory on the build server either. My current theory on what is going on is that during the compile, the compiler recognizes certain basic files and packages that are on the build server (fedora 8 ) by default such as /usr/include/pwd.h, but in order to run on the board, i create an image of a small part of the file system, thus removing all these necessary files and packages and causing this runtime error. If that theory is correct, the next step i need to take is to try to disable or modify the functionality that relies on these files and packages. So, i’m currently looking for any information on runas user to see if i can modify the source so that i don’t have to install all these extra files and packages.
EDIT: Actually, i don’t know if this exists or anything, but a list of core linux utilities that firefly uses would be amazing!
-
AuthorPosts
- The forum ‘Setup Issues’ is closed to new topics and replies.