On Thursday 17 April 2008 03:35, Denys Vlasenko wrote:
> On Thursday 17 April 2008 02:40, Denys Vlasenko wrote:
> > I believe I solved it with --with-sysroot...
> > Will try again and let you know.

I got over the problem of includes not being found using --with-sysroot,
and reached
"/usr/bin/x86_64-linux-uclibc-ld: crtbegin.o: No such file: No such file or 
directory"
problem.

This is the final link command I use:

x86_64-linux-uclibc-gcc -v -Wall -Wshadow -Wwrite-strings -Wundef  \
-Wstrict-prototypes -Wunused -Wunused-parameter -Werror -Wold-style-definition  
\
-Os -fno-builtin-strlen -finline-limit=0 -fomit-frame-pointer  \
-ffunction-sections -fdata-sections -fno-guess-branch-probability  \
-funsigned-char -static-libgcc -falign-functions=1 -falign-jumps=1  \
-falign-labels=1 -falign-loops=1 -Wdeclaration-after-statement  \
-Wno-pointer-sign -o busybox_unstripped -Wl,--sort-common -Wl,--gc-sections  \
-Wl,--start-group applets/built-in.o archival/lib.a archival/libunarchive/lib.a 
 \
console-tools/lib.a coreutils/lib.a coreutils/libcoreutils/lib.a  \
debianutils/lib.a e2fsprogs/lib.a editors/lib.a findutils/lib.a init/lib.a  \
libbb/lib.a libpwdgrp/lib.a loginutils/lib.a miscutils/lib.a modutils/lib.a  \
networking/lib.a networking/libiproute/lib.a networking/udhcp/lib.a  \
printutils/lib.a procps/lib.a runit/lib.a selinux/lib.a shell/lib.a  \
sysklogd/lib.a util-linux/lib.a util-linux/volume_id/lib.a archival/built-in.o  
\
archival/libunarchive/built-in.o console-tools/built-in.o coreutils/built-in.o  
\
coreutils/libcoreutils/built-in.o debianutils/built-in.o e2fsprogs/built-in.o  \
editors/built-in.o findutils/built-in.o init/built-in.o libbb/built-in.o  \
libpwdgrp/built-in.o loginutils/built-in.o miscutils/built-in.o  \
modutils/built-in.o networking/built-in.o networking/libiproute/built-in.o  \
networking/udhcp/built-in.o printutils/built-in.o procps/built-in.o  \
runit/built-in.o selinux/built-in.o shell/built-in.o sysklogd/built-in.o  \
util-linux/built-in.o util-linux/volume_id/built-in.o -Wl,--end-group  \
-Wl,--start-group -lcrypt -lm -Wl,--end-group

4.2.3 works:

Using built-in specs.
Target: x86_64-linux-uclibc
Configured with: ../gcc-4.2.3/configure 
--prefix=/usr/app/gcc-4.2.3-x86_64-linux-uclibc 
--exec-prefix=/usr/app/gcc-4.2.3-x86_64-linux-uclibc --bindir=/usr/bin 
--sbindir=/usr/sbin --libexecdir=/usr/app/gcc-4.2.3-x86_64-linux-uclibc/libexec 
--datadir=/usr/app/gcc-4.2.3-x86_64-linux-uclibc/share --sysconfdir=/etc 
--sharedstatedir=/usr/app/gcc-4.2.3-x86_64-linux-uclibc/var/com 
--localstatedir=/usr/app/gcc-4.2.3-x86_64-linux-uclibc/var --libdir=/usr/lib 
--includedir=/usr/include --infodir=/usr/info --mandir=/usr/man --disable-nls 
--with-local-prefix=/usr/local 
--with-slibdir=/usr/app/gcc-4.2.3-x86_64-linux-uclibc/lib 
--with-gxx-include-dir=/usr/app/gcc-4.2.3-x86_64-linux-uclibc/include/g++-v3 
--build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --target=x86_64-linux-uclibc 
--with-gnu-ld --with-ld=x86_64-linux-uclibc-ld --with-gnu-as 
--with-as=x86_64-linux-uclibc-as --enable-languages=c,c++ 
--enable-target-optspace --disable-shared --disable-__cxa_atexit 
--disable-threads --disable-tls --disable-multilib --without-headers
Thread model: single
gcc version 4.2.3
 
