# Cxx.jl Compatability with Julia 1.5+

**URL:** https://discourse.julialang.org/t/cxx-jl-compatability-with-julia-1-5/53782
**Category:** Maker
**Tags:** question, package, cxx, development, devdiscussion
**Created:** [January 22, 2021, 1:49pm UTC](https://discourse.julialang.org/t/cxx-jl-compatability-with-julia-1-5/53782 "2021-01-22T13:49:08Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![cadojo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cadojo/32/25328_2.png) [@cadojo](https://discourse.julialang.org/u/cadojo)
#### Post date: [January 22, 2021, 1:49pm UTC](https://discourse.julialang.org/t/cxx-jl-compatability-with-julia-1-5/53782/1 "2021-01-22T13:49:08Z")

</div>

The package [Cxx.jl](https://JuliaInterop/Cxx.jl) seems to be partially compatible with Julia 1.3, and not compatible with Julia 1.5+ (as referenced by [this discourse post](https://discourse.julialang.org/t/how-to-get-libllvm-9-0-1-so-on-ubuntu-18-04-required-by-cxx-package/40950) and [#464](https://github.com/JuliaInterop/Cxx.jl/issues/464#issuecomment-622226826)).

Does Julia 1.5 introduce permanent incompatibilities with a project like Cxx.jl? Or is this a fix-able problem?

I’d be interested in helping contribute, but I wasn’t sure where to begin or where the incompatibilities lie, so I figured I’d post here to start.

---

<div class="post-metadata">

### Author: ![Gnimuc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gnimuc/32/2194_2.png) [@Gnimuc](https://discourse.julialang.org/u/Gnimuc)
#### Post date: [January 23, 2021, 12:27pm UTC](https://discourse.julialang.org/t/cxx-jl-compatability-with-julia-1-5/53782/2 "2021-01-23T12:27:52Z")

</div>

> [@cadojo](#):
>
> Does Julia 1.5 introduce permanent incompatibilities with a project like Cxx.jl?

For example, `jl_get_llvmf_decl` used in Cxx.jl [here](https://github.com/JuliaInterop/Cxx.jl/blob/ce1bbf4a79d348252f07f8a5774e90da75ebbf44/src/cxxstr.jl#L107) was removed from Julia in [this PR](https://github.com/JuliaLang/julia/commit/3b53f54a5e612cfc402f561d71cdbfb40da3529e#diff-62cfb2606c6a323a7f26a3eddfa0bf2b819fa33e094561fee09daeb328e3a1e7L1670).

---

<div class="post-metadata">

### Author: ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)
#### Post date: [January 23, 2021, 12:58pm UTC](https://discourse.julialang.org/t/cxx-jl-compatability-with-julia-1-5/53782/3 "2021-01-23T12:58:27Z")

</div>

My understanding is that unless your name is Keno it’s practically unfixable 😃

---

<div class="post-metadata">

### Author: ![Gnimuc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gnimuc/32/2194_2.png) [@Gnimuc](https://discourse.julialang.org/u/Gnimuc)
#### Post date: [January 23, 2021, 1:00pm UTC](https://discourse.julialang.org/t/cxx-jl-compatability-with-julia-1-5/53782/4 "2021-01-23T13:00:51Z")

</div>

😅 I hope there will be more people who would like to get involved in the maintenance of Cxx.jl.

---

<div class="post-metadata">

### Author: ![hxiong](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hxiong/32/21322_2.png) [@hxiong](https://discourse.julialang.org/u/hxiong)
#### Post date: [January 23, 2021, 6:11pm UTC](https://discourse.julialang.org/t/cxx-jl-compatability-with-julia-1-5/53782/5 "2021-01-23T18:11:06Z")

</div>

I am happy to contribute to Cxx.jl. I know enough C++ to be comfortable with details of C++ parsing.

I have been looking at the source code of Cxx.jl. My current thinking is that we need to get source build working first, and the first step is enabling CMake as a build tool for building libcxxffi. The reason I would like to enable CMake is that:

1. CMake is the standard build tool for C++, for better or worse
2. CMake can enable cross-platform compiling, potentially making Cxx.jl multi-platform
3. CMake will make building against and linking to LLVM and Julia easier because LLVM uses CMake and there is a CMake module in brutus project for linking to Julia.

I am just getting into this, so this is preliminary.

---

<div class="post-metadata">

### Author: ![Gnimuc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gnimuc/32/2194_2.png) [@Gnimuc](https://discourse.julialang.org/u/Gnimuc)
#### Post date: [January 24, 2021, 1:55am UTC](https://discourse.julialang.org/t/cxx-jl-compatability-with-julia-1-5/53782/6 "2021-01-24T01:55:11Z")

</div>

Yep. We love CMake. The binary-build uses the following CMakeLists.txt.

[https://github.com/Gnimuc/CxxBuilder/blob/master/libcxxffi/CMakeLists.txt](https://github.com/Gnimuc/CxxBuilder/blob/master/libcxxffi/CMakeLists.txt)

[https://github.com/Gnimuc/CxxBuilder/blob/master/build\_tarballs.jl](https://github.com/Gnimuc/CxxBuilder/blob/master/build_tarballs.jl)

---

<div class="post-metadata">

### Author: ![ktushar14](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ktushar14/32/25439_2.png) [@ktushar14](https://discourse.julialang.org/u/ktushar14)
#### Post date: [May 24, 2021, 8:49pm UTC](https://discourse.julialang.org/t/cxx-jl-compatability-with-julia-1-5/53782/7 "2021-05-24T20:49:33Z")

</div>

Hello, what’s the status of the compatibility of Cxx.jl with Julia 1.5+? I’m using Julia 1.5.3 and want to use a shared C++ library in Julia.

---

<div class="post-metadata">

### Author: ![Gnimuc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gnimuc/32/2194_2.png) [@Gnimuc](https://discourse.julialang.org/u/Gnimuc)
#### Post date: [May 25, 2021, 4:57am UTC](https://discourse.julialang.org/t/cxx-jl-compatability-with-julia-1-5/53782/8 "2021-05-25T04:57:52Z")

</div>

Please use `CxxWrap` instead. AFAICT, there is no plan to fix the compatibility issues for Julia 1.5.
