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
0 意見:
張貼留言