I have a C++ library that is being cross-compiled on a Mac for Windows, using mingw-w-64. I get a “bad -rpath option” when the linker tries to link the binaries.
The complicated paths in the debug output below are because mingw was built with some default options using a script, but they are all ok. However, there is one part which seems to be wrong - it looks like something is being added to the search paths by mistake.
:linkWindows-x86_64DebugCanAeroXplaneSharedLibraryUsing built-in specs. COLLECT_GCC=/usr/local/bin/mingw-w64/mingw-w64-x86_64/mingw/bin/g++ Target: x86_64-w64-mingw32 Configured with: …/source/gcc-4.8.3/configure --build=x86_64-apple-darwin13.2.0 --target=x86_64-w64-mingw32 --disable-nls --disable-multilib --prefix=/usr/local/bin/mingw-w64/mingw-w64-x86_64 --with-sysroot=/usr/local/bin/mingw-w64/mingw-w64-x86_64 --with-mpc=/usr/local/bin/mingw-w64/pkgs/mpc/mpc-1.0.2-x86_64 --with-mpfr=/usr/local/bin/mingw-w64/pkgs/mpfr/mpfr-3.1.2-x86_64 --with-gmp=/usr/local/bin/mingw-w64/pkgs/gmp/gmp-6.0.0a-x86_64 --with-host-libstdcxx=’-lstdc++ ’ --with-cloog=/usr/local/bin/mingw-w64/pkgs/cloog/cloog-0.18.0-x86_64 --with-isl=/usr/local/bin/mingw-w64/pkgs/isl/isl-0.11.1-x86_64 --enable-languages=c,c++ --enable-threads=win32 --enable-fully-dynamic-string --enable-lto Thread model: win32 gcc version 4.8.3 (GCC)
COMPILER_PATH=/usr/local/bin/mingw-w64/mingw-w64-x86_64/x86_64-w64-mingw32/bin/…/lib/gcc/x86_64-w64-mingw32/4.8.3/…/…/…/…/x86_64-w64-mingw32/bin/ LIBRARY_PATH=/usr/local/bin/mingw-w64/mingw-w64-x86_64/x86_64-w64-mingw32/bin/…/lib/gcc/x86_64-w64-mingw32/4.8.3/:/usr/local/bin/mingw-w64/mingw-w64-x86_64/x86_64-w64-mingw32/bin/…/lib/gcc/:/usr/local/bin/mingw-w64/mingw-w64-x86_64/x86_64-w64-mingw32/bin/…/lib/gcc/x86_64-w64-mingw32/4.8.3/…/…/…/…/x86_64-w64-mingw32/lib/…/lib/:/usr/local/bin/mingw-w64/mingw-w64-x86_64/mingw/lib/…/lib/:/usr/local/bin/mingw-w64/mingw-w64-x86_64/x86_64-w64-mingw32/bin/…/lib/gcc/x86_64-w64-mingw32/4.8.3/…/…/…/…/x86_64-w64-mingw32/lib/:/usr/local/bin/mingw-w64/mingw-w64-x86_64/mingw/lib/ COLLECT_GCC_OPTIONS=’-shared’ ‘-o’ ‘/Users/john/git/canaero_xplane/build/binaries/canAeroXplaneSharedLibrary/windows-x86_64Debug/libcanAeroXplane.dylib’ ‘-L/Users/john/git/canaero_xplane/build/nar-dependencies/compileCanAeroXplaneWindows-x86_64Debug/lib’ ‘-v’ ‘-fno-use-linker-plugin’ ‘-shared-libgcc’ ‘-mtune=generic’ ‘-march=x86-64’
/usr/local/bin/mingw-w64/mingw-w64-x86_64/x86_64-w64-mingw32/bin/…/lib/gcc/x86_64-w64-mingw32/4.8.3/…/…/…/…/x86_64-w64-mingw32/bin/ld --sysroot=/usr/local/bin/mingw-w64/mingw-w64-x86_64 -m i386pep --shared -Bdynamic -e DllMainCRTStartup --enable-auto-image-base -o /Users/john/git/canaero_xplane/build/binaries/canAeroXplaneSharedLibrary/windows-x86_64Debug/libcanAeroXplane.dylib /usr/local/bin/mingw-w64/mingw-w64-x86_64/x86_64-w64-mingw32/bin/…/lib/gcc/x86_64-w64-mingw32/4.8.3/…/…/…/…/x86_64-w64-mingw32/lib/…/lib/dllcrt2.o /usr/local/bin/mingw-w64/mingw-w64-x86_64/x86_64-w64-mingw32/bin/…/lib/gcc/x86_64-w64-mingw32/4.8.3/…/…/…/…/x86_64-w64-mingw32/lib/…/lib/crtbegin.o -L/Users/john/git/canaero_xplane/build/nar-dependencies/compileCanAeroXplaneWindows-x86_64Debug/lib -L/usr/local/bin/mingw-w64/mingw-w64-x86_64/x86_64-w64-mingw32/bin/…/lib/gcc/x86_64-w64-mingw32/4.8.3 -L/usr/local/bin/mingw-w64/mingw-w64-x86_64/x86_64-w64-mingw32/bin/…/lib/gcc -L/usr/local/bin/mingw-w64/mingw-w64-x86_64/x86_64-w64-mingw32/bin/…/lib/gcc/x86_64-w64-mingw32/4.8.3/…/…/…/…/x86_64-w64-mingw32/lib/…/lib -L/usr/local/bin/mingw-w64/mingw-w64-x86_64/mingw/lib/…/lib -L/usr/local/bin/mingw-w64/mingw-w64-x86_64/x86_64-w64-mingw32/bin/…/lib/gcc/x86_64-w64-mingw32/4.8.3/…/…/…/…/x86_64-w64-mingw32/lib -L/usr/local/bin/mingw-w64/mingw-w64-x86_64/mingw/lib @/var/folders/75/fsklv28523d2gx1wth3rc7y0000101/T//ccOUlRAe -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt /usr/local/bin/mingw-w64/mingw-w64-x86_64/x86_64-w64-mingw32/bin/…/lib/gcc/x86_64-w64-mingw32/4.8.3/…/…/…/…/x86_64-w64-mingw32/lib/…/lib/crtend.o
Error message reads:
/usr/local/bin/mingw-w64/mingw-w64-x86_64/x86_64-w64-mingw32/bin/…/lib/gcc/x86_64-w64-mingw32/4.8.3/…/…/…/…/x86_64-w64-mingw32/bin/ld: bad -rpath option
FAILED
This appears to be the offending bit that is causing the problem: @/var/folders/75/fsklv28523d2gx1wth3rc7y0000101/T//ccOUlRAe
What is that and why is it there?