JuliaLang / PackageCompiler.jl

Compile your Julia Package
https://julialang.github.io/PackageCompiler.jl/dev/
MIT License
1.39k stars 185 forks source link

Error when creating a c-callable library on MacOS #932

Open roman-schaerer opened 3 months ago

roman-schaerer commented 3 months ago

I'm using Julia version 1.10.2 on MacOS Sonoma 14.4. When running PackageCompiler.create_library (based on the example code https://github.com/JuliaLang/PackageCompiler.jl/tree/master/examples/MyLib) as

PackageCompiler.create_library(".", target_dir;
                                lib_name="my_lib",
                                precompile_execution_file=["$(@__DIR__)/generate_precompile.jl"],
                                precompile_statements_file=["$(@__DIR__)/additional_precompile.jl"],
                                incremental=false,
                                filter_stdlibs=false,
                                force=true, # Overwrite target_dir.
                                header_files = ["$(@__DIR__)/my_lib.h"],
                            )

the process errors with

ERROR: System image file failed consistency check: maybe opened the wrong version?

The same error occurs for clang 15.0, as well as gcc 13.2.0.

Maybe this issue is related to: https://github.com/JuliaLang/PackageCompiler.jl/issues/738? There a workaround has been suggested, however I don't know if it is applicable to the create_library function.

sloede commented 3 months ago

Yes, this is essentially the same issue (which I also encountered). I am looking forward to #930 hopefully fixing it for both.