------- Comment #13 from rwild at gcc dot gnu dot org 2010-08-05 17:01 ------- config.log excerpt from zlib:
configure:7903: result: yes configure:7936: checking whether the gcc -m64 linker (ld) supports shared libraries configure:9020: result: yes configure:9265: checking dynamic linker characteristics configure:9710: error: Link tests are not allowed after GCC_NO_EXECUTABLES. which corresponds to this code in zlib/configure, from AC_PROG_LIBTOOL: lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" if test x$gcc_no_link = xyes; then as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 Either GCC or the user needs to prime cache variables in the way this test shows: <http://git.savannah.gnu.org/cgit/libtool.git/tree/tests/no-executables.at> (There is currently one item missing there for AIX, which is relevant for GCC but irrelevant to this particular PR). This same issue supposedly holds for other GCC directories in which GCC_NO_EXECUTABLES is used; it might just be latent. Question is, what values the variables should be primed with. In general, tough one. In this specific case: find out whether your linker sets DT_RUNPATH upon -Wl,-rpath ("yes") or only DT_RPATH ("no"). Pass lt_cv_shlibpath_overrides_runpath=no or =yes to configure accordingly. Hmm. How can I ensure this primes the cache for host directories only? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45174