Opened 6 weeks ago

Last modified 7 days ago

#71019 assigned defect

gnupg2 @2.4.5_0+openldap+pinentry_mac linking fails on macOS Sequoia arm64

Reported by: MrPowerMac Owned by: roederja
Priority: Normal Milestone:
Component: ports Version: 2.10.2
Keywords: sequoia Cc: Ionic (Mihai Moldovan)
Port: gnupg2

Description

When attempting to build gnupg2, the build fails while linking with several "Undefined symbols" errors. Example snippet from the build log:

:info:build Undefined symbols for architecture arm64:
:info:build   "_gcry_free", referenced from:
:info:build       _main in t-convert.o
:info:build       _main in t-convert.o
:info:build       _main in t-convert.o
:info:build   "_gcry_malloc", referenced from:
:info:build       _do_bin2hex in libcommon.a[22](libcommon_a-convert.o)
:info:build       _hex2str_alloc in libcommon.a[22](libcommon_a-convert.o)
:info:build ld: symbol(s) not found for architecture arm64

I am building on a M2 MacBook Air running macOS 15.0, with the newest CLTs installed. I previously cleared out the CLT install directory and reinstalled from the .dmg upon upgrading to 15.0 on this machine, to solve the known issue with the CLT update.

Attachments (1)

main.log.gz (18.6 KB) - added by MrPowerMac 6 weeks ago.
main.log

Download all attachments as: .zip

Change History (5)

Changed 6 weeks ago by MrPowerMac

Attachment: main.log.gz added

main.log

comment:1 Changed 6 weeks ago by MrPowerMac

I tried rebuilding all of gnupg2's dependencies with the command sudo port -n upgrade --force depof:gnupg2, then attempted to install gnupg2 with sudo port install --unrequested gnupg2 and it worked fine this time. Something must've been messed up somewhere else along the dependency chain on my system, and the fault did not lie with the gnupg2 port as I originally thought.

Last edited 6 weeks ago by MrPowerMac (previous) (diff)

comment:2 Changed 8 days ago by darkfishy (A A)

@MrPowerMac I tried your suggestion, however, that didn't resolve my issue. I still get the linker errors. The difference is that the variant that is attempted on my machine (M2 Max with latest OS and Xcode/CLT) is one with pinentry not pinentry_mac, since latter isn't available. Any other suggestions?

comment:3 Changed 8 days ago by darkfishy (A A)

Right'o. In my case I had to install from source. sudo port install -s gnupg2

comment:4 in reply to:  2 Changed 7 days ago by yokuha

Replying to darkfishy:

@MrPowerMac I tried your suggestion, however, that didn't resolve my issue. I still get the linker errors. The difference is that the variant that is attempted on my machine (M2 Max with latest OS and Xcode/CLT) is one with pinentry not pinentry_mac, since latter isn't available. Any other suggestions?

I am also on M2 with latest macOS and xcode/CLT – and pinenetry-mac is available (despite my system having many problems with the Macorts upgrade/migration).

Here, I had to run xcodebuild -runFirstLaunch – as mentioned by the originally failing pinentry-mac build.

Then, the sudo port -n upgrade --force depof:gnupg2 and reinstalling gnupg2 with default options worked for me.

Last edited 7 days ago by yokuha (previous) (diff)
Note: See TracTickets for help on using tickets.