Opened 7 months ago

Closed 3 months ago

#70939 closed defect (fixed)

julia @1.10.5: error: non-private labels cannot appear between .cfi_startproc / .cfi_endproc pairs

Reported by: nklb (Niklas) Owned by: essandess (Steve Smith)
Priority: Normal Milestone:
Component: ports Version:
Keywords: sequoia x86_64 Cc: hapaguy (Brian Kurt Fujikawa), cjones051073 (Chris Jones), benz0li (Olivier Benz)
Port: julia

Description

I get the following error trying to build julia on an Intel MacBook after migrating to macOS 15 :

:info:build make[1]: *** [loader_trampolines.o] Error 1
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_julia/julia/work/julia-1.10.5/cli'
:info:build make: *** [julia-cli-release] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_julia/julia/work/julia-1.10.5'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_julia/julia/work/julia-1.10.5" && /usr/bin/make -j8 -w  
:info:build Exit code: 2
:error:build Failed to build julia: command execution failed
:debug:build Error code: CHILDSTATUS 67279 2
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$callback {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec -callback portprogress::target_progress_callback build"
:debug:build     (procedure "portbuild::build_main" line 10)
:debug:build     invoked from within
:debug:build "$procedure $targetname"

Attachments (2)

julia.log.gz (7.5 MB) - added by nklb (Niklas) 7 months ago.
main.log.gz (7.5 MB) - added by nklb (Niklas) 7 months ago.

Change History (24)

Changed 7 months ago by nklb (Niklas)

Attachment: julia.log.gz added

comment:1 Changed 7 months ago by kencu (Ken)

Summary: building julia fails for x86_64 on macOS 15 (Xcode 16)building julia fails for x86_64 on macOS 15 (Xcode 16): error: non-private labels cannot appear between .cfi_startproc / .cfi_endproc pairs

The current Xcode can't build certain older versions of llvm/clang unless they are patched. There are a number of current PRs applying the needed patch to older MacPorts versions of llvm.

It looks like Julia contains a bundled llvm -- presumably it needs a similar fix.

comment:2 Changed 7 months ago by nklb (Niklas)

Keywords: sequoia added; sonoma removed

comment:3 Changed 7 months ago by hapaguy (Brian Kurt Fujikawa)

Cc: hapaguy added

comment:4 in reply to:  1 ; Changed 7 months ago by cjones051073 (Chris Jones)

Replying to kencu:

The current Xcode can't build certain older versions of llvm/clang unless they are patched. There are a number of current PRs applying the needed patch to older MacPorts versions of llvm.

It looks like Julia contains a bundled llvm -- presumably it needs a similar fix.

Better fix would be to update Julia to use a newer version of LLVM that works 'out the box' on macOS15+, e.g. LLVM-18+

comment:5 Changed 7 months ago by cjones051073 (Chris Jones)

Cc: cjones051073 added

comment:6 Changed 7 months ago by cjones051073 (Chris Jones)

Actually, its not obvious LLVM is the issue here. The attached log file is corrupt so I cannot read it but it could be GCC the problem here, but in that case the fixes are already committed (or should be).

I do wonder if the OP does not have their ports up to date, so the first thing would be to

> sudo port sync
> sudo port upgrade outdated

then try again, and if it still fails please upload a non-corrupted clean log file.

Changed 7 months ago by nklb (Niklas)

Attachment: main.log.gz added

comment:7 in reply to:  6 Changed 7 months ago by nklb (Niklas)

I just tried this but got the same error. Also the generated log (new attachment) seems similar.

Before I ran into the issue #70866 installing gcc, which could be fixed using the proposed patches.

Replying to cjones051073:

Actually, its not obvious LLVM is the issue here. The attached log file is corrupt so I cannot read it but it could be GCC the problem here, but in that case the fixes are already committed (or should be).

I do wonder if the OP does not have their ports up to date, so the first thing would be to

> sudo port sync
> sudo port upgrade outdated

then try again, and if it still fails please upload a non-corrupted clean log file.

Last edited 7 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:8 Changed 7 months ago by cjones051073 (Chris Jones)

gcc is already fixed. If you are not picking those fixes up your ports are out of date.

comment:9 Changed 7 months ago by nklb (Niklas)

They are up to date now and have been when I reported this problem. (My problems with gcc came up while it was being fixed/ before the patch was included - probably not relevant)

comment:10 Changed 7 months ago by cjones051073 (Chris Jones)

Owner: set to essandess, benz0li
Status: newassigned

OK, then this is one for the maintainers to look into

comment:11 in reply to:  4 Changed 7 months ago by kencu (Ken)

Replying to cjones051073:

Better fix would be to update Julia to use a newer version of LLVM that works 'out the box' on macOS15+, e.g. LLVM-18+

which of course they already did in master, last month

https://github.com/JuliaLang/julia/commit/2a56b7876be5d9364f2b187828e82f0cef0609d0

So another option is just to wait for a new release with this commit in it.

Depends on how badly people want Julia right now.

The llvm patch is just so darn trivial seemed like someone might be motivated to try it :)

comment:12 Changed 7 months ago by kencu (Ken)

I was going to take a stab at fixing this, however on my daily-use arm64 machine, Julia installs without any trouble:

% port -v installed julia 
The following ports are currently installed:
  julia @1.10.5_0+gcc14 (active) requested_variants='' platform='darwin 24' archs='arm64' date='2024-09-27T12:33:15-0700'

comment:13 Changed 7 months ago by markemer (Mark Anderson)

Yeah, me too. Julia built fine for me on arm64. This very well could be a leftover from our bad clangs and llvms. Does it build on the build bot?

comment:14 Changed 7 months ago by cjones051073 (Chris Jones)

I've scheduled a build on the build bots for macOS15 but it will be a while before they get around to it. we don't even have the arm builedbot running yet.

comment:15 in reply to:  14 Changed 7 months ago by markemer (Mark Anderson)

Replying to cjones051073:

I've scheduled a build on the build bots for macOS15 but it will be a while before they get around to it. we don't even have the arm builedbot running yet.

Yeah, I was gonna ask - I'm still trying to pick up how the infra works. (Only been using the project for 20 years - seems about time)

comment:16 Changed 7 months ago by cjones051073 (Chris Jones)

builedbot build failed for intel. See

https://ports.macports.org/port/julia/builds/

comment:17 Changed 7 months ago by benz0li (Olivier Benz)

comment:19 Changed 5 months ago by benz0li (Olivier Benz)

The build for Julia 1.11.2 on 'macOS15 Intel'/'Sequoia (x86_64)' passes.

comment:20 Changed 3 months ago by nklb (Niklas)

The build has also worked for me now. Also in case of the more recent Julia 1.11.3.

comment:21 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: benz0li added
Owner: changed from essandess, benz0li to essandess
Summary: building julia fails for x86_64 on macOS 15 (Xcode 16): error: non-private labels cannot appear between .cfi_startproc / .cfi_endproc pairsjulia @1.10.5: error: non-private labels cannot appear between .cfi_startproc / .cfi_endproc pairs

A ticket can only be assigned to one person.

I'm not sure why the issue would be fixed now. The upstream commit that updated llvm from 17 to 18 is not in julia 1.11.3; in fact it still uses llvm 16.

comment:22 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.