x86_64 embedded profile; gcc link failure building against uclibc

View: New views
2 Messages — Rating Filter:   Alert me  

x86_64 embedded profile; gcc link failure building against uclibc

by Charles Duffy-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


I'm trying to build a recovery initrd targeted at remote administration.
It will "phone home" using OpenVPN, which in turn requires OpenSSL,
which means this needs to be larger than the typical embedded root.

Thus far, I'm trying to use T2's embedded target; if it's not the most
suitable tool for this purpose, I'd appreciate guidance in that
direction. In any case, this is targeting use on x86_64, and I'm unable
to build the embedded target (using uclibc); GCC has a link failure,
apparently trying to link a 32-bit instance of the compiler against the
local 64-bit uclibc.

How can I prevent this?

> /local/ccd/t2-trunk/src.gcc.default.20080103.190748.14869.gaspar/gcc-4.2.2/objdir/gcc/xgcc-wrapper x86_64-t2-linux-uclibc-gcc  -O2  -O2 -g -O2  -DIN_GCC    -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED  -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc/32/libgcc.map -o 32/libgcc_s.so.1.tmp  -m32 libgcc/32/_muldi3_s.o libgcc/32/_negdi2_s.o libgcc/32/_lshrdi3_s.o libgcc/32/_ashldi3_s.o libgcc/32/_ashrdi3_s.o libgcc/32/_cmpdi2_s.o libgcc/32/_ucmpdi2_s.o libgcc/32/_clear_cache_s.o libgcc/32/_enable_execute_stack_s.o libgcc/32/_trampoline_s.o libgcc/32/__main_s.o libgcc/32/_absvsi2_s.o libgcc/32/_absvdi2_s.o libgcc/32/_addvsi3_s.o libgcc/32/_addvdi3_s.o libgcc/32/_subvsi3_s.o libgcc/32/_subvdi3_s.o libgcc/32/_mulvsi3_s.o libgcc/32/_mulvdi3_s.o libgcc/32/_negvsi2_s.o libgcc/32/_negvdi2_s.o libgcc/32/_ctors_s.o libgcc/32/_f

fssi2_s.o libgcc/32/_ffsdi2_s.o libgcc/32/_clz_s.o libgcc/32/_clzsi2_s.o
libgcc/32/_clzdi2_s.o libgcc/32/_ctzsi2_s.o libgcc/32/_ctzdi2_s.o
libgcc/32/_popcount_tab_s.o libgcc/32/_popcountsi2_s.o
libgcc/32/_popcountdi2_s.o libgcc/32/_paritysi2_s.o
libgcc/32/_paritydi2_s.o libgcc/32/_powisf2_s.o libgcc/32/_powidf2_s.o
libgcc/32/_powixf2_s.o libgcc/32/_powitf2_s.o libgcc/32/_mulsc3_s.o
libgcc/32/_muldc3_s.o libgcc/32/_mulxc3_s.o libgcc/32/_multc3_s.o
libgcc/32/_divsc3_s.o libgcc/32/_divdc3_s.o libgcc/32/_divxc3_s.o
libgcc/32/_divtc3_s.o libgcc/32/_fixunssfsi_s.o
libgcc/32/_fixunsdfsi_s.o libgcc/32/_fixunsxfsi_s.o
libgcc/32/_fixsfdi_s.o libgcc/32/_fixunssfdi_s.o
libgcc/32/_floatdisf_s.o libgcc/32/_floatundisf_s.o
libgcc/32/_fixdfdi_s.o libgcc/32/_fixunsdfdi_s.o
libgcc/32/_floatdidf_s.o libgcc/32/_floatundidf_s.o
libgcc/32/_fixxfdi_s.o libgcc/32/_fixunsxfdi_s.o
libgcc/32/_floatdixf_s.o libgcc/32/_floatundixf_s.o
libgcc/32/_fixtfdi_s.o libgcc/32/_fixunstfdi_s.o libgcc/32/_floatditf_
s.o libgcc/32/_floatunditf_s.o libgcc/32/_divdi3_s.o
libgcc/32/_moddi3_s.o libgcc/32/_udivdi3_s.o libgcc/32/_umoddi3_s.o
libgcc/32/_udiv_w_sdiv_s.o libgcc/32/_udivmoddi4_s.o
libgcc/32/unwind-dw2_s.o libgcc/32/unwind-dw2-fde-glibc_s.o
libgcc/32/unwind-sjlj_s.o libgcc/32/gthr-gnat_s.o libgcc/32/unwind-c_s.o
-lc && rm -f 32/libgcc_s.so && if [ -f 32/libgcc_s.so.1 ]; then mv -f
32/libgcc_s.so.1 32/libgcc_s.so.1.backup; else true; fi && mv
32/libgcc_s.so.1.tmp 32/libgcc_s.so.1 && ln -s libgcc_s.so.1 32/libgcc_s.so

