YACCQ : Yet Another Cross Compiler Question ... cannot compute suffix of object files

Dennis Clarke dclarke@blastwave.org
Mon Feb 18 01:02:00 GMT 2019

On 2/17/19 5:48 PM, Segher Boessenkool wrote:
> On Sun, Feb 17, 2019 at 04:34:31PM -0600, Segher Boessenkool wrote:
>> On Sun, Feb 17, 2019 at 04:48:03PM -0500, Dennis Clarke wrote:
>>> There seems to be a few of those around :
>> The first was the build-*/libiberty one.
> The second was.  The first was for gcc/ .
> I think maybe you need to specify a --target as well...  cross-built
> native is not the most usual configuration.
> Have you seen https://gcc.gnu.org/wiki/FAQ#configure_suffix by the way?
> Segher

Well I am officially stuck and maybe this is a "thou shalt not pass"
situation where it can't be done.  Hard to believe.

I am damned if I do and damned if I don't. If I try to use
--disable-libiberty then the process blows up real fast :

/opt/tools/bin/riscv64-unknown-freebsd12.0-gcc -c
--sysroot=/riscv64/rootfs -L/riscv64/rootfs/lib -O0 -fno-builtin
-march=rv64imafdc -mabi=lp64d -mpreferred-stack-boundary=4
-mstrict-align -mexplicit-relocs -g -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition
-Wmissing-format-attribute -Wno-overlength-strings -pedantic
-Wno-long-long   -DHAVE_CONFIG_H -I. -I../../gcc-8.2.0/fixincludes
-I../include -I../../gcc-8.2.0/fixincludes/../include
gmake[2]: *** No rule to make target '../libiberty/libiberty.a', needed
by 'full-stamp'.  Stop.
gmake[2]: Leaving directory
gmake[1]: *** [Makefile:3559: all-fixincludes] Error 2
gmake[1]: Leaving directory
gmake: *** [Makefile:900: all] Error 2

If I do not use --disable-libiberty then it blows up inside the
libiberty directory with a bizarre message about a 'suffix' and that
is regardless if I provide --target=foo or not.

mkdir common/.deps
config.status: executing default commands
gmake[2]: Entering directory
gmake[2]: Nothing to be done for 'all'.
gmake[2]: Leaving directory
mkdir build-x86_64-unknown-freebsd12.0
mkdir build-x86_64-unknown-freebsd12.0/libiberty
Configuring in build-x86_64-unknown-freebsd12.0/libiberty
configure: creating cache ./config.cache
checking whether to enable maintainer-specific portions of Makefiles... no
checking for makeinfo... makeinfo --split-size=5000000
checking for perl... perl
checking build system type... x86_64-unknown-freebsd12.0
checking host system type... x86_64-unknown-freebsd12.0
checking for x86_64-unknown-freebsd12.0-ar... ar
checking for x86_64-unknown-freebsd12.0-ranlib... ranlib
checking whether to install libiberty headers and static library... no
configure: target_header_dir =
checking for x86_64-unknown-freebsd12.0-gcc... gcc
checking for suffix of object files... configure: error: in
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
gmake[1]: *** [Makefile:2559: configure-build-libiberty] Error 1
gmake[1]: Leaving directory
gmake: *** [Makefile:900: all] Error 2

However one of them proceeds much further than the other.

I wonder if I can build libiberty separately and toss it into the
sysroot /usr/local/lib and perhaps that solves the dependency? No idea.


More information about the Gcc-help mailing list