clangupc / clang-upc

Clang UPC Front-End
https://clangupc.github.io/
Other
17 stars 5 forks source link

3.8.0 - build failure on x86_64 #85

Closed nenadv closed 8 years ago

nenadv commented 8 years ago

I updated my sources to 3.8. But I am getting an error in the build stage:

[ 48%] Linking CXX shared library ../../../lib/libc++.so
CMakeFiles/cxx.dir/__/src/stdexcept.cpp.o:(.data.rel.ro._ZTISt15underflow_error[_ZTISt15underflow_error]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
CMakeFiles/cxx.dir/__/src/stdexcept.cpp.o:(.data.rel.ro._ZTISt14overflow_error[_ZTISt14overflow_error]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
CMakeFiles/cxx.dir/__/src/stdexcept.cpp.o:(.data.rel.ro._ZTISt11range_error[_ZTISt11range_error]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
CMakeFiles/cxx.dir/__/src/stdexcept.cpp.o:(.data.rel.ro._ZTISt12out_of_range[_ZTISt12out_of_range]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
CMakeFiles/cxx.dir/__/src/stdexcept.cpp.o:(.data.rel.ro._ZTISt12length_error[_ZTISt12length_error]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
CMakeFiles/cxx.dir/__/src/stdexcept.cpp.o:(.data.rel.ro._ZTISt16invalid_argument[_ZTISt16invalid_argument]+0x0): more undefined references to `vtable for __cxxabiv1::__si_class_type_info' follow
CMakeFiles/cxx.dir/__/src/stdexcept.cpp.o:(.data.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to `__gxx_personality_v0'
CMakeFiles/cxx.dir/__/src/ios.cpp.o: In function `std::__1::iostream_category()':
/eng/upc/dev/nenad/clang-upc/src/llvm/projects/libcxx/src/ios.cpp:70: undefined reference to `__cxa_guard_acquire'
/eng/upc/dev/nenad/clang-upc/src/llvm/projects/libcxx/src/ios.cpp:70: undefined reference to `__cxa_guard_release'
CMakeFiles/cxx.dir/__/src/ios.cpp.o: In function `std::__1::ios_base::clear(unsigned int)':

I thought that our nightly build was able to build it before update for failing test cases. But I might be wrong.

swatanabe commented 8 years ago

AMDG

On 05/02/2016 10:51 AM, Nenad Vukicevic wrote:

I updated my sources to 3.8. But I am getting an error in the build stage:

[ 48%] Linking CXX shared library ../../../lib/libc++.so

I assume that I didn't see this because I'm not using libc++.

CMakeFiles/cxx.dir//src/stdexcept.cpp.o:(.data.rel.ro._ZTISt15underflow_error[_ZTISt15underflow_error]+0x0): undefined reference to `vtable for cxxabiv1::si_class_type_info' CMakeFiles/cxx.dir//src/stdexcept.cpp.o:(.data.rel.ro._ZTISt14overflow_error[_ZTISt14overflow_error]+0x0): undefined reference to vtable for __cxxabiv1::__si_class_type_info' CMakeFiles/cxx.dir/__/src/stdexcept.cpp.o:(.data.rel.ro._ZTISt11range_error[_ZTISt11range_error]+0x0): undefined reference tovtable for cxxabiv1::si_class_type_info' CMakeFiles/cxx.dir//src/stdexcept.cpp.o:(.data.rel.ro._ZTISt12out_of_range[_ZTISt12out_of_range]+0x0): undefined reference to `vtable for cxxabiv1::si_class_type_info' CMakeFiles/cxx.dir//src/stdexcept.cpp.o:(.data.rel.ro._ZTISt12length_error[_ZTISt12length_error]+0x0): undefined reference to `vtable for cxxabiv1::__si_class_type_info' CMakeFiles/cxx.dir//src/stdexcept.cpp.o:(.data.rel.ro._ZTISt16invalid_argument[_ZTISt16invalid_argument]+0x0): more undefined references to vtable for __cxxabiv1::__si_class_type_info' follow CMakeFiles/cxx.dir/__/src/stdexcept.cpp.o:(.data.DW.ref.**gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference togxx_personality_v0' CMakeFiles/cxx.dir/**/src/ios.cpp.o: In function `std::1::iostream_category()': /eng/upc/dev/nenad/clang-upc/src/llvm/projects/libcxx/src/ios.cpp:70: undefined reference to**cxa_guard_acquire' /eng/upc/dev/nenad/clang-upc/src/llvm/projects/libcxx/src/ios.cpp:70: undefined reference tocxa_guard_release' CMakeFiles/cxx.dir/**/src/ios.cpp.o: In function `std::1::ios_base::clear(unsigned int)':


I thought that our nightly build was able to build it before update for failing test cases.  But I might be wrong.

I don't think that anything in that update should have caused this. My best guess is that a change I made to the driver accidentally dropped some necessary linker options. The easiest way to trace it is probably to figure out where __cxa_guard_acquire/release are supposed to be defined.

In Christ, Steven Watanabe

nenadv commented 8 years ago

Ok, I see now. It seems that I had libcxx installed under projects. Which probably needs some freshening too.