/usr/app/gcc-4.2.3-x86_64-linux-uclibc/libexec/gcc/x86_64-linux-uclibc/4.2.3/collect2
 --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib/ld64-uClibc.so.0 -o 
busybox_unstripped /usr/lib/../x86_64-linux-uclibc/lib/crt1.o 
/usr/lib/../x86_64-linux-uclibc/lib/crti.o 
/.share/usr/app/gcc-4.2.3-x86_64-linux-uclibc/bin/../lib/gcc/x86_64-linux-uclibc/4.2.3/crtbegin.o
 
-L/.share/usr/app/gcc-4.2.3-x86_64-linux-uclibc/bin/../lib/gcc/x86_64-linux-uclibc/4.2.3
 -L/.share/usr/app/gcc-4.2.3-x86_64-linux-uclibc/bin/../lib/gcc 
-L/usr/lib/../x86_64-linux-uclibc/lib --sort-common --gc-sections --start-group 
applets/built-in.o archival/lib.a archival/libunarchive/lib.a 
console-tools/lib.a coreutils/lib.a coreutils/libcoreutils/lib.a 
debianutils/lib.a e2fsprogs/lib.a editors/lib.a findutils/lib.a init/lib.a 
libbb/lib.a libpwdgrp/lib.a loginutils/lib.a miscutils/lib.a modutils/lib.a 
networking/lib.a networking/libiproute/lib.a networking/udhcp/lib.a 
printutils/lib.a procps/lib.a runit/lib.a selinux/lib.a shell/lib.a 
sysklogd/lib.a util-linux/lib.a util-linux/volume_id/lib.a archival/built-in.o 
archival/libunarchive/built-in.o console-tools/built-in.o coreutils/built-in.o 
coreutils/libcoreutils/built-in.o debianutils/built-in.o e2fsprogs/built-in.o 
editors/built-in.o findutils/built-in.o init/built-in.o libbb/built-in.o 
libpwdgrp/built-in.o loginutils/built-in.o miscutils/built-in.o 
modutils/built-in.o networking/built-in.o networking/libiproute/built-in.o 
networking/udhcp/built-in.o printutils/built-in.o procps/built-in.o 
runit/built-in.o selinux/built-in.o shell/built-in.o sysklogd/built-in.o 
util-linux/built-in.o util-linux/volume_id/built-in.o --end-group --start-group 
-lcrypt -lm --end-group -lgcc -lc -lgcc 
/.share/usr/app/gcc-4.2.3-x86_64-linux-uclibc/bin/../lib/gcc/x86_64-linux-uclibc/4.2.3/crtend.o
 /usr/lib/../x86_64-linux-uclibc/lib/crtn.o

4.3.0 does not:

