booleandomain wrote:
On GNU/Linux crti.o comes from glibc, not gcc. It is normally found in
/usr/lib.
On my system that file resides in /usr/lib64/crti.o.
That is the 64-bit (default) one...
Don't specify the --build, --host, and --target options. They won't
help you. When you specify --host, autoconf thinks that you are
building with a cross-compiler. (That is, don't specify these options
unless you are, in fact, building with a cross-compiler.)
I tried compiling gcc as you said, that is removing from the configure
command the --build, --host and --target options. gcc will now compile
setting them to x86_64-unknown-linux-gnu instead of x86_64-pc-linux-gnu.
Anyway, the make command fails with the same error message.
The '--disable-multilib' should disable the optional 32-bit stuff build,
ie requiring the 32-bit glibc...
So the error message :
>> /usr/local/x86_64-pc-linux-gnu/bin/ld: crti.o: No such file: No such
>> file or directory
is weird... Why some "local" 'ld' tried to do the linking? A cross-ld
wouldn't search from '/usr/lib64' ever... So what on earth is this 'ld',
for which $target it was done and what the commands :
$ cd /usr/local/x86_64-pc-linux-gnu/bin
$ ./ld -verbose | less
would give as the 'SEARCH_DIR', like :
--------------------- clip ------------------------
GNU ld version 2.10.1 (with BFD 2.10.1)
Supported emulations:
elf_i386
i386linux
using internal linker script:
==================================================
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
"elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR(/usr/local/i486-linux-gnu/lib);
/* Do we need any of these for elf?
__DYNAMIC = 0; */
SECTIONS
--------------------- clip ------------------------
from an old MinGW-X-Linux crosscompiler....