Success!
Two lines were removed from the mac-specific code in this commit:
https://github.com/JuliaLang/julia/commit/d45e430ceb79562bcd2b7e50566ee2910e257488#diff-aad9ab47160c145b4b5171d33b3064da
For me, adding them back fixed things, see line 131 in
contrib/build_sysimage.jl:
if OS_NAME == :Darwin
push!(FLAGS, "-dylib")
push!(FLAGS, "-undefined")
push!(FLAGS, "dynamic_lookup")
push!(FLAGS, "-macosx_version_min")
push!(FLAGS, "10.7")
else
I could also fix it by adding the option -lSystem.B , but I guess the
-undefined option is probably a more general solution (bearing in mind that
I have little idea what is going on)
Of course it is possible that there was a very good reason for the removal
of these lines.
I'll raise an issue on github.
Cheers,
Tom
On Saturday, 14 November 2015 15:29:36 UTC+10, Tom Lee wrote:
>
> I should clarify my julia version:
>
> Version 0.4.2-pre+3 (2015-11-10 21:30 UTC)
> Commit 34a834f* (3 days old release-0.4)
> x86_64-apple-darwin15.0.0
>
> On Saturday, 14 November 2015 15:16:16 UTC+10, Tom Lee wrote:
>>
>> Did you find a solution to this error? I get the same problem on OSX El
>> Capitan. Seems to happen when building a system image, and I get the same
>> error when just running build_sysimage.jl with default options. Something
>> goes wrong with the linking step, which on my setup looks like:
>>
>> ld -L/Users/tomlee/julia-install/lib/julia -dylib -macosx_version_min
>> 10.7 -ljulia -o /Users/tomlee/julia-install/lib/julia/sys.dylib
>> /Users/tomlee/julia-install/lib/julia/sys.o
>>
>> I am really not an expert when it comes to compiling/linking things, so
>> if anyone has a suggestion of where to look for the problem I would be
>> grateful. Maybe I have installed something with homebrew that conflicts
>> with the process.
>>
>> On Tuesday, 25 August 2015 10:47:34 UTC+10, Karthikeyan Natesan
>> Ramamurthy wrote:
>>>
>>> Not sure if this is related to:
>>>
>>>
>>> https://groups.google.com/forum/#!searchin/julia-users/build_executable.jl/julia-users/5Q4f4Kym3iM/ww25_zLQMmEJ
>>>
>>> (of which my test is based)
>>>
>>>
>>> https://groups.google.com/forum/#!searchin/julia-users/build_executable.jl/julia-users/mkePcWs5HgY/2vg_opFLMaEJ
>>>
>>>
>>> On Monday, August 24, 2015 at 5:36:24 PM UTC-7, Karthikeyan Natesan
>>> Ramamurthy wrote:
>>>>
>>>> Hi all
>>>>
>>>> I am trying to build an executable using the latest build_executable.jl
>>>> in osx yosemite. This is my code:
>>>>
>>>> function main()
>>>> println("Hi")
>>>> println(1 + 1)
>>>> end
>>>>
>>>> The log is given below. Let me know if I missing something. Any help is
>>>> appreciated!
>>>>
>>>> Karthikeyans-MacBook-Pro:julia karthikeyan$ ./julia
>>>> /Users/karthikeyan/Github/julia/contrib/build_executable.jl testexec
>>>> /Users/karthikeyan/Documents/julia/test.jl --force
>>>>
>>>> --- Clipped: please see https://goo.gl/DZ6H9z for full log -----
>>>>
>>>> /Users/karthikeyan/Github/julia/base/precompile.jl
>>>>
>>>> INFO: Linking sys.dylib
>>>>
>>>> Undefined symbols for architecture x86_64:
>>>>
>>>> "___udivti3", referenced from:
>>>>
>>>> _julia_tryparse_internal_5424 in libtestexec.o
>>>>
>>>> _julia_safe_mul_5435 in libtestexec.o
>>>>
>>>> "_fmod", referenced from:
>>>>
>>>> _julia_mod_6420 in libtestexec.o
>>>>
>>>> "_sigsetjmp", referenced from:
>>>>
>>>> _julia_abstract_call_gf_338 in libtestexec.o
>>>>
>>>> _julia_inlineable_527 in libtestexec.o
>>>>
>>>> _julia_abstract_call_gf_762 in libtestexec.o
>>>>
>>>> _julia_anonymous_769 in libtestexec.o
>>>>
>>>> _julia_with_output_limit_3612 in libtestexec.o
>>>>
>>>> _julia_abstract_call_gf_3870 in libtestexec.o
>>>>
>>>> _julia_interpinner_7589 in libtestexec.o
>>>>
>>>> ...
>>>>
>>>> ld: symbol(s) not found for inferred architecture x86_64
>>>>
>>>> ERROR: LoadError: failed process: Process(`ld
>>>> -L/Users/karthikeyan/Github/julia/usr/lib -dylib -macosx_version_min 10.7
>>>> -ljulia -o /Users/karthikeyan/Github/julia/usr/lib/libtestexec.dylib
>>>> /Users/karthikeyan/Github/julia/usr/lib/libtestexec.o`, ProcessExited(1))
>>>> [1]
>>>>
>>>> in run at ./process.jl:493
>>>>
>>>> in link_sysimg at
>>>> /Users/karthikeyan/Github/julia/contrib/build_sysimg.jl:142
>>>>
>>>> in anonymous at
>>>> /Users/karthikeyan/Github/julia/contrib/build_sysimg.jl:69
>>>>
>>>> in cd at ./file.jl:22
>>>>
>>>> in build_sysimg at
>>>> /Users/karthikeyan/Github/julia/contrib/build_sysimg.jl:27
>>>>
>>>> in include at ./boot.jl:259
>>>>
>>>> in include_from_node1 at ./loading.jl:267
>>>>
>>>> in process_options at ./client.jl:308
>>>>
>>>> in _start at ./client.jl:411
>>>>
>>>> while loading /Users/karthikeyan/Github/julia/contrib/build_sysimg.jl,
>>>> in expression starting on line 175
>>>>
>>>> ERROR: LoadError: failed process:
>>>> Process(`/Users/karthikeyan/Github/julia/usr/bin/julia
>>>> /Users/karthikeyan/Github/julia/contrib/build_sysimg.jl
>>>> /Users/karthikeyan/Github/julia/usr/lib/libtestexec native
>>>> /var/folders/yb/95z9vyrd3rl3r06yvt2t7cym0000gn/T/tmpo86tj7/userimg.jl
>>>> --force`, ProcessExited(1)) [1]
>>>>
>>>> in run at ./process.jl:493
>>>>
>>>> in build_executable at
>>>> /Users/karthikeyan/Github/julia/contrib/build_executable.jl:109
>>>>
>>>> in build_executable at
>>>> /Users/karthikeyan/Github/julia/contrib/build_executable.jl:58
>>>>
>>>> in include at ./boot.jl:259
>>>>
>>>> in include_from_node1 at ./loading.jl:267
>>>>
>>>> in process_options at ./client.jl:308
>>>>
>>>> in _start at ./client.jl:411
>>>>
>>>> while loading
>>>> /Users/karthikeyan/Github/julia/contrib/build_executable.jl, in expression
>>>> starting on line 277
>>>>
>>>