JuliaInterop / Cxx.jl

The Julia C++ Interface
Other
755 stars 107 forks source link

Fails to build in Julia v1.3.1 on Linux #459

Closed Ceboc closed 4 years ago

Ceboc commented 4 years ago

Hi, i tried to install Cxx in julia v1.3.1, i build Julia from source on Linux (KDE neon 5.17) with the flags USE_BINARYBUILDER=0 MARCH=native OPENBLAS_TARGET_ARCH=NEHALEM OPENBLAS_USE_THREAD=0

and received the next error output: ''' (v1.3) pkg> add Cxx Cloning default registries into ~/.julia Cloning registry from "https://github.com/JuliaRegistries/General.git" Added registry General to ~/.julia/registries/General Resolving package versions... Installed BinaryProvider ─ v0.5.8 Installed Cxx ──────────── v0.4.0 Updating ~/.julia/environments/v1.3/Project.toml [a0b5b9ef] + Cxx v0.4.0 Updating ~/.julia/environments/v1.3/Manifest.toml [b99e7846] + BinaryProvider v0.5.8 [a0b5b9ef] + Cxx v0.4.0 [2a0f44e3] + Base64 [b77e0a4c] + InteractiveUtils [8f399da3] + Libdl [d6f4376e] + Markdown [3fa0cd96] + REPL [ea8e919c] + SHA [6462fe0b] + Sockets Building Cxx → ~/.julia/packages/Cxx/1RaOv/deps/build.log ┌ Error: Error building Cxx, showing the last 100 of log: │ patching file include/llvm/Config/config.h.cmake │ patching file include/llvm/Config/llvm-config.h.cmake │ patching file include/llvm/ExecutionEngine/JITEventListener.h │ patching file lib/ExecutionEngine/CMakeLists.txt │ patching file lib/ExecutionEngine/LLVMBuild.txt │ patching file lib/ExecutionEngine/Orc/LLVMBuild.txt │ patching file lib/ExecutionEngine/PerfJITEvents/CMakeLists.txt │ patching file lib/ExecutionEngine/PerfJITEvents/LLVMBuild.txt │ patching file lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp │ Applying patch ../../../llvm_patches/0024-llvm-D50010-VNCoercion-ni.patch │ patching file lib/Transforms/Utils/VNCoercion.cpp │ patching file test/Transforms/GVN/non-integral-pointers.ll │ Applying patch ../../../llvm_patches/0025-llvm-D50167-scev-umin.patch │ patching file include/llvm/Analysis/ScalarEvolution.h │ patching file include/llvm/Analysis/ScalarEvolutionExpander.h │ patching file include/llvm/Analysis/ScalarEvolutionExpressions.h │ patching file lib/Analysis/ScalarEvolution.cpp │ patching file lib/Analysis/ScalarEvolutionExpander.cpp │ Hunk #1 succeeded at 1629 (offset -5 lines). │ Hunk #2 succeeded at 1654 (offset -5 lines). │ patching file test/Analysis/LoopAccessAnalysis/memcheck-ni.ll │ patching file test/Analysis/LoopAccessAnalysis/reverse-memcheck-bounds.ll │ patching file test/Analysis/ScalarEvolution/2008-07-29-SMinExpr.ll │ patching file test/Analysis/ScalarEvolution/min-max-exprs.ll │ patching file test/Analysis/ScalarEvolution/pr28705.ll │ patching file test/Analysis/ScalarEvolution/predicated-trip-count.ll │ patching file test/Analysis/ScalarEvolution/trip-count3.ll │ patching file test/Transforms/IRCE/conjunctive-checks.ll │ patching file test/Transforms/IRCE/decrementing-loop.ll │ patching file test/Transforms/IRCE/multiple-access-no-preloop.ll │ patching file test/Transforms/IRCE/ranges_of_different_types.ll │ patching file test/Transforms/IRCE/single-access-no-preloop.ll │ patching file test/Transforms/IRCE/single-access-with-preloop.ll │ patching file test/Transforms/LoopStrengthReduce/2013-01-14-ReuseCast.ll │ Applying patch ../../../llvm_patches/0026-llvm-rL326967-aligned-load.patch │ patching file lib/Target/X86/X86InstrVecCompiler.td │ patching file test/CodeGen/X86/merge-consecutive-loads-256.ll │ patching file test/CodeGen/X86/merge-consecutive-loads-512.ll │ Applying patch ../../../llvm_patches/0027-llvm-D51842-win64-byval-cc.patch │ patching file lib/Target/X86/X86CallingConv.td │ patching file lib/Target/X86/X86ISelLowering.cpp │ Hunk #1 succeeded at 3067 (offset 5 lines). │ Hunk #2 succeeded at 3546 (offset 5 lines). │ patching file test/CodeGen/X86/win64-byval.ll │ Applying patch ../../../llvm_patches/0028-llvm-rL341857-basetsd-case-insensitive-mingw.patch │ patching file projects/compiler-rt/lib/profile/WindowsMMap.h │ Applying patch ../../../llvm_patches/0029-llvm-r355582-avxminmax.patch │ patching file lib/Target/X86/X86ISelLowering.cpp │ Hunk #1 succeeded at 35797 (offset 46 lines). │ Hunk #2 succeeded at 35818 (offset 46 lines). │ Applying patch ../../../llvm_patches/0100-llvm-config-sysroot.patch │ patching file tools/llvm-config/CMakeLists.txt │ Hunk #1 succeeded at 40 with fuzz 1 (offset -9 lines). │ Applying patch ../../../llvm_patches/7000-compiler-rt-codesign.patch │ patching file projects/compiler-rt/cmake/Modules/AddCompilerRT.cmake │ Hunk #1 succeeded at 251 (offset 41 lines). │ patching file projects/compiler-rt/test/asan/CMakeLists.txt │ Hunk #1 succeeded at 81 (offset -2 lines). │ patching file projects/compiler-rt/test/tsan/CMakeLists.txt │ Applying patch ../../../llvm_patches/7001-libcxx-do-not-reexport.patch │ patching file projects/libcxx/lib/CMakeLists.txt │ Applying patch ../../../llvm_patches/7003-compiler-rt-cmake-musl.patch │ patching file projects/compiler-rt/lib/fuzzer/tests/CMakeLists.txt │ Applying patch ../../../llvm_patches/7004-clang-6.0-analyzer-Add-werror-flag-for-analyzer-warnings.patch │ patching file tools/clang/include/clang/Driver/CC1Options.td │ patching file tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h │ patching file tools/clang/lib/Frontend/CompilerInvocation.cpp │ patching file tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp │ patching file tools/clang/test/Analysis/override-werror.c │ Applying patch ../../../llvm_patches/9999-llvm-symver-jlprefix.patch │ patching file tools/llvm-shlib/simple_version_script.map.in │ g++ -D_GLIBCXX_USE_CXX11_ABI=1 -fno-rtti -DLIBRARY_EXPORTS -fPIC -O0 -g -std=c++11 -I/home/cesar/julia//src/support -I/home/cesar/julia/usr/bin/../include -Iusr/src/llvm-6.0.1/tools/clang/include -Iusr/src/llvm-6.0.1/tools/clang/lib -I/home/cesar/julia/usr/bin/../include -I/home/cesar/julia/usr/bin/../include/clang -DLLVM_NDEBUG -c ../src/bootstrap.cpp -o usr/lib/bootstrap.o │ In file included from usr/src/llvm-6.0.1/tools/clang/include/clang/Basic/Diagnostic.h:18:0, │ from usr/src/llvm-6.0.1/tools/clang/include/clang/AST/DeclarationName.h:17, │ from usr/src/llvm-6.0.1/tools/clang/include/clang/AST/DeclBase.h:18, │ from usr/src/llvm-6.0.1/tools/clang/include/clang/AST/Decl.h:18, │ from usr/src/llvm-6.0.1/tools/clang/include/clang/AST/Expr.h:19, │ from usr/src/llvm-6.0.1/tools/clang/include/clang/Sema/ScopeInfo.h:18, │ from ../src/bootstrap.cpp:55: │ usr/src/llvm-6.0.1/tools/clang/include/clang/Basic/DiagnosticIDs.h:71:10: fatal error: clang/Basic/DiagnosticCommonKinds.inc: No such file or directory │ #include "clang/Basic/DiagnosticCommonKinds.inc" │ ^~~~~~~~~~~ │ compilation terminated. │ BuildBootstrap.Makefile:119: recipe for target 'usr/lib/bootstrap.o' failed │ make: *** [usr/lib/bootstrap.o] Error 1 │ [ Info: Building julia source build │ ERROR: LoadError: failed process: Process(make all -j8 -f BuildBootstrap.Makefile BASE_JULIA_BIN=/home/cesar/julia/usr/bin BASE_JULIA_SRC=/home/cesar/julia/, ProcessExited(2)) [2] │ │ Stacktrace: │ [1] pipeline_error at ./process.jl:525 [inlined] │ [2] #run#565(::Bool, ::typeof(run), ::Cmd) at ./process.jl:440 │ [3] run(::Cmd) at ./process.jl:438 │ [4] top-level scope at /home/cesar/.julia/packages/Cxx/1RaOv/deps/build.jl:33 │ [5] include at ./boot.jl:328 [inlined] │ [6] include_relative(::Module, ::String) at ./loading.jl:1105 │ [7] include(::Module, ::String) at ./Base.jl:31 │ [8] include(::String) at ./client.jl:424 │ [9] top-level scope at none:5 │ in expression starting at /home/cesar/.julia/packages/Cxx/1RaOv/deps/build.jl:28 │ writing path.jl file │ Tuning for julia installation at /home/cesar/julia/usr/bin with sources possibly at /home/cesar/julia/ │ │ Full log at /home/cesar/.julia/packages/Cxx/1RaOv/deps/build.log └ @ Pkg.Operations ~/julia/usr/share/julia/stdlib/v1.3/Pkg/src/backwards_compatible_isolation.jl:649 ''' what should i do?

Gnimuc commented 4 years ago

Could you check the following paths are valid paths on your machine?

/home/cesar/julia//src/support 
/home/cesar/julia/usr/bin/../include 
/usr/src/llvm-6.0.1/tools/clang/include 
/usr/src/llvm-6.0.1/tools/clang/lib 
/home/cesar/julia/usr/bin/../include 
/home/cesar/julia/usr/bin/../include/clang
Gnimuc commented 4 years ago

USE_BINARYBUILDER=0 MARCH=native OPENBLAS_TARGET_ARCH=NEHALEM

Wait... It looks like you build Julia from source with USE_BINARYBUILDER=0. This is not required for a Cxx.jl source build anymore since this PR. If you need to build LLVM from scratch for other purposes, those above-mentioned paths should be fixed manually.

Ceboc commented 4 years ago

I return to use a non compiled version of Julia v1.3.1. Thanks