-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Closed
Labels
regressionRegression in behavior compared to a previous versionRegression in behavior compared to a previous version
Milestone
Description
It was originally posted to JuliaLang/PackageCompiler.jl#456, but I'm reposting here as it might be more relevant to Julia compiler itself.
When trying to build a system image containing Unitful 1.5.0 by using PackageCompiler 1.2.3 on the nightly version of Julia 1.6, I got several "Undefined symbols" errors looking for _jfptr_^_XXXXX. It works fine on Julia 1.5.3.
julia> using PackageCompiler
julia> using Unitful
julia> create_sysimage(:Unitful; sysimage_path="./unitful.so")
[ Info: PackageCompiler: creating system image object file, this might take a while...
Undefined symbols for architecture x86_64:
"_jfptr_^_35271", referenced from:
_tojlinvoke54351 in jl_KDXP0Q.o(text.o)
_tojlinvoke54313 in jl_KDXP0Q.o(text.o)
_tojlinvoke54297 in jl_KDXP0Q.o(text.o)
_tojlinvoke54296 in jl_KDXP0Q.o(text.o)
_tojlinvoke54295 in jl_KDXP0Q.o(text.o)
_tojlinvoke54294 in jl_KDXP0Q.o(text.o)
_tojlinvoke54293 in jl_KDXP0Q.o(text.o)
...
"_jfptr_^_35340", referenced from:
_tojlinvoke54348 in jl_KDXP0Q.o(text.o)
_tojlinvoke54310 in jl_KDXP0Q.o(text.o)
_tojlinvoke54292 in jl_KDXP0Q.o(text.o)
"_jfptr_^_35394", referenced from:
_tojlinvoke54346 in jl_KDXP0Q.o(text.o)
_tojlinvoke54319 in jl_KDXP0Q.o(text.o)
_tojlinvoke54309 in jl_KDXP0Q.o(text.o)
_tojlinvoke54291 in jl_KDXP0Q.o(text.o)
_tojlinvoke54290 in jl_KDXP0Q.o(text.o)
"_jfptr_^_35427", referenced from:
_tojlinvoke54354 in jl_KDXP0Q.o(text.o)
"_jfptr_^_35467", referenced from:
_tojlinvoke54345 in jl_KDXP0Q.o(text.o)
"_jfptr_^_35496", referenced from:
_tojlinvoke54343 in jl_KDXP0Q.o(text.o)
"_jfptr_^_35546", referenced from:
_tojlinvoke54355 in jl_KDXP0Q.o(text.o)
_tojlinvoke54330 in jl_KDXP0Q.o(text.o)
_tojlinvoke54329 in jl_KDXP0Q.o(text.o)
_tojlinvoke54328 in jl_KDXP0Q.o(text.o)
_tojlinvoke54327 in jl_KDXP0Q.o(text.o)
_tojlinvoke54326 in jl_KDXP0Q.o(text.o)
"_jfptr_^_35584", referenced from:
_tojlinvoke54352 in jl_KDXP0Q.o(text.o)
_tojlinvoke54336 in jl_KDXP0Q.o(text.o)
"_jfptr_^_35649", referenced from:
_tojlinvoke54350 in jl_KDXP0Q.o(text.o)
"_jfptr_^_35689", referenced from:
_tojlinvoke54353 in jl_KDXP0Q.o(text.o)
_tojlinvoke54298 in jl_KDXP0Q.o(text.o)
"_jfptr_^_35749", referenced from:
_tojlinvoke54356 in jl_KDXP0Q.o(text.o)
_tojlinvoke54305 in jl_KDXP0Q.o(text.o)
_tojlinvoke54304 in jl_KDXP0Q.o(text.o)
_tojlinvoke54303 in jl_KDXP0Q.o(text.o)
_tojlinvoke54302 in jl_KDXP0Q.o(text.o)
_tojlinvoke54301 in jl_KDXP0Q.o(text.o)
_tojlinvoke54300 in jl_KDXP0Q.o(text.o)
...
"_jfptr_^_35789", referenced from:
_tojlinvoke54344 in jl_KDXP0Q.o(text.o)
"_jfptr_^_35831", referenced from:
_tojlinvoke54347 in jl_KDXP0Q.o(text.o)
_tojlinvoke54317 in jl_KDXP0Q.o(text.o)
_tojlinvoke54316 in jl_KDXP0Q.o(text.o)
_tojlinvoke54315 in jl_KDXP0Q.o(text.o)
_tojlinvoke54308 in jl_KDXP0Q.o(text.o)
_tojlinvoke54289 in jl_KDXP0Q.o(text.o)
"_jfptr_^_36179", referenced from:
_tojlinvoke54349 in jl_KDXP0Q.o(text.o)
_tojlinvoke54334 in jl_KDXP0Q.o(text.o)
_tojlinvoke54325 in jl_KDXP0Q.o(text.o)
_tojlinvoke54324 in jl_KDXP0Q.o(text.o)
_tojlinvoke54318 in jl_KDXP0Q.o(text.o)
"_jfptr_^_36216", referenced from:
_tojlinvoke54342 in jl_KDXP0Q.o(text.o)
"_jfptr_^_36245", referenced from:
_tojlinvoke54341 in jl_KDXP0Q.o(text.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ERROR: failed process: Process(`gcc -m64 -march=x86-64 -shared -L/Applications/Julia-1.6.app/Contents/Resources/julia/lib -o ./unitful.so -Wl,-all_load /var/folders/1k/60gzj8497f54zr9n48bt37r80000gn/T/jl_KDXP0Q.o -ljulia`, ProcessExited(1)) [1]
Stacktrace:
[1] pipeline_error
@ ./process.jl:525 [inlined]
[2] run(::Cmd; wait::Bool)
@ Base ./process.jl:440
[3] run
@ ./process.jl:438 [inlined]
[4] run_with_env
@ ~/.julia/packages/PackageCompiler/AerNj/src/PackageCompiler.jl:93 [inlined]
[5] create_sysimg_from_object_file(input_object::String, sysimage_path::String)
@ PackageCompiler ~/.julia/packages/PackageCompiler/AerNj/src/PackageCompiler.jl:465
[6] create_sysimage(packages::Symbol; sysimage_path::String, project::String, precompile_execution_file::Vector{String}, precompile_statements_file::Vector{String}, incremental::Bool, filter_stdlibs::Bool, replace_default::Bool, cpu_target::String, script::Nothing, base_sysimage::Nothing, isapp::Bool)
@ PackageCompiler ~/.julia/packages/PackageCompiler/AerNj/src/PackageCompiler.jl:434
[7] top-level scope
@ REPL[4]:1
julia> versioninfo()
Julia Version 1.6.0-DEV.1558
Commit e24533d1d1 (2020-11-23 18:27 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin18.7.0)
CPU: Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-11.0.0 (ORCJIT, skylake)
Metadata
Metadata
Assignees
Labels
regressionRegression in behavior compared to a previous versionRegression in behavior compared to a previous version