jupyter-xeus / xeus-cling

Jupyter kernel for the C++ programming language
BSD 3-Clause "New" or "Revised" License
3.09k stars 299 forks source link

[regression in 0.9.0] undefined reference to clang::CodeGenerator::GetModule() #343

Open yurivict opened 4 years ago

yurivict commented 4 years ago

xeus-cling now fails to link:

[12/14] : && /usr/bin/c++ -fPIC -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wunused-parameter -Wextra -Wreorder -mtune=generic -std=c++14 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing  /usr/local/llvm50_cern-root/lib/libLLVMSupport.so /usr/local/llvm50_cern-root/lib/libclangAST.so -pthread  -fstack-protector-strong -shared -Wl,-soname,libxeus-cling.so.0 -o libxeus-cling.so.0.9.0 CMakeFiles/xeus-cling.dir/src/xinput.cpp.o CMakeFiles/xeus-cling.dir/src/xinterpreter.cpp.o CMakeFiles/xeus-cling.dir/src/xoptions.cpp.o CMakeFiles/xeus-cling.dir/src/xparser.cpp.o CMakeFiles/xeus-cling.dir/src/xpaths.cpp.o CMakeFiles/xeus-cling.dir/src/xholder_cling.cpp.o CMakeFiles/xeus-cling.dir/src/xmagics/executable.cpp.o CMakeFiles/xeus-cling.dir/src/xmagics/execution.cpp.o CMakeFiles/xeus-cling.dir/src/xmagics/os.cpp.o -L/usr/local/llvm50_cern-root/lib -Wl,-rpath,"/usr/local/lib: /usr/local/lib:/usr/local/llvm50_cern-root/lib"  /usr/local/lib/libclingMetaProcessor.so.5.0.0  /usr/local/lib/libxeus.so.1.0.0  /usr/local/lib/libpugixml.so.1.10  /usr/local/lib/libclingInterpreter.so.5.0.0  /usr/local/lib/libclingUtils.so.5.0.0  /usr/local/lib/libzmq.so  /usr/lib/libcrypto.so  /usr/local/lib/libuuid.so  -Wl,-rpath-link,/usr/local/lib && :
[13/14] /usr/local/bin/cmake -E cmake_symlink_library libxeus-cling.so.0.9.0  libxeus-cling.so.0 libxeus-cling.so && :
[14/14] : && /usr/bin/c++  -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wunused-parameter -Wextra -Wreorder -mtune=generic -std=c++14 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing  /usr/local/llvm50_cern-root/lib/libLLVMSupport.so /usr/local/llvm50_cern-root/lib/libclangAST.so -pthread  -fstack-protector-strong   -Wl,--export-dynamic CMakeFiles/xcpp.dir/src/main.cpp.o CMakeFiles/xcpp.dir/src/xpaths.cpp.o  -o xcpp -L/usr/local/llvm50_cern-root/lib -Wl,-rpath,"/usr/local/lib: /usr/local/lib:/usr/local/llvm50_cern-root/lib"  libxeus-cling.so.0.9.0  /usr/local/lib/libclingMetaProcessor.so.5.0.0  /usr/local/lib/libclingInterpreter.so.5.0.0  /usr/local/lib/libclingUtils.so.5.0.0  /usr/local/lib/libxeus.so.1.0.0  /usr/local/lib/libzmq.so  /usr/lib/libcrypto.so  /usr/local/lib/libuuid.so  /usr/local/lib/libpugixml.so.1.10  -Wl,-rpath-link,/usr/local/lib && :
FAILED: xcpp 
: && /usr/bin/c++  -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wunused-parameter -Wextra -Wreorder -mtune=generic -std=c++14 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing  /usr/local/llvm50_cern-root/lib/libLLVMSupport.so /usr/local/llvm50_cern-root/lib/libclangAST.so -pthread  -fstack-protector-strong   -Wl,--export-dynamic CMakeFiles/xcpp.dir/src/main.cpp.o CMakeFiles/xcpp.dir/src/xpaths.cpp.o  -o xcpp -L/usr/local/llvm50_cern-root/lib -Wl,-rpath,"/usr/local/lib: /usr/local/lib:/usr/local/llvm50_cern-root/lib"  libxeus-cling.so.0.9.0  /usr/local/lib/libclingMetaProcessor.so.5.0.0  /usr/local/lib/libclingInterpreter.so.5.0.0  /usr/local/lib/libclingUtils.so.5.0.0  /usr/local/lib/libxeus.so.1.0.0  /usr/local/lib/libzmq.so  /usr/lib/libcrypto.so  /usr/local/lib/libuuid.so  /usr/local/lib/libpugixml.so.1.10  -Wl,-rpath-link,/usr/local/lib && : 
ld: error: libxeus-cling.so.0.9.0: undefined reference to clang::CreateLLVMCodeGen(clang::DiagnosticsEngine&, llvm::StringRef, clang::HeaderSearchOptions const&, clang::PreprocessorOptions const&, clang::CodeGenOptions const&, llvm::LLVMContext&, clang::CoverageSourceInfo*)
ld: error: libxeus-cling.so.0.9.0: undefined reference to clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout const&, llvm::Module*, clang::BackendAction, std::__1::unique_ptr<llvm::raw_pwrite_stream, std::__1::default_delete<llvm::raw_pwrite_stream> >)
ld: error: libxeus-cling.so.0.9.0: undefined reference to clang::CodeGenerator::GetModule()
ld: error: libxeus-cling.so.0.9.0: undefined reference to llvm::DataLayout::~DataLayout()
ld: error: libxeus-cling.so.0.9.0: undefined reference to llvm::DataLayout::clear()
c++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

OS: FreeBSD 12.1 cling-0.5.2018.08.13_4 compiler: clang-9

SylvainCorlay commented 4 years ago

We require cling 0.6 since xeus-cling 0.8. This may be the issue?

yurivict commented 4 years ago

This could be the issue.