Reply To: Build firefly nightly on WL-500g

#8869
gusdesigns
Participant

Hi Ron,

First feedback:


ipkg install http://ipkg.fireflymediaserver.org/wl500g/mt-daapd_svn-1529-1wl500_mipsel.ipk


ERROR: Cannot satisfy the following dependencies for mt-daapd:
libogg libvorbis libvorbis libogg libvorbisidec sqlite2 readline sqlite

So I missed some dependancies, no problem 😉

During the installation, I got the following message:


chown: unknown user name: guest
chown: unknown user name: guest

After installation (and off course adapting the config file) I tried to start the server.

For some strange reason, If I execute the daemon, this only takes 2 processes and the server is not up and running (cannot see server in itunes/soundbridge/web interface). I guess it has something to do with the authorizations for the user guest.

However, if I remove the songs.db and start it with the command

/opt/sbin/mt-daapd -c /opt/etc/mt-daapd/mt-daapd.conf -f

the server was up & running (although in the foreground) and I could connect to it from iTunes and from my SB.

I again removed the songs.db and started the daemon, and this was the log.


2007-04-12 08:58:15 (00000400): Firefly Version svn-1529: Starting with debuglevel 7
2007-04-12 08:58:15 (00000400): Loaded plugin /opt/share/mt-daapd/plugins/rsp.so (rsp/svn-1529)
2007-04-12 08:58:15 (00000400): Loaded plugin /opt/share/mt-daapd/plugins/out-daap.so (daap/svn-1529)
2007-04-12 08:58:15 (00000400): Loaded plugin /opt/share/mt-daapd/plugins/ssc-script.so (ssc-script/svn-1529)
2007-04-12 08:58:15 (00000400): Plugin loaded: ssc-script/svn-1529
2007-04-12 08:58:15 (00000400): Plugin loaded: daap/svn-1529
2007-04-12 08:58:15 (00000400): Plugin loaded: rsp/svn-1529
2007-04-12 08:58:15 (00000400): Starting rendezvous daemon
2007-04-12 08:58:15 (00000400): Starting signal handler
2007-04-12 09:00:20 (00000400): Error: enum_begin failed (error 1): Misc SQL Error: no such table: config
2007-04-12 09:00:20 (00000400): Can't get db version. New database?
2007-04-12 09:00:20 (00000400): Initializing database
2007-04-12 09:00:20 (00000400): Error: enum_begin failed (error 1): ?
2007-04-12 09:00:20 (00000400): Error: enum_begin failed (error 1): ?
2007-04-12 09:00:20 (00000400): Full reload...
2007-04-12 09:00:20 (00000400): Starting mp3 scan
<<< Here the scanning takes all my MP3's >>>
2007-04-12 09:07:25 (00000400): Starting playlist scan
2007-04-12 09:07:26 (00000400): Updating playlists
2007-04-12 09:07:33 (00000400): Scanned 5749 songs in 433 seconds
2007-04-12 09:07:33 (00000400): Starting web server from /opt/share/mt-daapd/admin-root on port 3689
2007-04-12 09:07:33 (00000400): Listening on port 3689
2007-04-12 09:07:34 (00000400): Starting server thread

If I then try to access the webinterface, I get the following items in my log


2007-04-12 09:08:05 (00000803): Read error: Is a directory
2007-04-12 09:11:36 (00000803): Thread 0: could not read: Connection reset by peer
2007-04-12 09:11:36 (00000c04): Read error: Is a directory

Can it also have something to do with the admin user (oleg’s firmware has no root user, only admin to my understanding)?

If I then kill the server and restart it, it keeps on hanging on the “initializing database” step:


2007-04-12 09:14:27 (00000400): Firefly Version svn-1529: Starting with debuglevel 7
2007-04-12 09:14:27 (00000400): Loaded plugin /opt/share/mt-daapd/plugins/rsp.so (rsp/svn-1529)
2007-04-12 09:14:27 (00000400): Loaded plugin /opt/share/mt-daapd/plugins/out-daap.so (daap/svn-1529)
2007-04-12 09:14:27 (00000400): Loaded plugin /opt/share/mt-daapd/plugins/ssc-script.so (ssc-script/svn-1529)
2007-04-12 09:14:27 (00000400): Plugin loaded: ssc-script/svn-1529
2007-04-12 09:14:27 (00000400): Plugin loaded: daap/svn-1529
2007-04-12 09:14:27 (00000400): Plugin loaded: rsp/svn-1529
2007-04-12 09:14:27 (00000400): Starting rendezvous daemon
2007-04-12 09:14:27 (00000400): Starting signal handler
2007-04-12 09:14:27 (00000400): Initializing database

