I’m trying to port some 0.6 code to 1.0 by way of 0.7, and I’m having trouble with the Cxx package.
Yes, I know Cxx is in an intermediate state. But this code is mission critical, so I don’t really have a choice but go forward with it.
My problem:
-
with the Julia 0.7 binary, I get a “JULIA_HOME” not defined error when adding Cxx. This appears to be a known problem. The suggested fix is to build Julia from source.
-
when built from source, the Cxx package adds and builds, but in use it reports that it can’t find random, name-mangled functions in the library I’m trying to call. The suggested fix is to build Julia with Clang.
-
when built from source with Clang,
]build Cxx
halts with the following error:Error: Error building
Cxx
:
│ WARNING:JULIA_HOME
environment variable is renamed toJULIA_BINDIR
│ g++ -D_GLIBCXX_USE_CXX11_ABI=1 -fno-rtti -DLIBRARY_EXPORTS -fPIC -O0 -g -std=c++11 -
I/home/glen/Code/julia-0.7.0/usr/bin/…/…/src/support -I/home/glen/Code/julia-0.7.0/usr/bin/…/include -I/home/glen/Code/julia-0.7.0/usr/bin/…/…/deps/srccache/llvm-6.0.0/tools/clang/lib -I/home/glen/Code/julia-0.7.0/usr/bin/…/…/deps/llvm-6.0.0/tools/clang/lib -c …/src/bootstrap.cpp -o build/bootstrap.o
│ Not building debug library because corresponding julia DEBUG library does not exist.
│ To build, simply run the build again once the library at
│ /libjulia-debug.so
│ has been built.
│ …/src/bootstrap.cpp:55:10: fatal error: clang/Sema/ScopeInfo.h: No such file or directory
│ #include “clang/Sema/ScopeInfo.h”
│ ^~~~~~~~~~~~~~~~~~~~~~~~
│ compilation terminated.
Suggestions, please. I’m open to anything that will let me get this code working. I’m using a relatively stock Ubuntu 18.04 system. In all cases I’ve checked out the Cxx#master branch via Pkg
.