This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: 3.4.3 Bootstrap error - XCOFF64 object files are not allowed in 32-bit mode. AIX 5.2.0.0
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: "Wheeler, Richard" <Richard_Wheeler at CINFIN dot com>
- Cc: gcc-help at gcc dot gnu dot org
- Date: Mon, 04 Apr 2005 16:20:41 -0400
- Subject: Re: 3.4.3 Bootstrap error - XCOFF64 object files are not allowed in 32-bit mode. AIX 5.2.0.0
- References: <560BB48D9A412D42AEF874777A93511E1D8F7E17@exchq5.cinfin.com>
> It looks to me that when "creating a temporary reloadable object file:
> .libs/libg2c.la-2.o" for the ppc64 directory it should have issued the ld
> command with the -b64 option.
>
> Why is configure getting this wrong?
>
> Testing with ld -b64 works.
This is due to a flaw in GNU libtool. If one bootstraps GCC in a
directory with too deep a path, libtool will configure itself with an
unnecessarily short maximum command length. libtool then confounds the
problem by generating an intermediate file with the wrong commandline
options, in this case missing -b64, causing the failure.
I get around this problem with a quick and dirty hack that
overrides the command length value immediately after it incorrectly has
been calculated. In gcc-3.4/ltconfig:
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len - $len`
fi
+ lt_cv_sys_max_cmd_len=20000
echo "$progname:@lineno@: result: $lt_cv_sys_max_cmd_len" 1>&5
echo "${ac_t}$lt_cv_sys_max_cmd_len" 1>&6
If you share the sources with non-AIX systems, note that this change will
affect all systems.
David