On 06/09/12 14:53, Dimitry Andric wrote:
On 2012-06-09 14:14, O. Hartmann wrote:
My FreeBSD 10-CURRENT/amd64 boxes fail to build Thunderbird 13 compiling
with CLANG. The error is very much the same as when I try compiling
Firefox 13 on the same box with CLANG.
...
I'm not sure this problem is related to clang at all, see below.
I tried to track down the problem, but I failed. Bot systems are used to
have very similar setups and ports, both boxes have FreeBSD
10.0-CURRENT/amd64 (FreeBSD 10.0-CURRENT #0 r236694: Wed Jun 6 23:06:12
CEST 2012), both OSes have been compiled with CLANG. The box in question
is a very new Sandy-Bridge-E system with 32GB RAM, while the box
compiling well is a older Core2Duo (I mention this since I read about
differences in how LLVM/CLANG 3.1 may behave on different CPUs, even
with -O2 enabled).
I'm confused about this, since Firefox 13 and even 12 fail at the same
point with a very similar error message in this xpcom module.
...
/usr/ports/mail/thunderbird/work/comm-release/mozilla/xpcom/base/nsStackWalk.cpp:1196:29:
error: use of undeclared identifier '_Unwind_Backtrace'
_Unwind_Reason_Code t = _Unwind_Backtrace(unwind_callback, info);
This simply looks like a problem in nsStackWalk.cpp; it should include
unwind.h to get the proper declaration for _Unwind_Backtrace().
I don't have the time to look into this at the moment, but my suspicion
would be that whatever Mozilla uses for its configuration scripts is not
finding the proper unwind.h header.
Thank you for looking into this.
Well, I did the follwoing. I search per find / -name unwind.h -print
for unwind.h. On all of my boxes, there are plenty of them found:
root@thor [~] find / -name unwind.h -print
/usr/local/include/unwind.h
/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd10.0/4.6.4/include/unwind.h
/usr/src/include/unwind.h
/usr/src/contrib/libcxxrt/unwind.h
/usr/src/contrib/llvm/tools/clang/lib/Headers/unwind.h
/usr/src/sys/ia64/include/unwind.h
/usr/obj/usr/src/tmp/usr/include/c++/v1/unwind.h
/usr/obj/usr/src/tmp/usr/include/clang/3.1/unwind.h
/usr/obj/usr/src/tmp/usr/src/gnu/usr.bin/cc/cc_tools/unwind.h
/usr/obj/usr/src/gnu/lib/libgcc/unwind.h
/usr/obj/usr/src/gnu/lib/libstdc++/unwind.h
/usr/obj/usr/src/gnu/lib/libsupc++/unwind.h
/usr/obj/usr/src/gnu/usr.bin/cc/cc_tools/unwind.h
/usr/obj/usr/src/lib32/usr/include/c++/v1/unwind.h
/usr/obj/lib32/usr/src/gnu/lib/libgcc/unwind.h
/usr/obj/lib32/usr/src/gnu/lib/libstdc++/unwind.h
/usr/obj/lib32/usr/src/gnu/lib/libsupc++/unwind.h
/usr/include/c++/v1/unwind.h
/usr/include/clang/3.1/unwind.h
Lppking at other places:
ohartmann@thor: [~] apropos unwind
_U_dyn_cancel(3) - -- cancel unwind-info for dynamically
generated code
_U_dyn_register(3) - -- register unwind-info for dynamically
generated code
libunwind(3) - -- a (mostly) platform-independent unwind API
libunwind-dynamic(3) - -- libunwind-support for runtime-generated code
libunwind-ia64(3)- -- IA-64-specific support in libunwind
libunwind-ptrace(3) - -- ptrace() support in libunwind
libunwind-setjmp(3) - -- libunwind-based non-local gotos
unw_create_addr_space(3) - -- create address space for remote unwinding
unw_destroy_addr_space(3) - -- destroy unwind address space
unw_init_local(3)- -- initialize cursor for local unwinding
unw_init_remote(3) - -- initialize cursor for remote unwinding
unw_set_caching_policy(3) - -- set unwind caching policy
ohartmann@thor: [~] pkg_info |grep unwind
libunwind-20110911 A generic stack unwinding library
ohartmann@thor: [~] pkg_info -R libunwind-20110911
Information for libunwind-20110911:
Required by:
blender-2.63_1
Well, on all boxes in question I/we have installed port blender and
blender reels in port libunwind.
I will check by deleting port libunwind wether I can build
firefox/thunderbird with CLANG (gcc 4.6 works fine).
Regards,
oh
signature.asc
Description: OpenPGP digital signature