PackageCompiler.jl icon indicating copy to clipboard operation
PackageCompiler.jl copied to clipboard

Fix bug in create_sysimg_from_object_file for Xcode 15 CLT

Open jayscook opened this issue 1 year ago • 3 comments

Fix for issue #738, which conditionally adds the -Wl,-ld_classic flags to o_file_flags in create_sysimg_from_object_file based on Xcode CLT version.

All credit to @PhilReinhold for this code; I'm simply opening this PR based on his latest correspondence on the issue.

Tested locally on gcc 15.0.0 and Julia 1.8.5. @hbe72 confirmed in the issue correspondence that it's working on gcc 15.0.0 and Julia 1.10

Re: CI failures, I'm seeing other recent PRs (1, 2) that are also failing the nightly build tests and buildkite. Please let me know if you see anything in this change that should address these failures.

jayscook avatar Apr 02 '24 18:04 jayscook

Can this be merged?

ufechner7 avatar Aug 01 '24 11:08 ufechner7

Can this be merged?

This comment feels like one that should be addressed, but I don't have the know-how to devise a solution. Hopefully @topolarity can suggest a solution.

The other option would be to merge as-is as a step forward and address the above issue when it becomes an issue for someone.

jayscook avatar Aug 01 '24 16:08 jayscook

Well, the macOS tests still fail. But with a different (?) error:

 ERROR: LoadError: Cannot locate artifact 'fooifier' for aarch64-apple-darwin-libgfortran5-cxx11-julia_version+1.10.4 in '/private/var/folders/zn/hj183dg15s713b47j2wlhwzw0000gn/T/jl_7YRmdg/MyApp/Artifacts.toml'

I mean, this is easy to fix:

Unfortunately, Julia 1.6 and 1.7 do not have native binaries available for Apple Silicon macOS.
Therefore, it is not possible to install Julia with the current constraints.
For instructions on how to fix this error, please see the following Discourse post: https://discourse.julialang.org/t/how-to-fix-github-actions-ci-failures-with-julia-1-6-or-1-7-on-macos-latest-and-macos-14/117019

But it also fails on Julia 1.10.

ufechner7 avatar Aug 01 '24 16:08 ufechner7

Codecov Report

Attention: Patch coverage is 81.81818% with 2 lines in your changes missing coverage. Please review.

Project coverage is 84.51%. Comparing base (85cdb03) to head (8c4fda1).

Files with missing lines Patch % Lines
src/PackageCompiler.jl 81.81% 2 Missing :warning:
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #935      +/-   ##
==========================================
- Coverage   84.56%   84.51%   -0.06%     
==========================================
  Files           3        3              
  Lines         823      833      +10     
==========================================
+ Hits          696      704       +8     
- Misses        127      129       +2     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Oct 16 '24 04:10 codecov[bot]

I'm going to close this PR in favor of #972, because #972 includes some additional changes that are intended to address review comments (specifically, #972 attempts to only add the additional linker flags if we confirm that the active compiler is the Apple Clang from either Xcode.app or the Xcode CLT).

DilumAluthge avatar Oct 20 '24 00:10 DilumAluthge

I'm going to close this PR in favor of #972, because #972 includes some additional changes that are intended to address review comments (specifically, #972 attempts to only add the additional linker flags if we confirm that the active compiler is the Apple Clang from either Xcode.app or the Xcode CLT).

Thanks! Marked this as ready just as 972 was going up and forgot to come back and close.

jayscook avatar Oct 21 '24 15:10 jayscook