Opened 13 months ago
Closed 8 months ago
#68522 closed defect (fixed)
KeePassXC 2.7.6_0 < 2.7.6_1 Fails to build on Mavericks
Reported by: | tehcog (tehcog) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | mavericks | Cc: | RobK88, thetrial (alabay), cjones051073 (Chris Jones) |
Port: | KeePassXC |
Description
Please see attached main.log.
Thank You
Attachments (3)
Change History (14)
Changed 13 months ago by tehcog (tehcog)
Attachment: | KeePassXC_2.7.6_1_main.log added |
---|
comment:1 Changed 13 months ago by RobK88
It also fails on Lion 10.7.5. See attached main.log.
KeePassXC 2.7.6_0 installs fine but 2.7.6_1 does not.
Undefined symbols for architecture x86_64: "__availability_version_check", referenced from: ___isPlatformVersionAtLeast in libclang_rt.osx.a(os_version_check.c.o) __initializeAvailabilityCheck in libclang_rt.osx.a(os_version_check.c.o) Undefined symbols for architecture x86_64: "__availability_version_check", referenced from: ___isPlatformVersionAtLeast in libclang_rt.osx.a(os_version_check.c.o) __initializeAvailabilityCheck in libclang_rt.osx.a(os_version_check.c.o) ld: symbol(s) not found for architecture x86_64 ld: symbol(s) not found for architecture x86_64 clang++: error: linker command failed with exit code 1 (use -v to see invocation) clang++: error: linker command failed with exit code 1 (use -v to see invocation)
comment:2 Changed 13 months ago by RobK88
FYI -- The upgrade of KeePassXC from from 2.7.6_0 to 2.7.6_1 also fails on Mountain Lion with the same error.
Undefined symbols for architecture x86_64: "__availability_version_check", referenced from: ___isPlatformVersionAtLeast in libclang_rt.osx.a(os_version_check.c.o) __initializeAvailabilityCheck in libclang_rt.osx.a(os_version_check.c.o) Undefined symbols for architecture x86_64: "__availability_version_check", referenced from: ___isPlatformVersionAtLeast in libclang_rt.osx.a(os_version_check.c.o) __initializeAvailabilityCheck in libclang_rt.osx.a(os_version_check.c.o)
comment:3 Changed 13 months ago by thetrial (alabay)
Exactly the same … 2.7.6 built, 2.7.6_1 won’t build. Quite often metioned: clang++: error: linker command failed with exit code 1
.
OS: macOS 10.12.6 Sierra. I’ll attach the log.
comment:4 Changed 13 months ago by kencu (Ken)
It's likely failing due to a change in clang-17 that weak links that function now.
Try it with some clang < clang-17, that should still have the old behaviour, until someone sorts out a fix for this.
comment:5 Changed 13 months ago by RobK88
Cc: | RobK88 added |
---|
comment:6 Changed 13 months ago by RobK88
@kencu -- Thank you for the heads up. I did not realize that the latest Portfile for KeePassXC
now has clang-17
as a build dependency.
You are right, KeePassXC@2.7.6_1
builds just fine with clang-16
. See below.
bash-3.2$ sudo port clean KeePassXc ---> Cleaning KeePassXC bash-3.2$ bash-3.2$ sudo port upgrade keepassxc configure.compiler=macports-clang-16 ---> Computing dependencies for KeePassXC ---> Fetching archive for KeePassXC ---> Attempting to fetch KeePassXC-2.7.6_1.darwin_11.x86_64.tbz2 from http://packages.macports.org/KeePassXC ---> Attempting to fetch KeePassXC-2.7.6_1.darwin_11.x86_64.tbz2 from http://ywg.ca.packages.macports.org/mirror/macports/packages/KeePassXC ---> Attempting to fetch KeePassXC-2.7.6_1.darwin_11.x86_64.tbz2 from http://mirror.fcix.net/macports/packages/KeePassXC ---> Fetching distfiles for KeePassXC ---> Verifying checksums for KeePassXC ---> Extracting KeePassXC ---> Applying patches to KeePassXC ---> Configuring KeePassXC Warning: Qt dependency is not the latest version but may be the latest supported on your OS ---> Building KeePassXC ---> Staging KeePassXC into destroot ---> Installing KeePassXC @2.7.6_1 ---> Cleaning KeePassXC ---> Computing dependencies for KeePassXC ---> Deactivating KeePassXC @2.7.6_0 ---> Cleaning KeePassXC ---> Activating KeePassXC @2.7.6_1 ---> Cleaning KeePassXC ---> Scanning binaries for linking errors ---> No broken files found. ---> No broken ports found. bash-3.2$
comment:7 Changed 13 months ago by RobK88
P.S. I was able to build KeePassXC@2.7.6_1
on High Sierra without specifying the clang-16
on the command line. But the buildbot for High Sierra failed. The build bots succeeded for Mojave to Ventura.
It is interesting when one runs port info keepassxc
on High Sierra, one does NOT see clang-17
as a build dependency.
But one does see clang-17
as a build dependency when running port info keepassxc
on Lion and Mtn Lion.
comment:8 Changed 13 months ago by thetrial (alabay)
Cc: | thetrial added |
---|
comment:9 Changed 13 months ago by thetrial (alabay)
Ye, ran through with clang-16
under Sierra, too. I don’t know why, but clang-9
was also loaded, one-off, I think (and will be removed). Under Sierra one sees clang-17
as build dependency.
comment:10 follow-up: 11 Changed 13 months ago by tenzap
Could someone update the portfile so that it builds on older versions of macOS?
comment:11 Changed 8 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | cjones051073 added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Replying to RobK88:
I did not realize that the latest Portfile for
KeePassXC
now hasclang-17
as a build dependency.
It does not. MacPorts as a whole was updated to use clang-17 as its default fallback compiler in October 2023 if Xcode clang cannot be used.
Replying to tenzap:
Could someone update the portfile so that it builds on older versions of macOS?
The change was rolled back for older systems in November 2023 because it caused other problems.
According to the build status, KeePassXC 2.7.6 built fine on OS X 10.8 and later in January 2024.
main.log