The Oleg firmware has by default (imo) only a “admin” account. I changed this in the config file (the runas parameter) but this didn’t help.

I guess it has something to do with authorizations (on the songs.db) ???

Any idea?

edit around 4 AM:
not true anymore, now it just passed the init db step, but I again have the problem with the “Read error: Is a directory”. So the same problem as Aborigine had, earlier this thread. Then you thought it was due to an old config file.

This is mine:


# $Id: mt-daapd.conf,v 1.3 2005/02/15 03:35:19 rpedde Exp $
#
# This is the mt-daapd config file.
#
# If you have problems or questions with the format of this file,
# direct your questions to [email protected].

#
# You can also check the website at http://mt-daapd.sourceforge.net,
# as there is a growing documentation library there, peer-supported
# forums and possibly more.
#

[general]

#
# web_root (required)
#
# Location of the admin web pages. If you installed from
# ipk, this is correct
#

web_root = /opt/share/mt-daapd/admin-root

#
# port (required)
#
# What port to listen on. It is possible to use a different
# port, but this is the default iTunes port
#

port = 3689

#
# admin_pw (required)
#
# This is the password to the administrative pages
#
# YOU SHOULD PROBABLY CHANGE THIS
#

admin_pw = d0dgethis

#
# db_dir (depricated)
#
# This is where mt-daapd stores its database of song information.
#
# If you installed this from .ipk, this is correct
#


#db_dir /opt/var/mt-daapd

#
# db_type/db_parms
#
# This specifies what kind of database you want, and where
# it should be kept. Valid db_types depend on what databases are
# compiled in, but can include "sqlite" and "sqlite3".
#
# db_parms is the parameters for that database backend. For sqlite and
# sqlite3, these parameters are the path to the database.
#

db_type = sqlite
db_parms = /opt/var/mt-daapd

#
# mp3_dir (required)
#
# Location of the mp3 files to share. This corresponds
# to a folder called "mp3" in the "DISK 1" share.
#

mp3_dir = /opt/share/mp3

#
# servername
#
# This is both the name of the server as advertised
# via rendezvous, and the name of the database
# exported via DAAP
#
# defaults to the hostname if not set
#

servername = gMusic

#
# runas (required)
#
# This is the user to drop privs to if running as
# root. If mt-daapd is not started as root, this
# configuration option is ignored. Notice that this
# must be specified whether the server is running

# as root or not.
#
# If you have not messed with permissions from
# the console, then this should work correctly
# without any strange chmods or anything.
#

runas = admin

#
# playlist (optional)
#
# This is the location of a playlist file.
# This is for Apple-style "Smart Playlists"
# See the mt-daapd.playlist file in the
# contrib directory for syntax and examples
#
# This doesn't control static playlists... these
# are controlled with the "process_m3u" directive
# below.
#

playlist = /opt/etc/mt-daapd/mt-daapd.playlist

#
# password (optional)
#
# This is the password required to listen to MP3 files
# i.e. the password that iTunes prompts for
#

#password=mp3

#
# extensions (optional)
#
# These are the file extensions that the daap server will
# try to index and serve. By default, it only indexes and
# serves .mp3 files. It can also server .m4a and .m4p files,
# and just about any other files, really. Unfortunately, while
# it can *attempt* to serve other files (.ogg?), iTunes won't
# play them. Perhaps this would be useful on Linux with
# Rhythmbox, once it understands daap. (hurry up!)
#


extensions = .mp3,.m4a,.m4p,.ogg,.flac

#
# ssc_extensions (optional)
#
# List of file extensions belonging to the files daap server
# performs internal format conversion and present to clients
# as WAV files. Extensions must also be present in 'extensions'
# configuration value, or files are not probed in the first
# place.
#

ssc_codectypes = ogg,flac,alac

