mikebrady / shairport-sync

AirPlay and AirPlay 2 audio player
Other
7.3k stars 574 forks source link

clean compilation fails on raspbian jessie #176

Closed PeterPablo closed 8 years ago

PeterPablo commented 8 years ago

Hi Mike,

I tried to do a clean compilation in a new directory. Unfortunately it fails...

pi@rpi2 ~/bin $ git clone https://github.com/mikebrady/shairport-sync.git shairport-sync_clean
Klone nach 'shairport-sync_clean'...
remote: Counting objects: 4204, done.
remote: Total 4204 (delta 0), reused 0 (delta 0), pack-reused 4204
Empfange Objekte: 100% (4204/4204), 1.83 MiB | 583.00 KiB/s, Fertig.
Löse Unterschiede auf: 100% (2612/2612), Fertig.
Prüfe Konnektivität... Fertig.
pi@rpi2 ~/bin $ cd shairport-sync_clean/
pi@rpi2 ~/bin/shairport-sync_clean $ git checkout development 
Branch development konfiguriert zum Folgen von Remote-Branch development von origin.
Zu neuem Branch 'development' gewechselt
pi@rpi2 ~/bin/shairport-sync_clean $ autoreconf -i -f
configure.ac:21: installing './compile'
configure.ac:6: installing './install-sh'
configure.ac:6: installing './missing'
Makefile.am: installing './depcomp'
pi@rpi2 ~/bin/shairport-sync_clean $ ./configure --with-alsa --with-avahi --with-systemd
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for clock_gettime in -lrt... yes
>>Including libdaemon
checking for DAEMON... yes
checking for pthread_create in -lpthread... yes
checking for exp in -lm... yes
>>Including libpopt
checking for POPT... yes
checking for LIBCONFIG... yes
>>Including Avahi mDNS support
checking for avahi_client_new in -lavahi-client... yes
checking for avahi_strerror in -lavahi-common... yes
>>Including an ALSA back end
checking for snd_pcm_open in -lasound... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking getopt_long.h usability... no
checking getopt_long.h presence... no
checking for getopt_long.h... no
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking mach/mach.h usability... no
checking mach/mach.h presence... no
checking for mach/mach.h... no
checking for memory.h... (cached) yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking for inline... inline
checking for int16_t... yes
checking for int32_t... yes
checking for int64_t... yes
checking for pid_t... yes
checking for size_t... yes
checking for ssize_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking for uint8_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for error_at_line... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for atexit... yes
checking for clock_gettime... yes
checking for gethostname... yes
checking for inet_ntoa... yes
checking for memchr... yes
checking for memmove... yes
checking for memset... yes
checking for mkfifo... yes
checking for pow... yes
checking for select... yes
checking for socket... yes
checking for stpcpy... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strdup... yes
checking for strerror... yes
checking for strstr... yes
checking for strtol... yes
checking for strtoul... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating man/Makefile
config.status: creating config.h
config.status: executing depfiles commands
pi@rpi2 ~/bin/shairport-sync_clean $ make
make  all-recursive
make[1]: Entering directory '/home/pi/bin/shairport-sync_clean'
Making all in man
make[2]: Entering directory '/home/pi/bin/shairport-sync_clean/man'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/pi/bin/shairport-sync_clean/man'
make[2]: Entering directory '/home/pi/bin/shairport-sync_clean'
gcc -DHAVE_CONFIG_H -I.    -Wno-multichar  -g -O2 -MT shairport.o -MD -MP -MF .deps/shairport.Tpo -c -o shairport.o shairport.c
mv -f .deps/shairport.Tpo .deps/shairport.Po
gcc -DHAVE_CONFIG_H -I.    -Wno-multichar  -g -O2 -MT rtsp.o -MD -MP -MF .deps/rtsp.Tpo -c -o rtsp.o rtsp.c
mv -f .deps/rtsp.Tpo .deps/rtsp.Po
gcc -DHAVE_CONFIG_H -I.    -Wno-multichar  -g -O2 -MT mdns.o -MD -MP -MF .deps/mdns.Tpo -c -o mdns.o mdns.c
mv -f .deps/mdns.Tpo .deps/mdns.Po
gcc -DHAVE_CONFIG_H -I.    -Wno-multichar  -g -O2 -MT mdns_external.o -MD -MP -MF .deps/mdns_external.Tpo -c -o mdns_external.o mdns_external.c
mv -f .deps/mdns_external.Tpo .deps/mdns_external.Po
gcc -DHAVE_CONFIG_H -I.    -Wno-multichar  -g -O2 -MT common.o -MD -MP -MF .deps/common.Tpo -c -o common.o common.c
mv -f .deps/common.Tpo .deps/common.Po
gcc -DHAVE_CONFIG_H -I.    -Wno-multichar  -g -O2 -MT rtp.o -MD -MP -MF .deps/rtp.Tpo -c -o rtp.o rtp.c
mv -f .deps/rtp.Tpo .deps/rtp.Po
gcc -DHAVE_CONFIG_H -I.    -Wno-multichar  -g -O2 -MT player.o -MD -MP -MF .deps/player.Tpo -c -o player.o player.c
mv -f .deps/player.Tpo .deps/player.Po
gcc -DHAVE_CONFIG_H -I.    -Wno-multichar  -g -O2 -MT alac.o -MD -MP -MF .deps/alac.Tpo -c -o alac.o alac.c
mv -f .deps/alac.Tpo .deps/alac.Po
gcc -DHAVE_CONFIG_H -I.    -Wno-multichar  -g -O2 -MT audio.o -MD -MP -MF .deps/audio.Tpo -c -o audio.o audio.c
mv -f .deps/audio.Tpo .deps/audio.Po
gcc -DHAVE_CONFIG_H -I.    -Wno-multichar  -g -O2 -MT mdns_avahi.o -MD -MP -MF .deps/mdns_avahi.Tpo -c -o mdns_avahi.o mdns_avahi.c
mv -f .deps/mdns_avahi.Tpo .deps/mdns_avahi.Po
gcc -DHAVE_CONFIG_H -I.    -Wno-multichar  -g -O2 -MT audio_alsa.o -MD -MP -MF .deps/audio_alsa.Tpo -c -o audio_alsa.o audio_alsa.c
mv -f .deps/audio_alsa.Tpo .deps/audio_alsa.Po
gcc -Wno-multichar  -g -O2   -o shairport-sync shairport.o rtsp.o mdns.o mdns_external.o common.o rtp.o player.o alac.o audio.o mdns_avahi.o  audio_alsa.o         -lasound -lavahi-common -lavahi-client -lconfig  -lpopt  -lm -lpthread -ldaemon  -lrt 
rtsp.o: In function `handle_announce':
/home/pi/bin/shairport-sync_clean/rtsp.c:1249: undefined reference to `base64_dec'
/home/pi/bin/shairport-sync_clean/rtsp.c:1258: undefined reference to `base64_dec'
/home/pi/bin/shairport-sync_clean/rtsp.c:1259: undefined reference to `rsa_apply'
rtsp.o: In function `apple_challenge':
/home/pi/bin/shairport-sync_clean/rtsp.c:1322: undefined reference to `base64_dec'
/home/pi/bin/shairport-sync_clean/rtsp.c:1357: undefined reference to `rsa_apply'
/home/pi/bin/shairport-sync_clean/rtsp.c:1358: undefined reference to `base64_enc'
rtsp.o: In function `make_nonce':
/home/pi/bin/shairport-sync_clean/rtsp.c:1377: undefined reference to `base64_enc'
collect2: error: ld returned 1 exit status
Makefile:458: recipe for target 'shairport-sync' failed
make[2]: *** [shairport-sync] Error 1
make[2]: Leaving directory '/home/pi/bin/shairport-sync_clean'
Makefile:509: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/pi/bin/shairport-sync_clean'
Makefile:361: recipe for target 'all' failed
make: *** [all] Error 2

I copied the full output since checkout so you can follow, what is going on. Hope this helps.

Peter

PeterPablo commented 8 years ago

duplicate of #48 -- sorry for the noise: you have to specify ssl, for example using the flag --with-ssl=openssl

mikebrady commented 8 years ago

Hi Peter. You need to check the configure arguments – the SSL library is omitted. Thanks for your other reports!