#71038 closed defect (fixed)
guile-2.2 guile-3.0 pre-built binaries .pc files unexpectedly linked to libatomic_ops
Reported by: | holymonson (Monson Shao) | Owned by: | graywolf (W.) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ivmai@…, herbygillot (Herby Gillot) | |
Port: | guile-2.2 guile-3.0 |
Description
In guile-3.0 pre-built binaries, guile-3.0.pc
contains -latomic_ops
, which is unexpected, and does not exist when built from source.
This will block building of packages that depands on guile if libatomic_ops not installed in their system.
❯ diff -u ./guile-3.0.pc /opt/local/lib/pkgconfig/guile-3.0.pc --- ./guile-3.0.pc 2024-10-04 20:40:35.000000000 +0800 +++ /opt/local/lib/pkgconfig/guile-3.0.pc 2024-09-03 16:02:21.000000000 +0800 @@ -22,7 +22,7 @@ Name: GNU Guile Description: GNU's Ubiquitous Intelligent Language for Extension Version: 3.0.10 -Libs: -L${libdir} -lguile-3.0 -L/opt/local/lib -lgc -lpthread +Libs: -L${libdir} -lguile-3.0 -L/opt/local/lib -latomic_ops -lgc -lpthread Libs.private: -lgmp -L/opt/local/lib -lffi \ -lunistring -liconv -lintl -Wl,-framework -Wl,CoreFoundation \ \
I manually checked and it could be found in both guile-3.0-3.0.10_0.darwin_21.x86_64
and guile-2.2-2.2.7_3.darwin_21.x86_64
at least.
❯ rg atomic_ops /opt/local/var/macports/software/guile* /opt/local/var/macports/software/guile-3.0/guile-3.0-3.0.10_0.darwin_21.x86_64/opt/local/lib/pkgconfig/guile-3.0.pc 25:Libs: -L${libdir} -lguile-3.0 -L/opt/local/lib -latomic_ops -lgc -lpthread /opt/local/var/macports/software/guile-2.2/guile-2.2-2.2.7_3.darwin_21.x86_64/opt/local/lib/pkgconfig/guile-2.2.pc 25:Libs: -L${libdir} -lguile-2.2 -L/opt/local/lib -latomic_ops -lgc -lpthread
Change History (10)
comment:1 Changed 6 weeks ago by holymonson (Monson Shao)
comment:2 follow-ups: 4 7 Changed 6 weeks ago by graywolf (W.)
It seems that in [b68c30c52be7790bbe795e5815e440464ddec0f0/macports-ports] the libatomic_ops was removed from boehmgc dependencies, without revision bump of any downstream consumers. I will make a PR with revision bump for guile-3.0.
(Would have assigned the ticket to me but do not have the permissions.)
comment:3 Changed 6 weeks ago by jmroot (Joshua Root)
Owner: | set to graywolf |
---|---|
Status: | new → assigned |
comment:4 Changed 6 weeks ago by jmroot (Joshua Root)
Replying to graywolf:
It seems that in [b68c30c52be7790bbe795e5815e440464ddec0f0/macports-ports] the libatomic_ops was removed from boehmgc dependencies, without revision bump of any downstream consumers. I will make a PR with revision bump for guile-3.0.
It seems like the correct resolution there would have been to patch the .pc file. If it's a static lib that boehmgc uses but does not have to be directly used by its dependents, it belongs in Libs.private rather than Libs. Possibly guile is making the same mistake by putting the boehmgc link flags in Libs?
Fixing this overlinking does unfortunately require a rev bump, however it's done.
comment:5 Changed 6 weeks ago by jmroot (Joshua Root)
Cc: | ivmai@… herbygillot added |
---|
comment:6 Changed 6 weeks ago by graywolf (W.)
Possibly guile is making the same mistake by putting the boehmgc link flags in Libs?
Sadly I cannot really comment on this one. Will ask the upstream on the mailing list.
comment:7 Changed 6 weeks ago by holymonson (Monson Shao)
Replying to graywolf:
It seems that in [b68c30c52be7790bbe795e5815e440464ddec0f0/macports-ports] the libatomic_ops was removed from boehmgc dependencies, without revision bump of any downstream consumers. I will make a PR with revision bump for guile-3.0.
(Would have assigned the ticket to me but do not have the permissions.)
It seems guile-2.2 also need a revision bump too.
comment:8 Changed 6 weeks ago by graywolf (W.)
It seems guile-2.2 also need a revision bump too.
Yes, would assume so. That one is nomaintainer, so feel free to make a PR.
comment:9 Changed 6 weeks ago by graywolf (W.)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:10 Changed 6 weeks ago by graywolf (W.)
I have opened a separate ticket for guile-2.2: https://trac.macports.org/ticket/71042 .
Build log see https://build.macports.org/builders/ports-12_x86_64-builder/builds/117840/steps/install-port/logs/main.log