2010年8月5日 星期四

hidden symbol `XXX' in YYY is referenced by DSO; Nonrepresentable section on output

buildroot-2010.05 on FC9 (no issue alike with Ubuntu 8.04/10.4)

configure:3939: checking for initscr in -lncurses
configure:3974: arm-unknown-linux-uclibcgnueabi-gcc -O3 -pipe -Os -mtune=arm1136jf-s -march=armv6j -mabi=aapcs-linux -mfpu=vfp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/arm-linux-le-uclibc-gcc-4.3.3-2010.05/usr/include -I/arm-linux-le-uclibc-gcc-4.3.3-2010.05/include --sysroot=/arm-linux-le-uclibc-gcc-4.3.3-2010.05/ -isysroot /arm-linux-le-uclibc-gcc-4.3.3-2010.05 -o conftest -O3 -pipe -Os -mtune=arm1136jf-s -march=armv6j -mabi=aapcs-linux -mfpu=vfp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/arm-linux-le-uclibc-gcc-4.3.3-2010.05/usr/include -I/arm-linux-le-uclibc-gcc-4.3.3-2010.05/include --sysroot=/arm-linux-le-uclibc-gcc-4.3.3-2010.05/ -isysroot /arm-linux-le-uclibc-gcc-4.3.3-2010.05 -L/arm-linux-le-uclibc-gcc-4.3.3-2010.05/lib -L/arm-linux-le-uclibc-gcc-4.3.3-2010.05/usr/lib --sysroot=/arm-linux-le-uclibc-gcc-4.3.3-2010.05/ conftest.c -lncurses >&5
/arm-unknown-linux-uclibcgnueabi/bin/ld: conftest: hidden symbol `__aeabi_ddiv' in /arm-linux-le-uclibc-gcc-4.3.3-2010.05/usr/lib/gcc/arm-unknown-linux-uclibcgnueabi/4.3.3/libgcc.a(_muldivdf3.o) is referenced by DSO
/arm-unknown-linux-uclibcgnueabi/bin/ld: final link failed: Nonrepresentable section on output


how to compile these code(simple share library)
http://topic.csdn.net/u/20070112/14/7c180efb-91f3-44ec-a19f-e8334e7ae73a.html
-shared
-lshare


[linux-karma-devel] Nonrepresentable section on output - Suggestoin
http://www.mail-archive.com/linux-karma-devel@lists.sourceforge.net/msg00389.html
The answer in my case and likely in yours, is that you have invoked the "ld" loader explicitly instead of frontending it with gcc. If you replace ld with gcc -shared in the make where you build your shared library, then links against that library will not get the "Nonrepresentable section on output " as a result of including modules from non-shared libraries (.a archives).


hidden symbol `__aeabi_uidiv' in xxxx is referenced by DSO
http://tw.myblog.yahoo.com/stevegigijoe/article?mid=-2&next=145&l=a&fid=9
-lgcc_s


Surfing and cross-compiling glib for RunningBear
http://people.defora.org/~khorben/200903.html
In this case, the problem is usually solved by adding either "-l gcc" or "`gcc -print-libgcc-file-name`" to the linking flags (LDFLAGS). However, unlike my other regular platforms (i386, amd64, sparc64) here it wasn't enough. After a lot of head-banging (to be fair, it also comes from the music) I realized that this flag is necessary both when linking the libc *and* the final executable file.


[Linux] Ubuntu 底下編譯 ebtables 失敗
http://antontw.blogspot.com/2008/11/linux-ubuntu-ebtables.html

沒有留言: