Opened 14 months ago
Closed 14 months ago
#68292 closed defect (fixed)
gcc12/libgcc12 12.3.0_1 +stdlib_flag missing libgccjit.0.dylib
Reported by: | vallon (Justin) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | Cc: | ||
Port: | gcc12 libgcc12 |
Description
Did a port upgrade yesterday. Today I found emacs doesn't launch:
$ emacs dyld[13763]: Library not loaded: @rpath/libgccjit.0.dylib Referenced from: <830528A4-22BE-31B3-9504-6F4423092F0E> /opt/local/bin/emacs-29.1 Reason: tried: '/opt/local/lib/gcc12/libgccjit.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/local/lib/gcc12/libgccjit.0
/opt/local/lib/gcc12/libgccjit.0.dylib is a broken symlink to /opt/local/lib/libgcc/libgccjit.0.dylib:
$ ls -l /opt/local/lib/gcc12/libgccjit.0.dylib lrwxr-xr-x 1 root admin 39 Sep 29 01:10 /opt/local/lib/gcc12/libgccjit.0.dylib -> /opt/local/lib/libgcc/libgccjit.0.dylib $ ls -l /opt/local/lib/libgcc total 1284 -rwxr-xr-x 1 root admin 71872 Sep 28 13:53 libatomic.1.dylib lrwxr-xr-x 1 root admin 17 Sep 28 13:53 libatomic.dylib -> libatomic.1.dylib # no gccjit # all files recently created
The /libgcc/ files are owned by libgcc12:
$ port contents libgcc12 | grep /opt/local/lib/libgcc/libatomic /opt/local/lib/libgcc/libatomic.1.dylib /opt/local/lib/libgcc/libatomic.dylib
My logs show libgcc12 was upgraded recently:
$ grep libgcc12 2023092[89]/dump-port-state 20230928/dump-port-state: libgcc12 @12.3.0_0+stdlib_flag (active) requested_variants='' platform='darwin 22' archs='arm64' date='2023-05-15T10:54:51-0400' 20230929/dump-port-state: libgcc12 @12.3.0_0+stdlib_flag requested_variants='' platform='darwin 22' archs='arm64' date='2023-05-15T10:54:51-0400' 20230929/dump-port-state: libgcc12 @12.3.0_1+stdlib_flag (active) requested_variants='' platform='darwin 22' archs='arm64' date='2023-09-28T13:53:39-0400'
Try to reactivate old libgcc12:
$ sudo port activate libgcc12 @12.3.0_0+stdlib_flag ---> Computing dependencies for libgcc12 ---> Deactivating libgcc12 @12.3.0_1+stdlib_flag ---> Cleaning libgcc12 ---> Activating libgcc12 @12.3.0_0+stdlib_flag ---> Cleaning libgcc12 $ ls -l /opt/local/lib/libgcc | grep gccjit # not there
Maybe the symlink:
$ port contents gcc12 | grep /opt/local/lib/gcc12/libgccjit.0.dylib /opt/local/lib/gcc12/libgccjit.0.dylib $ grep ' gcc12 ' 2023092[89]/dump-port-state 20230928/dump-port-state: gcc12 @12.3.0_0+stdlib_flag (active) requested_variants='' platform='darwin 22' archs='arm64' date='2023-05-15T13:04:27-0400' 20230929/dump-port-state: gcc12 @12.3.0_0+stdlib_flag requested_variants='' platform='darwin 22' archs='arm64' date='2023-05-15T13:04:27-0400' 20230929/dump-port-state: gcc12 @12.3.0_1+stdlib_flag (active) requested_variants='' platform='darwin 22' archs='arm64' date='2023-09-29T01:10:50-0400' $ sudo port activate gcc12 @12.3.0_0+stdlib_flag ---> Computing dependencies for gcc12 ---> Deactivating gcc12 @12.3.0_1+stdlib_flag ---> Cleaning gcc12 ---> Activating gcc12 @12.3.0_0+stdlib_flag ---> Cleaning gcc12 $ ls -l /opt/local/lib/gcc12/libgccjit.0.dylib -rwxr-xr-x 1 root admin 37112256 May 15 13:04 /opt/local/lib/gcc12/libgccjit.0.dylib
Then:
$ emacs # happy
It appears:
- 12.3.0_0 had a file $p/lib/gcc12/libgccjit.0.dylib
- 12.3.0_1 turned that into a symlink to $p/lib/libgcc/libgccjit.0.dylib, but libgcc12 doesn't create that file.
Change History (1)
comment:1 Changed 14 months ago by cjones051073 (Chris Jones)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
This is already fixed in a subsequent port update. Please make sure you are completely up tomdate.