Image creation runs under a fakeroot context and calls a script which refers to the build systems's python. This loads but can find a libpython from staging if these are incompatible, anything can break. These scripts should *not* be changing LD_LIBRARY_PATH, just adding an LD_PRELOAD with an absolute path. The dyanmic linker can figure out anything else with rpaths. RP - 23/1/10 Index: fakeroot-1.9.4/configure.ac =================================================================== --- fakeroot-1.9.4.orig/configure.ac 2010-01-23 22:34:39.000000000 +0000 +++ fakeroot-1.9.4/configure.ac 2010-01-23 22:35:14.000000000 +0000 @@ -414,6 +414,8 @@ ;; esac +LDPRELOADABS=1 + AC_DEFINE_UNQUOTED([LIBCPATH], "$libcpath", [path to libc shared object]) AC_SUBST(DLSUFFIX) AC_SUBST(LDLIBPATHVAR) Index: fakeroot-1.9.4/scripts/fakeroot.in =================================================================== --- fakeroot-1.9.4.orig/scripts/fakeroot.in 2010-01-23 22:34:53.000000000 +0000 +++ fakeroot-1.9.4/scripts/fakeroot.in 2010-01-23 22:37:17.000000000 +0000 @@ -135,7 +135,7 @@ if [ "$WAITINTRAP" -eq 0 ]; then trap "kill -s @signal@ $PID" EXIT INT else - trap 'FAKEROOTKEY=$FAKEROOTKEY LD_LIBRARY_PATH="$PATHS" LD_PRELOAD="$LIB" /bin/ls -l / >/dev/null 2>&1; while kill -s @signal@ $PID 2>/dev/null; do sleep 0.1; done' EXIT INT + trap 'FAKEROOTKEY=$FAKEROOTKEY LD_PRELOAD="$LIB" /bin/ls -l / >/dev/null 2>&1; while kill -s @signal@ $PID 2>/dev/null; do sleep 0.1; done' EXIT INT fi if test -z "$FAKEROOTKEY" || test -z "$PID"; then @@ -158,10 +158,10 @@ export FAKEROOT_FD_BASE if test -z "$*"; then - FAKEROOTKEY=$FAKEROOTKEY @LDLIBPATHVAR@="$PATHS" @LDEXTRAVAR@ @LDPRELOADVAR@="$LIB" ${SHELL:-/bin/sh} + FAKEROOTKEY=$FAKEROOTKEY @LDEXTRAVAR@ @LDPRELOADVAR@="$LIB" ${SHELL:-/bin/sh} RESULT=$? else - FAKEROOTKEY=$FAKEROOTKEY @LDLIBPATHVAR@="$PATHS" @LDEXTRAVAR@ @LDPRELOADVAR@="$LIB" "$@" + FAKEROOTKEY=$FAKEROOTKEY @LDEXTRAVAR@ @LDPRELOADVAR@="$LIB" "$@" RESULT=$? fi