Using built-in specs.
Target: x86_64-linux-uclibc
Configured with: ../gcc-4.3.0/configure 
--prefix=/usr/app/gcc-4.3.0-x86_64-linux-uclibc 
--exec-prefix=/usr/app/gcc-4.3.0-x86_64-linux-uclibc 
--bindir=/usr/app/gcc-4.3.0-x86_64-linux-uclibc/bin 
--sbindir=/usr/app/gcc-4.3.0-x86_64-linux-uclibc/sbin 
--libexecdir=/usr/app/gcc-4.3.0-x86_64-linux-uclibc/libexec 
--datadir=/usr/app/gcc-4.3.0-x86_64-linux-uclibc/share --sysconfdir=/etc 
--sharedstatedir=/usr/app/gcc-4.3.0-x86_64-linux-uclibc/var/com 
--localstatedir=/usr/app/gcc-4.3.0-x86_64-linux-uclibc/var 
--libdir=/usr/app/gcc-4.3.0-x86_64-linux-uclibc/lib 
--includedir=/usr/app/gcc-4.3.0-x86_64-linux-uclibc/include 
--infodir=/usr/app/gcc-4.3.0-x86_64-linux-uclibc/info 
--mandir=/usr/app/gcc-4.3.0-x86_64-linux-uclibc/man --disable-nls 
--with-local-prefix=/usr/local 
--with-slibdir=/usr/app/gcc-4.3.0-x86_64-linux-uclibc/lib 
--with-gxx-include-dir=/usr/app/gcc-4.3.0-x86_64-linux-uclibc/include/g++-v3 
--build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --target=x86_64-linux-uclibc 
--with-gnu-ld --with-ld=/usr/bin/x86_64-linux-uclibc-ld --with-gnu-as 
--with-as=/usr/bin/x86_64-linux-uclibc-as 
--with-sysroot=/usr/x86_64-linux-uclibc --enable-languages=c,c++ 
--enable-target-optspace --disable-shared --disable-__cxa_atexit 
--disable-threads --disable-tls --disable-multilib --without-headers
Thread model: single
gcc version 4.3.0 (GCC)
COMPILER_PATH=/.share/usr/app/gcc-4.3.0-x86_64-linux-uclibc/bin/../libexec/gcc/x86_64-linux-uclibc/4.3.0/:/.share/usr/app/gcc-4.3.0-x86_64-linux-uclibc/bin/../libexec/gcc/
LIBRARY_PATH=/.share/usr/app/gcc-4.3.0-x86_64-linux-uclibc/bin/../lib/gcc/x86_64-linux-uclibc/4.3.0/:/.share/usr/app/gcc-4.3.0-x86_64-linux-uclibc/bin/../lib/gcc/:/usr/x86_64-linux-uclibc/lib/:/usr/x86_64-linux-uclibc/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-Wall' '-Wshadow' '-Wwrite-strings' '-Wundef' 
'-Wstrict-prototypes' '-Wunused' '-Wunused-parameter' '-Werror' 
'-Wold-style-definition' '-Os' '-fno-builtin-strlen' '-finline-limit=0' 
'-fomit-frame-pointer' '-ffunction-sections' '-fdata-sections' 
'-fno-guess-branch-probability' '-funsigned-char' '-static-libgcc' 
'-falign-functions=1' '-falign-jumps=1' '-falign-labels=1' '-falign-loops=1' 
'-Wdeclaration-after-statement' '-Wno-pointer-sign' '-o' 'busybox_unstripped' 
'-mtune=generic'
 
/.share/usr/app/gcc-4.3.0-x86_64-linux-uclibc/bin/../libexec/gcc/x86_64-linux-uclibc/4.3.0/collect2
 --sysroot=/usr/x86_64-linux-uclibc --eh-frame-hdr -m elf_x86_64 
-dynamic-linker /lib/ld64-uClibc.so.0 -o busybox_unstripped 
/usr/x86_64-linux-uclibc/lib/crt1.o /usr/x86_64-linux-uclibc/lib/crti.o 
crtbegin.o 
-L/.share/usr/app/gcc-4.3.0-x86_64-linux-uclibc/bin/../lib/gcc/x86_64-linux-uclibc/4.3.0
 -L/.share/usr/app/gcc-4.3.0-x86_64-linux-uclibc/bin/../lib/gcc 
-L/usr/x86_64-linux-uclibc/lib -L/usr/x86_64-linux-uclibc/usr/lib --sort-common 
--gc-sections --start-group applets/built-in.o archival/lib.a 
archival/libunarchive/lib.a console-tools/lib.a coreutils/lib.a 
coreutils/libcoreutils/lib.a debianutils/lib.a e2fsprogs/lib.a editors/lib.a 
findutils/lib.a init/lib.a libbb/lib.a libpwdgrp/lib.a loginutils/lib.a 
miscutils/lib.a modutils/lib.a networking/lib.a networking/libiproute/lib.a 
networking/udhcp/lib.a printutils/lib.a procps/lib.a runit/lib.a selinux/lib.a 
shell/lib.a sysklogd/lib.a util-linux/lib.a util-linux/volume_id/lib.a 
archival/built-in.o archival/libunarchive/built-in.o console-tools/built-in.o 
coreutils/built-in.o coreutils/libcoreutils/built-in.o debianutils/built-in.o 
e2fsprogs/built-in.o editors/built-in.o findutils/built-in.o init/built-in.o 
libbb/built-in.o libpwdgrp/built-in.o loginutils/built-in.o 
miscutils/built-in.o modutils/built-in.o networking/built-in.o 
networking/libiproute/built-in.o networking/udhcp/built-in.o 
printutils/built-in.o procps/built-in.o runit/built-in.o selinux/built-in.o 
shell/built-in.o sysklogd/built-in.o util-linux/built-in.o 
util-linux/volume_id/built-in.o --end-group --start-group -lcrypt -lm 
--end-group -lgcc -lc -lgcc crtend.o /usr/x86_64-linux-uclibc/lib/crtn.o
/usr/bin/x86_64-linux-uclibc-ld: crtbegin.o: No such file: No such file or 
directory
collect2: ld returned 1 exit status


