I use the raop_play alsa driver to stream my flac files to my Benchmark DAC1. It usually works extremely well -- as well as any CD transport! However I've just upgraded to the new development kernel from Hardy "2.6.24-11-generic", and I can no longer load the driver. [Edit: I'm using the 64bit Ubuntu, in case that's important]
raop_play -- including the essential alsa driver -- compiled and installed after applying the patch to the latest 0.5.1 release.
When I try to load the driver I get this:
$ sudo sh driver_start
FATAL: Error inserting alsa_raoppcm (/lib/modules/2.6.24-11-generic/sound/alsa_raoppcm.ko): Unknown symbol in module, or unknown parameter (see dmesg)
mknod: missing operand after `0'
Try `mknod --help' for more information.
here's the dmesg:
Code:
$ dmesg | grep alsa
[ 322.098948] alsa_raoppcm: disagrees about version of symbol snd_pcm_new
[ 322.098950] alsa_raoppcm: Unknown symbol snd_pcm_new
[ 322.098994] alsa_raoppcm: disagrees about version of symbol snd_pcm_lib_preallocate_pages_for_all
[ 322.098995] alsa_raoppcm: Unknown symbol snd_pcm_lib_preallocate_pages_for_all
[ 322.099029] alsa_raoppcm: disagrees about version of symbol snd_pcm_lib_malloc_pages
[ 322.099030] alsa_raoppcm: Unknown symbol snd_pcm_lib_malloc_pages
[ 322.099043] alsa_raoppcm: disagrees about version of symbol snd_pcm_lib_ioctl
[ 322.099043] alsa_raoppcm: Unknown symbol snd_pcm_lib_ioctl
[ 322.099057] alsa_raoppcm: disagrees about version of symbol snd_pcm_lib_free_pages
[ 322.099058] alsa_raoppcm: Unknown symbol snd_pcm_lib_free_pages
[ 322.099071] alsa_raoppcm: disagrees about version of symbol snd_pcm_set_ops
[ 322.099072] alsa_raoppcm: Unknown symbol snd_pcm_set_ops
[ 322.099086] alsa_raoppcm: disagrees about version of symbol snd_pcm_period_elapsed
[ 322.099087] alsa_raoppcm: Unknown symbol snd_pcm_period_elapsed
[ 721.923178] alsa_raoppcm: disagrees about version of symbol snd_pcm_new
[ 721.923181] alsa_raoppcm: Unknown symbol snd_pcm_new
[ 721.923224] alsa_raoppcm: disagrees about version of symbol snd_pcm_lib_preallocate_pages_for_all
[ 721.923225] alsa_raoppcm: Unknown symbol snd_pcm_lib_preallocate_pages_for_all
[ 721.923259] alsa_raoppcm: disagrees about version of symbol snd_pcm_lib_malloc_pages
[ 721.923260] alsa_raoppcm: Unknown symbol snd_pcm_lib_malloc_pages
[ 721.923273] alsa_raoppcm: disagrees about version of symbol snd_pcm_lib_ioctl
[ 721.923274] alsa_raoppcm: Unknown symbol snd_pcm_lib_ioctl
[ 721.923287] alsa_raoppcm: disagrees about version of symbol snd_pcm_lib_free_pages
[ 721.923288] alsa_raoppcm: Unknown symbol snd_pcm_lib_free_pages
[ 721.923301] alsa_raoppcm: disagrees about version of symbol snd_pcm_set_ops
[ 721.923302] alsa_raoppcm: Unknown symbol snd_pcm_set_ops
[ 721.923316] alsa_raoppcm: disagrees about version of symbol snd_pcm_period_elapsed
[ 721.923317] alsa_raoppcm: Unknown symbol snd_pcm_period_elapsed
And here's all the output from the compile/install:
Code:
$ make
for i in rendezvous raop_play aexcl; do make -C $i; done
make[1]: Entering directory `/home/simon/Desktop/raop_play-0.5.1/rendezvous'
gcc -Wall -DNOT_HAVE_SA_LEN -c -o mDNSPosix.o mDNSPosix.c
gcc -Wall -DNOT_HAVE_SA_LEN -c -o mDNSUNP.o mDNSUNP.c
gcc -Wall -DNOT_HAVE_SA_LEN -c -o ExampleClientApp.o ExampleClientApp.c
gcc -Wall -DNOT_HAVE_SA_LEN -c -o mDNS.o mDNS.c
gcc -Wall -DNOT_HAVE_SA_LEN -c -o Client.o Client.c
Client.c: In function 'main':
Client.c:333: warning: format '%ld' expects type 'long int', but argument 4 has type 'mStatus'
gcc mDNSPosix.o mDNSUNP.o ExampleClientApp.o mDNS.o Client.o -o mDNSClient
make[1]: Leaving directory `/home/simon/Desktop/raop_play-0.5.1/rendezvous'
make[1]: Entering directory `/home/simon/Desktop/raop_play-0.5.1/raop_play'
gcc -Wall -c raop_play.c -o raop_play.o
gcc -Wall -c raop_client.c -o raop_client.o
gcc -Wall -c rtsp_client.c -o rtsp_client.o
gcc -Wall -c aexcl_lib.c -o aexcl_lib.o
gcc -Wall -c base64.c -o base64.o
gcc -Wall -c aes.c -o aes.o
gcc -Wall -c m4a_stream.c -o m4a_stream.o
gcc -Wall -c audio_stream.c -o audio_stream.o
gcc -Wall -c wav_stream.c -o wav_stream.o
gcc -Wall -c mp3_stream.c -o mp3_stream.o
gcc -Wall -c flac_stream.c -o flac_stream.o
gcc -Wall -c ogg_stream.c -o ogg_stream.o
gcc -Wall -c aac_stream.c -o aac_stream.o
gcc -Wall -c pls_stream.c -o pls_stream.o
gcc -Wall -c pcm_stream.c -o pcm_stream.o
gcc -o raop_play -lssl -lsamplerate -lid3tag raop_play.o raop_client.o rtsp_client.o aexcl_lib.o base64.o aes.o m4a_stream.o audio_stream.o wav_stream.o mp3_stream.o flac_stream.o ogg_stream.o aac_stream.o pls_stream.o pcm_stream.o
make[1]: Leaving directory `/home/simon/Desktop/raop_play-0.5.1/raop_play'
make[1]: Entering directory `/home/simon/Desktop/raop_play-0.5.1/aexcl'
fluid -c aexcl_gui.fl
g++ -Wall -D_GNU_SOURCE -I../raop_play -I../rendezvous -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -c aexcl_gui.cxx
g++ -Wall -D_GNU_SOURCE -I../raop_play -I../rendezvous -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -c aexcl_play.cxx
aexcl_play.cxx: In function 'int play_next_song()':
aexcl_play.cxx:154: warning: deprecated conversion from string constant to 'char*'
aexcl_play.cxx: In function 'int aex_contplay()':
aexcl_play.cxx:311: warning: deprecated conversion from string constant to 'char*'
aexcl_play.cxx: In function 'int aex_pause()':
aexcl_play.cxx:341: warning: deprecated conversion from string constant to 'char*'
aexcl_play.cxx: In function 'int main(int, char**)':
aexcl_play.cxx:436: warning: deprecated conversion from string constant to 'char*'
aexcl_play.cxx:436: warning: deprecated conversion from string constant to 'char*'
aexcl_play.cxx:436: warning: deprecated conversion from string constant to 'char*'
aexcl_play.cxx:437: warning: deprecated conversion from string constant to 'char*'
g++ -Wall -D_GNU_SOURCE -I../raop_play -I../rendezvous -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -c ipod_browser.cxx
gcc -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I../raop_play -DGLIB_SUBST -c ipod/itunesdb.c -o ipod/itunesdb.o
gcc -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I../raop_play -DGLIB_SUBST -c -o ipod/glibsubst.o ipod/glibsubst.c
g++ -o aexcl_play aexcl_gui.o aexcl_play.o ipod_browser.o ../raop_play/aexcl_lib.o ipod/itunesdb.o ipod/glibsubst.o -lfltk
rm aexcl_gui.cxx
make[1]: Leaving directory `/home/simon/Desktop/raop_play-0.5.1/aexcl'
$ sudo make install
for i in rendezvous raop_play aexcl; do make -C $i install; done
make[1]: Entering directory `/home/simon/Desktop/raop_play-0.5.1/rendezvous'
/bin/bash ../mkinstalldirs /usr/local/bin/
install -s mDNSClient /usr/local/bin
make[1]: Leaving directory `/home/simon/Desktop/raop_play-0.5.1/rendezvous'
make[1]: Entering directory `/home/simon/Desktop/raop_play-0.5.1/raop_play'
/bin/bash ../mkinstalldirs /usr/local/bin/
install -s raop_play /usr/local/bin
make[1]: Leaving directory `/home/simon/Desktop/raop_play-0.5.1/raop_play'
make[1]: Entering directory `/home/simon/Desktop/raop_play-0.5.1/aexcl'
/bin/bash ../mkinstalldirs /usr/local/bin/
install -s aexcl_play /usr/local/bin
make[1]: Leaving directory `/home/simon/Desktop/raop_play-0.5.1/aexcl'
And now the alsa driver:
$ make
make -C /lib/modules/2.6.24-11-generic/build SUBDIRS=/home/simon/Desktop/raop_play-0.5.1/drivers modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.24-11-generic'
Building modules, stage 2.
MODPOST 1 modules
make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-11-generic'
simon@aristurtle:~/Desktop/raop_play-0.5.1/drivers$ sudo make install
install -d /lib/modules/2.6.24-11-generic/sound
cp -f alsa_raoppcm.ko /lib/modules/2.6.24-11-generic/sound || exit 1
strip -g /lib/modules/2.6.24-11-generic/sound/alsa_raoppcm.ko || exit 1
depmod
simon@aristurtle:~/Desktop/raop_play-0.5.1/drivers$
In case it's relevant, here are the kernel related packages I have installed:
Code:
$ apt-cache search 2.6.24
linux-image-2.6.24-11-generic - Linux kernel image for version 2.6.24 on x86/x86_64
linux-restricted-modules-2.6.24-8-generic - Non-free Linux 2.6.24 modules on x86/x86_64
linux-restricted-modules-common - Non-free Linux 2.6.24 modules helper script
linux-source-2.6.24 - Linux kernel source for version 2.6.24 with Ubuntu patches
linux-restricted-modules-2.6.24-11-generic - Non-free Linux 2.6.24 modules on x86/x86_64
linux-ubuntu-modules-2.6.24-11-generic - Ubuntu supplied Linux modules for version 2.6.24 on x86/x86_64
linux-headers-2.6.24-11-generic - Linux kernel headers for version 2.6.24 on x86/x86_64
linux-image-2.6.24-8-generic - Linux kernel image for version 2.6.24 on x86/x86_64
linux-headers-2.6.24-11 - Header files related to Linux kernel version 2.6.24
linux-ubuntu-modules-2.6.24-8-generic - Ubuntu supplied Linux modules for version 2.6.24 on x86/x86_64
Any help will be *really* appreciated (I have my new Sonus Faber speakers coming tomorrow and I'd really like to test them out!)
Thanks!
Simon
Bookmarks