Hab mal ne Anleitung gemacht: http://www.losty.ch/2014/01/synology-nas-as-airplay-receiver.html ...Feedback?
DiskStation> CC=gcc make
gcc -c -O2 -I/opt/include -I/opt/include -I/opt/include -I/opt/include/alsa shairport.c
gcc -c -O2 -I/opt/include -I/opt/include -I/opt/include -I/opt/include/alsa daemon.c
gcc -c -O2 -I/opt/include -I/opt/include -I/opt/include -I/opt/include/alsa rtsp.c
gcc -c -O2 -I/opt/include -I/opt/include -I/opt/include -I/opt/include/alsa mdns.c
gcc -c -O2 -I/opt/include -I/opt/include -I/opt/include -I/opt/include/alsa mdns_external.c
gcc -c -O2 -I/opt/include -I/opt/include -I/opt/include -I/opt/include/alsa mdns_tinysvcmdns.c
gcc -c -O2 -I/opt/include -I/opt/include -I/opt/include -I/opt/include/alsa common.c
gcc -c -O2 -I/opt/include -I/opt/include -I/opt/include -I/opt/include/alsa rtp.c
gcc -c -O2 -I/opt/include -I/opt/include -I/opt/include -I/opt/include/alsa player.c
gcc -c -O2 -I/opt/include -I/opt/include -I/opt/include -I/opt/include/alsa alac.c
gcc -c -O2 -I/opt/include -I/opt/include -I/opt/include -I/opt/include/alsa audio.c
gcc -c -O2 -I/opt/include -I/opt/include -I/opt/include -I/opt/include/alsa audio_dummy.c
gcc -c -O2 -I/opt/include -I/opt/include -I/opt/include -I/opt/include/alsa audio_pipe.c
gcc -c -O2 -I/opt/include -I/opt/include -I/opt/include -I/opt/include/alsa tinysvcmdns.c
gcc -c -O2 -I/opt/include -I/opt/include -I/opt/include -I/opt/include/alsa audio_ao.c
gcc -c -O2 -I/opt/include -I/opt/include -I/opt/include -I/opt/include/alsa audio_alsa.c
gcc shairport.o daemon.o rtsp.o mdns.o mdns_external.o mdns_tinysvcmdns.o common.o rtp.o player.o alac.o audio.o audio_dummy.o audio_pipe.o tinysvcmdns.o audio_ao.o audio_alsa.o -lm -lpthread -L/opt/lib -lssl -lcrypto -ldl -L/opt/lib -lao -lpthread -ldl -L/opt/lib -lasound -o shairport
/opt/i686-linux-gnu/lib/librt.so.1: undefined reference to `__librt_enable_asynccancel@GLIBC_PRIVATE'
/opt/lib/gcc/i686-linux-gnu/4.2.1/../../../../i686-linux-gnu/lib/libpthread.so: undefined reference to `__libc_sigaction@GLIBC_PRIVATE'
/opt/i686-linux-gnu/lib/librt.so.1: undefined reference to `__librt_multiple_threads@GLIBC_PRIVATE'
/opt/i686-linux-gnu/lib/librt.so.1: undefined reference to `__librt_disable_asynccancel@GLIBC_PRIVATE'
/opt/lib/gcc/i686-linux-gnu/4.2.1/../../../../i686-linux-gnu/lib/libpthread.so: undefined reference to `_h_errno@GLIBC_2.0'
/opt/lib/gcc/i686-linux-gnu/4.2.1/../../../../i686-linux-gnu/lib/libpthread.so: undefined reference to `__on_exit@GLIBC_PRIVATE'
/opt/lib/gcc/i686-linux-gnu/4.2.1/../../../../i686-linux-gnu/lib/libdl.so: undefined reference to `_dl_open@GLIBC_PRIVATE'
/opt/lib/gcc/i686-linux-gnu/4.2.1/../../../../i686-linux-gnu/lib/libdl.so: undefined reference to `_dl_close@GLIBC_PRIVATE'
/opt/lib/gcc/i686-linux-gnu/4.2.1/../../../../i686-linux-gnu/lib/libpthread.so: undefined reference to `_errno@GLIBC_2.0'
collect2: ld returned 1 exit status
make: *** [shairport] Error 1
cd /opt/lib/gcc/i686-linux-gnu/4.2.1/../../../../i686-linux-gnu/lib/
ls -al libpthread*
ls -al libdl*
cd /opt/lib/gcc/powerpc-linux-gnuspe/3.4.6/../../../../powerpc-linux-gnuspe/lib/
rm libpthread.so
rm libpthread.so.0
ln -sf /lib/libpthread.so.0 libpthread.so
rm libm.so
rm libm.so.6
ln -sf /lib/libm.so.6 libm.so
rm libdl.so
rm libdl.so.2
ln -sf /lib/libdl.so.2 libdl.so
rm librt.so
rm librt.so.1
ln -sf /lib/librt.so.1 librt.so
#!/bin/sh
APNAME="Kitchen"
PIDFILE=/opt/var/run/shairport.pid
SHAIRPORT="/opt/opt/shairport/shairport"
shairport_start() {
if [ "$(ps | grep shairport\.pl |grep -v grep)" > /dev/null ]; then
echo "shairport already running, use restart instead"
else
echo "Starting shairport..."
LD_LIBRARY_PATH=/opt/lib $SHAIRPORT -d -p 6002 -a "$APNAME"
# LD_LIBRARY_PATH=/opt/lib $SHAIRPORT -q -d -b 512 -o 6002 --ao_driver=oss --ao_devicename=/dev/dsp4 --apname=$APNAME
fi
}
shairport_stop() {
echo "Stopping shairport..."
killall shairport
}
shairport_restart() {
shairport_stop
sleep 2
shairport_start
}
case "$1" in
'start')
shairport_start
;;
'stop')
shairport_stop
;;
'restart')
shairport_restart
;;
*)
echo "Usage: start, stop, restart"
udev ist erst ab 5.1 (aktuell in Beta) verfügbar, die Regeln liegen unter /lib/udev/rules.d. Ob Synology aber irgendwelche Beschränkungen vorgenommen hat, hab ich noch nicht weiter untersucht.
Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.
Als Dankeschön schalten wir deinen Account werbefrei.