> /local/ccd/t2-trunk/build/default-8.0-trunk-embedded-x86-64/TOOLCHAIN/tools.cross/crosscc/../lib64/gcc/x86_64-t2-linux-uclibc/4.2.2/../../../../x86_64-t2-linux-uclibc/bin/ld: skipping incompatible /local/ccd/t2-trunk/build/default-8.0-trunk-embedded-x86-64/lib/libc.so.0 when searching for /lib/libc.so.0
> /local/ccd/t2-trunk/build/default-8.0-trunk-embedded-x86-64/TOOLCHAIN/tools.cross/crosscc/../lib64/gcc/x86_64-t2-linux-uclibc/4.2.2/../../../../x86_64-t2-linux-uclibc/bin/ld: cannot find /lib/libc.so.0 inside /local/ccd/t2-trunk/build/default-8.0-trunk-embedded-x86-64
> collect2: ld returned 1 exit status
> make[3]: *** [32/libgcc_s.so] Error 1
> make[3]: *** Waiting for unfinished jobs....
> make[3]: Leaving directory `/local/ccd/t2-trunk/src.gcc.default.20080103.190748.14869.gaspar/gcc-4.2.2/objdir/gcc'
> make[2]: *** [stmp-multilib] Error 2
> make[2]: Leaving directory `/local/ccd/t2-trunk/src.gcc.default.20080103.190748.14869.gaspar/gcc-4.2.2/objdir/gcc'
> make[1]: *** [all-gcc] Error 2
> make[1]: Leaving directory `/local/ccd/t2-trunk/src.gcc.default.20080103.190748.14869.gaspar/gcc-4.2.2/objdir'
> make: *** [all] Error 2



-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
lists@... with a subject of: unsubscribe t2

Re: x86_64 embedded profile; gcc link failure building against uclibc

by Rene Rebe :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Charles,

sorry for the late reply, I just continue to be overly busy.

Your build error is probably just due to some hardcoding or
mis detection in the openssl Makefile / configure Skript.

Just take a look where the OpenSSL Makefile / configure is
getting it wrong.

Yours,
  RenĂ©

On Friday 04 January 2008 15:00:47 Charles Duffy wrote:

>
> I'm trying to build a recovery initrd targeted at remote administration.
> It will "phone home" using OpenVPN, which in turn requires OpenSSL,
> which means this needs to be larger than the typical embedded root.
>
> Thus far, I'm trying to use T2's embedded target; if it's not the most
> suitable tool for this purpose, I'd appreciate guidance in that
> direction. In any case, this is targeting use on x86_64, and I'm unable
> to build the embedded target (using uclibc); GCC has a link failure,
> apparently trying to link a 32-bit instance of the compiler against the
> local 64-bit uclibc.
>
> How can I prevent this?
>
> > /local/ccd/t2-trunk/src.gcc.default.20080103.190748.14869.gaspar/gcc-4.2.2/objdir/gcc/xgcc-wrapper x86_64-t2-linux-uclibc-gcc  -O2  -O2 -g -O2  -DIN_GCC    -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED  -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc/32/libgcc.map -o 32/libgcc_s.so.1.tmp  -m32 libgcc/32/_muldi3_s.o libgcc/32/_negdi2_s.o libgcc/32/_lshrdi3_s.o libgcc/32/_ashldi3_s.o libgcc/32/_ashrdi3_s.o libgcc/32/_cmpdi2_s.o libgcc/32/_ucmpdi2_s.o libgcc/32/_clear_cache_s.o libgcc/32/_enable_execute_stack_s.o libgcc/32/_trampoline_s.o libgcc/32/__main_s.o libgcc/32/_absvsi2_s.o libgcc/32/_absvdi2_s.o libgcc/32/_addvsi3_s.o libgcc/32/_addvdi3_s.o libgcc/32/_subvsi3_s.o libgcc/32/_subvdi3_s.o libgcc/32/_mulvsi3_s.o libgcc/32/_mulvdi3_s.o libgcc/32/_negvsi2_s.o libgcc/32/_negvdi2_s.o libgcc/32/_ctors_s.o libgcc/32/_f
>
> fssi2_s.o libgcc/32/_ffsdi2_s.o libgcc/32/_clz_s.o libgcc/32/_clzsi2_s.o
> libgcc/32/_clzdi2_s.o libgcc/32/_ctzsi2_s.o libgcc/32/_ctzdi2_s.o
> libgcc/32/_popcount_tab_s.o libgcc/32/_popcountsi2_s.o
> libgcc/32/_popcountdi2_s.o libgcc/32/_paritysi2_s.o
> libgcc/32/_paritydi2_s.o libgcc/32/_powisf2_s.o libgcc/32/_powidf2_s.o
> libgcc/32/_powixf2_s.o libgcc/32/_powitf2_s.o libgcc/32/_mulsc3_s.o
> libgcc/32/_muldc3_s.o libgcc/32/_mulxc3_s.o libgcc/32/_multc3_s.o
> libgcc/32/_divsc3_s.o libgcc/32/_divdc3_s.o libgcc/32/_divxc3_s.o
> libgcc/32/_divtc3_s.o libgcc/32/_fixunssfsi_s.o
> libgcc/32/_fixunsdfsi_s.o libgcc/32/_fixunsxfsi_s.o
> libgcc/32/_fixsfdi_s.o libgcc/32/_fixunssfdi_s.o
> libgcc/32/_floatdisf_s.o libgcc/32/_floatundisf_s.o
> libgcc/32/_fixdfdi_s.o libgcc/32/_fixunsdfdi_s.o
> libgcc/32/_floatdidf_s.o libgcc/32/_floatundidf_s.o
> libgcc/32/_fixxfdi_s.o libgcc/32/_fixunsxfdi_s.o
> libgcc/32/_floatdixf_s.o libgcc/32/_floatundixf_s.o
> libgcc/32/_fixtfdi_s.o libgcc/32/_fixunstfdi_s.o libgcc/32/_floatditf_
> s.o libgcc/32/_floatunditf_s.o libgcc/32/_divdi3_s.o
> libgcc/32/_moddi3_s.o libgcc/32/_udivdi3_s.o libgcc/32/_umoddi3_s.o
> libgcc/32/_udiv_w_sdiv_s.o libgcc/32/_udivmoddi4_s.o
> libgcc/32/unwind-dw2_s.o libgcc/32/unwind-dw2-fde-glibc_s.o
> libgcc/32/unwind-sjlj_s.o libgcc/32/gthr-gnat_s.o libgcc/32/unwind-c_s.o
> -lc && rm -f 32/libgcc_s.so && if [ -f 32/libgcc_s.so.1 ]; then mv -f
> 32/libgcc_s.so.1 32/libgcc_s.so.1.backup; else true; fi && mv
> 32/libgcc_s.so.1.tmp 32/libgcc_s.so.1 && ln -s libgcc_s.so.1 32/libgcc_s.so
> > /local/ccd/t2-trunk/build/default-8.0-trunk-embedded-x86-64/TOOLCHAIN/tools.cross/crosscc/../lib64/gcc/x86_64-t2-linux-uclibc/4.2.2/../../../../x86_64-t2-linux-uclibc/bin/ld: skipping incompatible /local/ccd/t2-trunk/build/default-8.0-trunk-embedded-x86-64/lib/libc.so.0 when searching for /lib/libc.so.0
> > /local/ccd/t2-trunk/build/default-8.0-trunk-embedded-x86-64/TOOLCHAIN/tools.cross/crosscc/../lib64/gcc/x86_64-t2-linux-uclibc/4.2.2/../../../../x86_64-t2-linux-uclibc/bin/ld: cannot find /lib/libc.so.0 inside /local/ccd/t2-trunk/build/default-8.0-trunk-embedded-x86-64
> > collect2: ld returned 1 exit status
> > make[3]: *** [32/libgcc_s.so] Error 1
> > make[3]: *** Waiting for unfinished jobs....
> > make[3]: Leaving directory `/local/ccd/t2-trunk/src.gcc.default.20080103.190748.14869.gaspar/gcc-4.2.2/objdir/gcc'
> > make[2]: *** [stmp-multilib] Error 2
> > make[2]: Leaving directory `/local/ccd/t2-trunk/src.gcc.default.20080103.190748.14869.gaspar/gcc-4.2.2/objdir/gcc'
> > make[1]: *** [all-gcc] Error 2
> > make[1]: Leaving directory `/local/ccd/t2-trunk/src.gcc.default.20080103.190748.14869.gaspar/gcc-4.2.2/objdir'
> > make: *** [all] Error 2
--
  RenĂ© Rebe - ExactCODE GmbH - Europe, Germany, Berlin
  http://exactcode.de | http://t2-project.org | http://rene.rebe.name

-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
lists@... with a subject of: unsubscribe t2
LightInTheBox - Buy quality products at wholesale price!