This is the mail archive of the
mailing list for the GCC project.
Re: Link tests not allowed
- From: Jim Wilson <wilson at specifix dot com>
- To: Douglas B Rupp <rupp at gnat dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Sun, 31 Dec 2006 18:12:23 -0800
- Subject: Re: Link tests not allowed
- References: <4595A89E.firstname.lastname@example.org>
Douglas B Rupp wrote:
checking for library containing strerror... configure: error: Link tests
are not allowed after GCC_NO_EXECUTABLES.
You get this error if a link command fails while trying to configure the
target libiberty. So the question is why did the link fail? You need
to look at the target libiberty config.log file to find out why. The
interesting part will be immediately after the -V test. There are many
different ways that the link may have failed, and there are many
different ways to fix this, depending on what exactly the problem is.
One way to solve this is to use newlib at the target library, in which
case libiberty uses a built-in list of functions instead of doing link
tests. This however is clearly the wrong solution in your case, as AIX
of course uses the AIX C library, not newlib.
I tried to reproduce this, and found the problem is that aix4.3 and up
require additional nm/ar options. NM_FOR_TARGET in the toplevel
Makefile includes the -B and -X32_64 options. Inside the gcc configure,
we do "test -x $NM_FOR_TARGET" and this fails because NM_FOR_TARGET
expands to more than a program name, and the shell test -x command does
not handle this case. We need to extract out the program name for this
test. This should be easy enough to do. There is an example showing
how to do this a few lines below. Want to try writing a patch? Or
alternatively submitting a bug report so we can track this?
Admittedly, the configure error printed is a bit misleading. It used to
make sense when it was first written, but a lot of stuff has changed
since then, and the error message never got updated.
Jim Wilson, GNU Tools Support, http://www.specifix.com