2013年3月25日 星期一

[Gcc][Compile Error] Compile gcc 4.4.2 on Fedora 17


Error :

./.libs/libgcj.so: undefined reference to `__cxa_call_unexpected'

collect2: ld returned 1 exit status

make[3]: *** [jv-convert] Error 1

make[3]: Leaving directory `/home/happy/gcc-4.4.2/i686-pc-linux-gnu/libjava'

make[2]: *** [all-recursive] Error 1

make[2]: Leaving directory `/home/happy/gcc-4.4.2/i686-pc-linux-gnu/libjava'

make[1]: *** [all-target-libjava] Error 2

make[1]: Leaving directory `/home/happy/gcc-4.4.2'

make: *** [all] Error 2


Solution :

Use nm to find the symbol (__cxa_call_unexpected) in which *.o.

Then will know which file error.

See the red word. Compile enter the `/home/happy/gcc-4.4.2/i686-pc-linux-gnu/libjava. Then will find ./i686-pc-linux-gnu/libjava/prims.o have error.



Seeing the patch, patch to the source code.

Make will successfully.


[root@localhost gcc-4.4.2]# find . -name '*.o' | xargs nm -o | grep __cxa_call_unexpected

./i686-pc-linux-gnu/libstdc++-v3/src/.libs/wlocale-inst.o:         U __cxa_call_unexpected

./i686-pc-linux-gnu/libstdc++-v3/src/.libs/locale-inst.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/ext-inst.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/fstream-inst.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/bitmap_allocator.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/localename.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/ios.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/pool_allocator.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/string-inst.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/wstring-inst.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/stdexcept.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/locale.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/compatibility.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/ctype.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/ctype_members.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/debug.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/ios_failure.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/locale_init.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/.libs/mt_allocator.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/wlocale-inst.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/locale-inst.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/ext-inst.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/fstream-inst.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/bitmap_allocator.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/localename.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/ios.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/pool_allocator.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/string-inst.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/wstring-inst.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/stdexcept.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/locale.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/ctype.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/ctype_members.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/debug.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/ios_failure.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/locale_init.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/src/mt_allocator.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/libsupc++/eh_personality.o:00000000 T __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/libsupc++/new_opv.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/libsupc++/eh_catch.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/libsupc++/new_opnt.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/libsupc++/eh_alloc.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libstdc++-v3/libsupc++/new_op.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libjava/.libs/prims.o:         U __cxa_call_unexpected


./i686-pc-linux-gnu/libjava/prims.o:         U __cxa_call_unexpected


Related Posts:

0 意見:

張貼留言