Simple way to statically link against custom uClibc with buildroot toolchain...?

Ersin Akinci ersin.akinci at gmail.com
Wed Mar 17 08:05:32 UTC 2010


OK, this seems odd to me, but I got it to work by building and installing
both the shared and static libraries and dropping LIBRARY_PATH.

May posterity be endowed with that bit of knowledge.

On Mon, Mar 15, 2010 at 4:08 PM, Ersin Akinci <ersin.akinci at gmail.com>wrote:

> Nope, that didn't work.  Here are the full details:
>
> [ersin at basmati test]$ export
> LIBRARY_PATH="/home/ersin/vorpo/toolchain/usr/lib:$LIBRARY_PATH"
> [ersin at basmati test]$ i386-linux-gcc -static ./test1.c
> -L/home/ersin/vorpo/toolchain/usr/lib
> -I/home/ersin/vorpo/toolchain/usr/include
> -v
>
> Using built-in
> specs.
>
> Target:
> i386-linux-uclibc
>
> Configured with:
> /home/ersin/vorpo/build/buildroot-2010.02/output/toolchain/gcc-4.3.4/configure
> --prefix=/usr --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu
> --target=i386-linux-uclibc --enable-languages=c,c++
> --with-sysroot=/home/ersin/vorpo/build/buildroot-2010.02/output/staging
> --with-build-time-tools=/home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/i386-linux-uclibc/bin
> --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld
> --disable-libssp --enable-tls --enable-shared
> --with-gmp=/home/ersin/vorpo/build/buildroot-2010.02/output/toolchain/gmp
> --with-mpfr=/home/ersin/vorpo/build/buildroot-2010.02/output/toolchain/mpfr
> --disable-nls --enable-threads --disable-multilib --disable-decimal-float
> --with-arch=i386 --with-tune=i386 --with-pkgversion='Buildroot 2010.02'
> --with-bugurl=http://bugs.buildroot.net/
> Thread model:
> posix
>
> gcc version 4.3.4 (Buildroot
> 2010.02)
>
> COLLECT_GCC_OPTIONS='-static' '-L/home/ersin/vorpo/toolchain/usr/lib'
> '-I/home/ersin/vorpo/toolchain/usr/include' '-v' '-mtune=i386'
> '-march=i386'
>
>  /home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../libexec/gcc/i386-linux-uclibc/4.3.4/cc1
> -quiet -v -I/home/ersin/vorpo/toolchain/usr/include -iprefix
> /home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc/i386-linux-uclibc/4.3.4/
> ./test1.c -quiet -dumpbase test1.c -mtune=i386 -march=i386 -auxbase test1
> -version -o
> /home/ersin/tmp/ccQTGvhe.s
> ignoring nonexistent directory
> "/home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/local/include"
>
> ignoring duplicate directory
> "/home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc/../../lib/gcc/i386-linux-uclibc/4.3.4/include"
>
> ignoring duplicate directory
> "/home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc/../../lib/gcc/i386-linux-uclibc/4.3.4/include-fixed"
>
> ignoring duplicate directory
> "/home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc/../../lib/gcc/i386-linux-uclibc/4.3.4/../../../../i386-linux-uclibc/include"
>
> #include "..." search starts
> here:
>
> #include <...> search starts
> here:
>
>  /home/ersin/vorpo/toolchain/usr/include
>
>
>  /home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc/i386-linux-uclibc/4.3.4/include
>  /home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc/i386-linux-uclibc/4.3.4/include-fixed
>
>  /home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc/i386-linux-uclibc/4.3.4/../../../../i386-linux-uclibc/include
>
>  /home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/include
>
> End of search
> list.
>
> GNU C (Buildroot 2010.02) version 4.3.4
> (i386-linux-uclibc)
>         compiled by GNU C version 4.4.1, GMP version 4.2.4, MPFR version
> 2.4.1-p5.
> GGC heuristics: --param ggc-min-expand=100 --param
> ggc-min-heapsize=131072
> Compiler executable checksum:
> 8a9ce719ed6bb70dabfcd086568bbf69
>
> COLLECT_GCC_OPTIONS='-static' '-L/home/ersin/vorpo/toolchain/usr/lib'
> '-I/home/ersin/vorpo/toolchain/usr/include' '-v' '-mtune=i386' '-march=i386'
>  /home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc/i386-linux-uclibc/4.3.4/../../../../i386-linux-uclibc/bin/as
> -V -Qy -o /home/ersin/tmp/cca6PELl.o /home/ersin/tmp/ccQTGvhe.s
> GNU assembler version 2.20 (i386-linux-uclibc) using BFD version (GNU
> Binutils) 2.20
>
> COMPILER_PATH=/home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../libexec/gcc/i386-linux-uclibc/4.3.4/:/home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../libexec/gcc/:/home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc/i386-linux-uclibc/4.3.4/../../../../i386-linux-uclibc/bin/
>
> LIBRARY_PATH=/home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc/i386-linux-uclibc/4.3.4/:/home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc/:/home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc/i386-linux-uclibc/4.3.4/../../../../i386-linux-uclibc/lib/:/home/ersin/vorpo/build/buildroot-2010.02/output/staging/lib/:/home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/lib/
> COLLECT_GCC_OPTIONS='-static' '-L/home/ersin/vorpo/toolchain/usr/lib'
> '-I/home/ersin/vorpo/toolchain/usr/include' '-v' '-mtune=i386' '-march=i386'
>  /home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../libexec/gcc/i386-linux-uclibc/4.3.4/collect2
> --sysroot=/home/ersin/vorpo/build/buildroot-2010.02/output/staging -m
> elf_i386 -static
> /home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/lib/crt1.o
> /home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/lib/crti.o
> /home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc/i386-linux-uclibc/4.3.4/crtbeginT.o
> -L/home/ersin/vorpo/toolchain/usr/lib
> -L/home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc/i386-linux-uclibc/4.3.4
> -L/home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc
> -L/home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc/i386-linux-uclibc/4.3.4/../../../../i386-linux-uclibc/lib
> -L/home/ersin/vorpo/build/buildroot-2010.02/output/staging/lib
> -L/home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/lib
> /home/ersin/tmp/cca6PELl.o --start-group -lgcc -lgcc_eh -lc --end-group
> /home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/bin/../lib/gcc/i386-linux-uclibc/4.3.4/crtend.o
> /home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/lib/crtn.o
>
> /home/ersin/vorpo/build/buildroot-2010.02/output/staging/usr/lib/crt1.o: In
> function `_start':
> (.text+0x1d): undefined reference to `__uClibc_main'
> collect2: ld returned 1 exit status
> [ersin at basmati test]$
>
> Any other ideas?
>
> -Ersin
>
>
>
> On Mon, Mar 15, 2010 at 2:56 PM, Laurent Bercot <ska-dietlibc at skarnet.org>wrote:
>
>> > LIBRARY_PATH="/home/ersin/vorpo/toolchain/usr/lib:$LIBRARY_PATH"
>>
>> export LIBRARY_PATH ?
>>
>> (starting with the *really* obvious :))
>>
>> --
>>  Laurent
>> _______________________________________________
>> uClibc mailing list
>> uClibc at uclibc.org
>> http://lists.busybox.net/mailman/listinfo/uclibc
>>
>
>
>
> --
>
> =========
>
> Ersin Y. Akinci -- http://www.ersinakinci.com
>



-- 
What Digital Revolution? -- www.whatdigitalrevolution.com
Thinking critically about digital worlds.


More information about the uClibc mailing list