JuliaInterop / Cxx.jl

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

Building Cxx Error #495

Open AEFR-SC opened 2 years ago

AEFR-SC commented 2 years ago

I'm trying to build Cxx: "Pkg.build("Cxx")".But something went wrong.Here's the infomation:

Building Cxx → `C:\Users\Steve\.julia\scratchspaces\44cfe95a-1eb2-52ea-b672-e2afdf69b78f\71728149f62225470a4ae4260536a98a5009997c\build.log`
ERROR: Error building `Cxx`:
ERROR: LoadError: could not load library "LLVM"
The specified module could not be found.
Stacktrace:
 [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
   @ Base.Libc.Libdl .\libdl.jl:117
 [2] dlopen (repeats 2 times)
   @ .\libdl.jl:117 [inlined]
 [3] dlpath(libname::String)
   @ Base.Libc.Libdl .\libdl.jl:240
 [4] top-level scope
   @ C:\Users\Steve\.julia\packages\Cxx\1RaOv\deps\build.jl:23
 [5] include(fname::String)
   @ Base.MainInclude .\client.jl:451
 [6] top-level scope
   @ none:5
in expression starting at C:\Users\Steve\.julia\packages\Cxx\1RaOv\deps\build.jl:23
writing path.jl file
Tuning for julia installation at D:\Environment\Julia-1.7.2\bin with sources possibly at D:\Environment\Stacktrace:
  [1] pkgerror(msg::String)
    @ Pkg.Types D:\Environment\Julia-1.7.2\share\julia\stdlib\v1.7\Pkg\src\Types.jl:68
  [2] (::Pkg.Operations.var"#62#67"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec})()
    @ Pkg.Operations D:\Environment\Julia-1.7.2\share\julia\stdlib\v1.7\Pkg\src\Operations.jl:962
  [3] withenv(::Pkg.Operations.var"#62#67"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec}, ::Pair{String, String}, ::Vararg{Pair{String}})
    @ Base .\env.jl:172
  [4] (::Pkg.Operations.var"#99#103"{String, Bool, Bool, Bool, Pkg.Operations.var"#62#67"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec}, Pkg.Types.PackageSpec})()
    @ Pkg.Operations D:\Environment\Julia-1.7.2\share\julia\stdlib\v1.7\Pkg\src\Operations.jl:1506
  [5] with_temp_env(fn::Pkg.Operations.var"#99#103"{String, Bool, Bool, Bool, Pkg.Operations.var"#62#67"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec}, Pkg.Types.PackageSpec}, temp_env::String)
    @ Pkg.Operations D:\Environment\Julia-1.7.2\share\julia\stdlib\v1.7\Pkg\src\Operations.jl:1390
  [6] (::Pkg.Operations.var"#98#102"{Bool, Bool, Bool, Pkg.Operations.var"#62#67"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec}, Pkg.Types.Context, Pkg.Types.PackageSpec, String, Pkg.Types.Project, String})(tmp::String)
    @ Pkg.Operations D:\Environment\Julia-1.7.2\share\julia\stdlib\v1.7\Pkg\src\Operations.jl:1469
  [7] mktempdir(fn::Pkg.Operations.var"#98#102"{Bool, Bool, Bool, Pkg.Operations.var"#62#67"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec}, Pkg.Types.Context, Pkg.Types.PackageSpec, String, Pkg.Types.Project, String}, parent::String; prefix::String)
    @ Base.Filesystem .\file.jl:750
  [8] mktempdir(fn::Function, parent::String) (repeats 2 times)
    @ Base.Filesystem .\file.jl:748
  [9] sandbox(fn::Function, ctx::Pkg.Types.Context, target::Pkg.Types.PackageSpec, target_path::String, sandbox_path::String, sandbox_project_override::Pkg.Types.Project; force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool)
    @ Pkg.Operations D:\Environment\Julia-1.7.2\share\julia\stdlib\v1.7\Pkg\src\Operations.jl:1435
 [10] sandbox(fn::Function, ctx::Pkg.Types.Context, target::Pkg.Types.PackageSpec, target_path::String, sandbox_path::String, sandbox_project_override::Pkg.Types.Project)
    @ Pkg.Operations D:\Environment\Julia-1.7.2\share\julia\stdlib\v1.7\Pkg\src\Operations.jl:1432
 [11] build_versions(ctx::Pkg.Types.Context, uuids::Set{Base.UUID}; verbose::Bool)
    @ Pkg.Operations D:\Environment\Julia-1.7.2\share\julia\stdlib\v1.7\Pkg\src\Operations.jl:943
 [12] build(ctx::Pkg.Types.Context, uuids::Set{Base.UUID}, verbose::Bool)
    @ Pkg.Operations D:\Environment\Julia-1.7.2\share\julia\stdlib\v1.7\Pkg\src\Operations.jl:822
 [13] build(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; verbose::Bool, kwargs::Base.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}})
    @ Pkg.API D:\Environment\Julia-1.7.2\share\julia\stdlib\v1.7\Pkg\src\API.jl:992
 [14] build(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Pkg.API D:\Environment\Julia-1.7.2\share\julia\stdlib\v1.7\Pkg\src\API.jl:149
 [15] build(pkgs::Vector{Pkg.Types.PackageSpec})
    @ Pkg.API D:\Environment\Julia-1.7.2\share\julia\stdlib\v1.7\Pkg\src\API.jl:144
 [16] #build#99
    @ D:\Environment\Julia-1.7.2\share\julia\stdlib\v1.7\Pkg\src\API.jl:142 [inlined]
 [17] build
    @ D:\Environment\Julia-1.7.2\share\julia\stdlib\v1.7\Pkg\src\API.jl:142 [inlined]
 [18] #build#98
    @ D:\Environment\Julia-1.7.2\share\julia\stdlib\v1.7\Pkg\src\API.jl:141 [inlined]
 [19] build(pkg::String)
    @ Pkg.API D:\Environment\Julia-1.7.2\share\julia\stdlib\v1.7\Pkg\src\API.jl:141
 [20] top-level scope
    @ REPL[11]:1

I know the mathcine cannot find "LLVM", But I'm primary in Programming.I don't know what the LLVM is. I also tried Pkg.build("LLVM"), but after doing this. It's still wrong. What's more, I have 2 Julia Interpreters on my laptop. One is I installed manually and I added to PATH(By myself)(D:\Environment\Julia). Another is installed automaticlly(When I configure Juno in the app "Atom", another Interpreter installed by Atom.)(C:\Users\Myusername.julia\environments\v1.7)

(I'm not English, so it may be some grammerly wrongs, sorry)

logankilpatrick commented 2 years ago

Hey! This package currently supports limited Julia versions, see the README.md file and some other similar issues: https://github.com/JuliaInterop/Cxx.jl/issues/464

You would need to downgrade Julia versions for this to work since you are currently using 1.7.2.

sairus7 commented 2 years ago

Same error here.

Is this package abandoned???

Or any other options to call C++ code from Julia?

Gnimuc commented 2 years ago

Or any other options to call C++ code from Julia?

https://github.com/JuliaInterop/CxxWrap.jl