#
# ssc_prog (optional)
#
# Program that is used in server side format conversion.
# Program must accept following command line syntax:
# ssc_prog filename offset
# Parameter filename is the real name of the file that is
# to be converted and streamed, offset is number of bytes
# that are skipped from the beginning of the _output_ file
# before streaming is started. The resulting wav file (or
# rest of the file after initial seek) is written to the
# standard output by the ssc_prog program. This is typically
# a script that is a front end for different conversion tools
# handling different formats.
#

ssc_prog = /opt/sbin/mt-daapd-ssc.sh

#
# logfile (optional)
#
# This is the file to log to. If this is not configured,
# then it will log to the syslog.
#
# Not that the -d switch will control the log verbosity.
# By default, it runs at log level 1. Log level 9 will churn
# out scads of useless debugging information. Values in between
# will vary the amount of logging you get.
#


logfile = /var/log/mt-daapd.log

#
# art_filename (optional)
#
# There is experimental support thanks to Hiren Joshi
# ([email protected]) for dynamically adding art to the id3v2
# header as it is streamed (!!). If you were using a music system
# like zina or andromeda, for example, with cover art called
# "_folderOpenImage.jpg", you could use the parameter
# art_file _folderOpenImage.jpg and if the file _folderOpenImage.jpg
# was located in the same folder as the .mp3 file, it would appear
# in iTunes. Cool, eh?
#

#art_filename = _folderOpenImage.jpg

#
# rescan_interval
#
# How often to check the file system to see if any mp3 files
# have been added or removed.
#
# if not specified, the default is 0, which disables background scanning.
#
# If background rescanning is disabled, a scan can still be forced from the
# "status" page of the administrative web interface
#
# Setting a rescan_interval lower than the time it takes to rescan
# won't hurt anything, it will just waste CPU, and make connect times
# to the daap server longer.
#

# We'll set it to 10 minutes
#
rescan_interval = 0

# always_scan
#
# The default behavior is not not do background rescans of the
# filesystem unless there are clients connected. The thought is to
# allow the drives to spin down unless they are in use. This might be
# of more importance in IDE drives that aren't designed to be run

# 24x7. Forcing a scan through the web interface will always work
# though, even if no users are connected.

always_scan = 0

#
# process_m3u
#
# By default m3u processing is turned off, since most m3u files
# sitting around in peoples mp3 directories have bad paths, and
# I hear about it. :)
#
# If you are sure your m3u files have good paths (i.e. unixly pathed,
# with relative paths relative to the directory the m3u is in), then
# you can turn on m3u processing by setting this directive to 1.
#
# I'm not sure "unixly" is a word, but you get the idea.
#

#process_m3u = 0

#
# scan_type
#
#
# This sets how aggressively mp3 files should be scanned to determine
# file length. There are three values:
#
# 0 (Normal)
# Just scan the first mp3 frame to try and calculate size. This will
# be accurate for most files, but VBR files without an Xing tag will
# probably have wildly inaccurate file times. This is the default.
#
# 1 (Aggressive)
# This checks the bitrates of 10 frames in the middle of the song.
# This will still be inaccurate for VBR files without an Xing tag,
# but they probably won't be quite as inaccurate as 0. This takes
# more time, obviously, although the time hit will only happen the
# first time you scan a particular file.
#
# 2 (Painfully aggressive)
# This walks through the entire song, counting the number of frames.
# This should result in accurate song times, but will take the most
# time. Again, this will only have to be incurred the first time
# the file is indexed.
#

# scan_type = 0

#
# compress
#
# Whether to use gzip content-encoding when transferring playlists etc.
# This was contributed as a patch by Ciamac Moallemi just prior to the 0.2.1
# release, and as such, hasn't gotten as much testing as other features.
#
# This feature should substantially speed up transfers of large databases
# and playlists, at least where bandwidth is limited.
#
# It will eventually default to 1, but currently it defaults to 0.
#
# DONT EVEN THINK OF ENABLING THIS ON THE SLUG. IT WILL
# DEGRADE PERFORMANCE MASSIVELY. It might even trigger the
# OOM killer, so just pretend this option isn't here.
#
# In fact, it's only here for the sake of completeness.

# compress = 0

[plugins]
plugin_dir = /opt/share/mt-daapd/plugins
plugins = rsp.so,ssc-script.so

To me, this seems to be okay.

However, I cannot access the webpages, nor the server, although the 4 processes are running.

To my opinion something to do with authorizations/executing user (as in foreground + creating new database makes firefly work perfectly), but not such a big specialist…

___________________________________