From 2f6198edb692149c35c511dd4738c824f21274d4 Mon Sep 17 00:00:00 2001 From: Gabriel Jacobo Date: Sun, 17 Nov 2013 11:07:55 -0300 Subject: [PATCH] Fixes building for RPi using --no-undefined --- README-raspberrypi.txt | 6 ++++++ build-scripts/raspberrypi-buildbot.sh | 2 +- configure | 3 +-- configure.in | 3 +-- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/README-raspberrypi.txt b/README-raspberrypi.txt index 0724a8c909df9..af1ccea6e10d3 100644 --- a/README-raspberrypi.txt +++ b/README-raspberrypi.txt @@ -62,6 +62,12 @@ edit $SYSROOT/etc/ld.so.preload and comment out all lines in it. sudo umount $SYSROOT/proc sudo umount $SYSROOT/sys sudo umount /mnt + +There's one more fix required, as the libdl.so symlink uses an absolute path +which doesn't quite work in our setup. + + sudo rm -rf $SYSROOT/usr/lib/arm-linux-gnueabihf/libdl.so + sudo ln -s ../../../lib/arm-linux-gnueabihf/libdl.so.2 $SYSROOT/usr/lib/arm-linux-gnueabihf/libdl.so The final step is compiling SDL itself. diff --git a/build-scripts/raspberrypi-buildbot.sh b/build-scripts/raspberrypi-buildbot.sh index 4c746c0143935..bcffaf4a3769e 100755 --- a/build-scripts/raspberrypi-buildbot.sh +++ b/build-scripts/raspberrypi-buildbot.sh @@ -39,7 +39,7 @@ mkdir -p $BUILDBOTDIR pushd $BUILDBOTDIR SYSROOT="/opt/rpi-sysroot" -export CC="/opt/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc --sysroot=$SYSROOT -I$SYSROOT/opt/vc/include -I$SYSROOT/usr/include -I$SYSROOT/opt/vc/include/interface/vcos/pthreads -I$SYSROOT/opt/vc/include/interface/vmcs_host/linux" +export CC="/opt/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc --sysroot=$SYSROOT -I$SYSROOT/opt/vc/include -I$SYSROOT/usr/include -I$SYSROOT/opt/vc/include/interface/vcos/pthreads -I$SYSROOT/opt/vc/include/interface/vmcs_host/linux -L$SYSROOT/opt/vc/lib" # -L$SYSROOT/usr/lib/arm-linux-gnueabihf" # !!! FIXME: shouldn't have to --disable-* things here. ../configure --with-sysroot=$SYSROOT --host=arm-raspberry-linux-gnueabihf --prefix=$PWD/rpi-sdl2-installed --disable-pulseaudio --disable-esd diff --git a/configure b/configure index 968edc2ee70d3..be2cb61aeb4f9 100755 --- a/configure +++ b/configure @@ -22102,11 +22102,10 @@ case "$host" in # Raspberry Pi ARCH=linux RPI_CFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux" - RPI_LDFLAGS="-L/opt/vc/lib -lbcm_host" CFLAGS="$CFLAGS $RPI_CFLAGS" SDL_CFLAGS="$SDL_CFLAGS $RPI_CFLAGS" EXTRA_CFLAGS="$EXTRA_CFLAGS $RPI_CFLAGS" - SDL_LIBS="$SDL_LIBS $RPI_LDFLAGS" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -L/opt/vc/lib -lbcm_host -ldl" if test x$enable_video = xyes; then SOURCES="$SOURCES $srcdir/src/video/raspberry/*.c" diff --git a/configure.in b/configure.in index 6cde4ee45cff7..e75ede89889e1 100644 --- a/configure.in +++ b/configure.in @@ -2384,11 +2384,10 @@ case "$host" in # Raspberry Pi ARCH=linux RPI_CFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux" - RPI_LDFLAGS="-L/opt/vc/lib -lbcm_host" CFLAGS="$CFLAGS $RPI_CFLAGS" SDL_CFLAGS="$SDL_CFLAGS $RPI_CFLAGS" EXTRA_CFLAGS="$EXTRA_CFLAGS $RPI_CFLAGS" - SDL_LIBS="$SDL_LIBS $RPI_LDFLAGS" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -L/opt/vc/lib -lbcm_host -ldl" if test x$enable_video = xyes; then SOURCES="$SOURCES $srcdir/src/video/raspberry/*.c"