[MacPorts] #68292: gcc12/libgcc12 12.3.0_1 +stdlib_flag missing libgccjit.0.dylib
MacPorts
noreply at macports.org
Fri Sep 29 15:46:44 UTC 2023
#68292: gcc12/libgcc12 12.3.0_1 +stdlib_flag missing libgccjit.0.dylib
--------------------+----------------------------
Reporter: vallon | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.8.1
Keywords: | Port: gcc12 libgcc12
--------------------+----------------------------
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.
--
Ticket URL: <https://trac.macports.org/ticket/68292>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list