The difference is in collect2 command line. Here I split it one arg per line, 
and diffed:

--- 423 Thu Apr 17 04:04:13 2008
+++ 430 Thu Apr 17 04:03:57 2008
@@ -1,4 +1,5 @@
-/usr/app/gcc-4.2.3-x86_64-linux-uclibc/libexec/gcc/x86_64-linux-uclibc/4.2.3/collect2
+/.share/usr/app/gcc-4.3.0-x86_64-linux-uclibc/bin/../libexec/gcc/x86_64-linux-uclibc/4.3.0/collect2
+--sysroot=/usr/x86_64-linux-uclibc
 --eh-frame-hdr
 -m
 elf_x86_64
@@ -6,12 +7,13 @@
 /lib/ld64-uClibc.so.0
 -o
 busybox_unstripped
-/usr/lib/../x86_64-linux-uclibc/lib/crt1.o
-/usr/lib/../x86_64-linux-uclibc/lib/crti.o
-/.share/usr/app/gcc-4.2.3-x86_64-linux-uclibc/bin/../lib/gcc/x86_64-linux-uclibc/4.2.3/crtbegin.o
--L/.share/usr/app/gcc-4.2.3-x86_64-linux-uclibc/bin/../lib/gcc/x86_64-linux-uclibc/4.2.3
--L/.share/usr/app/gcc-4.2.3-x86_64-linux-uclibc/bin/../lib/gcc
--L/usr/lib/../x86_64-linux-uclibc/lib
+/usr/x86_64-linux-uclibc/lib/crt1.o
+/usr/x86_64-linux-uclibc/lib/crti.o
+crtbegin.o
+-L/.share/usr/app/gcc-4.3.0-x86_64-linux-uclibc/bin/../lib/gcc/x86_64-linux-uclibc/4.3.0
+-L/.share/usr/app/gcc-4.3.0-x86_64-linux-uclibc/bin/../lib/gcc
+-L/usr/x86_64-linux-uclibc/lib
+-L/usr/x86_64-linux-uclibc/usr/lib
 --sort-common
 --gc-sections
 --start-group
@@ -76,5 +78,5 @@
 -lgcc
 -lc
 -lgcc
-/.share/usr/app/gcc-4.2.3-x86_64-linux-uclibc/bin/../lib/gcc/x86_64-linux-uclibc/4.2.3/crtend.o
-/usr/lib/../x86_64-linux-uclibc/lib/crtn.o
+crtend.o
+/usr/x86_64-linux-uclibc/lib/crtn.o


OMG. It's here:

-/.share/usr/app/gcc-4.2.3-x86_64-linux-uclibc/bin/../lib/gcc/x86_64-linux-uclibc/4.2.3/crtbegin.o
+crtbegin.o

4.2.3 built crtbegin.o as part of itself, and is linking it in.
4.3.0 did NOT build crtbegin.o, but tries to link it in??

I went back and indeed, 4.2.3 build tree has it as gcc/crtbegin.o
and it gets installed to
/usr/app/gcc-4.2.3-x86_64-linux-uclibc/lib/gcc/x86_64-linux-uclibc/4.2.3/crtbegin.o,
but 4.3.0 does not build/install it.

Help?
--
vda

Reply via email to