FireFly Media Server › Firefly Media Server Forums › Firefly Media Server › Nightlies Feedback › problem cross-compiling firefly with flac support
- This topic has 4 replies, 2 voices, and was last updated 17 years, 5 months ago by ischg.
-
AuthorPosts
-
10/07/2007 at 4:12 AM #1545ischgParticipant
I just succeeded in cross-compiling firefly svn 1586 for a dlink dns-323 (a NAS with an arm processor). While I’m not quite sure whether I can actually use the NAS to transcode flac in real-time, I’m still willing to give it a try 😉
At this point, everything runs without the –enable-flac flag. If I include flac, I can compile everything, but once I launch firefly, I get the following:
/mnt/HD_a2 # mt-daapd -f -d 9 -c /mnt/HD_a2/lnx_bin/etc/mt-daapd.conf
Got general/web_root, convert to general/web_root (/mnt/HD_a2/lnx_bin/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 (sqlite3)
Found existing section
Got general/db_parms, convert to general/db_parms (/mnt/HD_a2/lnx_bin/mt-daapd/cache)
Found existing section
Got general/mp3_dir, convert to general/mp3_dir (/mnt/HD_a2/shared/Mp3test)
Found existing section
Found 1 tokens in /mnt/HD_a2/shared/Mp3test
Token 1: /mnt/HD_a2/shared/Mp3test
Got general/servername, convert to general/servername (DNS-323 Firefly %v on %h)
Found existing section
Got general/runas, convert to general/runas (root)
Found existing section
Got general/playlist, convert to general/playlist (/mnt/HD_a2/lnx_bin/mt-daapd/cache/mt-daapd.playlist)
Found existing section
Got general/extensions, convert to general/extensions (.mp3,.m4a,.m4p,.ogg,.flac)
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 (/mnt/HD_a2/lnx_bin/bin/mt-daapd-ssc.sh)
Found existing section
Got general/logfile, convert to general/logfile (/mnt/HD_a2/lnx_bin/log/mt-daapd.log)
Found existing section
Expanding precomments to 2048
Expanding precomments to 4096
Got general/scan_type, convert to general/scan_type (2)
Found existing section
Got plugins/plugin_dir, convert to plugins/plugin_dir (/mnt/HD_a2/lnx_bin/mt-daapd/plugins)
Found existing section
Checking existence of /mnt/HD_a2/lnx_bin/mt-daapd/admin-root
Checking existence of /mnt/HD_a2/lnx_bin/mt-daapd/admin-root
Checking existence of /mnt/HD_a2/lnx_bin/mt-daapd/cache
Checking existence of /mnt/HD_a2/lnx_bin/mt-daapd/cache
Checking existence of /mnt/HD_a2/lnx_bin/mt-daapd/plugins
Checking existence of /mnt/HD_a2/lnx_bin/mt-daapd/plugins
Loading new config file.
Firefly Version svn-1586: Starting with debuglevel 9
Attempting to load plugin /mnt/HD_a2/lnx_bin/mt-daapd/plugins/out-daap.so
R_ARM_PC24: Compile shared libraries with -fPIC!
In my clumsy efforts, I’m pretty sure I used -fPIC. Specifically, I configured flac with
./configure --prefix=/opt/dns323/firefly/build/lnx_bin --host=arm-linux-uclibc --with-pic --with-ogg=/opt/dns323/firefly/build/lnx_bin --disable-rpath LDFLAGS=-L/opt/dns323/firefly/build/lnx_bin/lib CPPFLAGS=-I/opt/dns323/firefly/build/lnx_bin/include CFLAGS=-Os -mtune=arm9e -march=armv5te -fPIC -DPIC
and firefly with
export ac_cv_func_setpgrp_void=no
./configure --prefix=/ --sbindir=/bin --target=arm-linux-uclibc --host=arm-linux-uclibc --datadir=/ --build=i386-pc-linux-gnu --enable-sqlite3 --enable-oggvorbis --enable-flac --with-gnu-ld --with-sqlite-includes=/opt/dns323/firefly/build/lnx_bin/include --with-sqlite-libs=/mnt/HD_a2/lnx_bin/lib --with-id3tag=/opt/dns323/firefly/build/lnx_bin CFLAGS=-Os -mtune=arm9e -march=armv5te -fPIC -DPIC CPPFLAGS=-DSETPGRP_VOIDAs mentioned above, once I drop –enable-flac, everything works.
I’m pretty sure that my configuration has ample room for mistakes. Any hints/pointers? Thanks a lot!
10/07/2007 at 5:04 AM #11634ischgParticipantpartial success …
I just upgraded from flac-1.1.2 to flac-1.1.4 and now firefly reads the plugin correctly. I actually see the flac file on my SB.
However, I still can’t play it: firefly fails withSession 0: Streaming file 'frog.flac' to 192.168.1.69 (offset 0)
Illegal instruction
wavstreamer: Can't read wav header.
10/07/2007 at 6:02 PM #11635rpeddeParticipant@ischg wrote:
partial success …
I just upgraded from flac-1.1.2 to flac-1.1.4 and now firefly reads the plugin correctly. I actually see the flac file on my SB.
However, I still can’t play it: firefly fails withSession 0: Streaming file 'frog.flac' to 192.168.1.69 (offset 0)
Illegal instruction
wavstreamer: Can't read wav header.
Is the illegal instruction coming from flac or mt-daapd?
I think probably flac. See if you can transcode a file by hand to wav using flac. I thik that’s probably your question.
— Ron
10/07/2007 at 9:19 PM #11636ischgParticipant@rpedde wrote:
Is the illegal instruction coming from flac or mt-daapd?
I think probably flac. See if you can transcode a file by hand to wav using flac.Ron, you’re absolutely right: flac is the problem. I just ran the transcode manually and got
/mnt/HD_a2/shared/Mp3test # flac --silent --decode --stdout frog.flac
Illegal instructionI guess it’s back to cross compiling flac … thanks for your insight!
Regard,
-Ingmar11/07/2007 at 12:28 AM #11637ischgParticipantWell, I’ve played around with my configuration options, but to no avail. Is there any log file where I can get more detailed information on where the illegal instruction occurred?
At this point, I’m not sure whether it’s some mismatch in architecture. The toolchain I use already came with CFLAGS given as
-Os -mtune=arm9e -march=armv5te
which should match the arm processor. I found the following in dmesg:
CPU: ARM926EJ-Sid(wb) [41069260] revision 0 (ARMv5TEJ)
also, /proc/cpuinfo gives the following
/mnt/HD_a2 # cat /proc/cpuinfo
Processor : ARM926EJ-Sid(wb) rev 0 (v5l)
BogoMIPS : 331.77
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 0
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format C
Cache format : Harvard
I size : 32768
I assoc : 1
I line length : 32
I sets : 1024
D size : 32768
D assoc : 1
D line length : 32
D sets : 1024
Hardware : MV-88fxx81
Revision : 0000
Serial : 0000000000000000Thanks for all your help!
-
AuthorPosts
- The forum ‘Nightlies Feedback’ is closed to new topics and replies.