Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v2.4.3 build failure on macOS 11 for Homebrew #715

Closed
p-linnane opened this issue Jun 1, 2023 · 5 comments
Closed

v2.4.3 build failure on macOS 11 for Homebrew #715

p-linnane opened this issue Jun 1, 2023 · 5 comments
Assignees
Labels
bug Something isn't working platform issue Issue is specific to an OS or desktop priority-low
Milestone

Comments

@p-linnane
Copy link

Describe the bug
Compilation of cups v2.4.3 fails on macOS 11, but succeeds on macOS 12 and macOS 13

To Reproduce
Steps to reproduce the behavior:

  1. Download the v2.4.3 tarball
  2. ./configure --disable-debug --disable-dependency-tracking --prefix=/usr/local/Cellar/cups/2.4.3 --libdir=/usr/local/Cellar/cups/2.4.3/lib --with-components=core --without-bundledir
  3. make install
  4. Error:
  Archiving libcups.a...
  Undefined symbols for architecture x86_64:
    "_SecTrustCopyCertificateChain", referenced from:
        _httpCopyCredentials in tls.o
  ld: symbol(s) not found for architecture x86_64
  clang: error: linker command failed with exit code 1 (use -v to see invocation)
  make[1]: *** [libcups.2.dylib] Error 1

Expected behavior
cups compiles

Screenshots
N/A

System Information:

  • OS and its version: macOS 11 x86_64 & macOS 11 arm64
  • Application N/A
  • CUPS version 2.4.3

Additional context
Relates to Homebrew/homebrew-core#132550

@zdohnal
Copy link
Member

zdohnal commented Jun 2, 2023

Hi,

interesting, neither of mentioned functions we have in our codebase - only the similar functions without '_'. Maybe brew adds underscores to them or it happens in xcode related files?

@michaelrsweet I've checked tls-darwin.c/.h and I don't see any MacOS relevant headers, only function prototypes in tls-darwin.h - are those functions linked during runtime?

@zdohnal zdohnal added bug Something isn't working platform issue Issue is specific to an OS or desktop labels Jun 2, 2023
@zdohnal zdohnal modified the milestones: 2.4.4, v2.5 Jun 2, 2023
@carlocab
Copy link

carlocab commented Jun 2, 2023

interesting, neither of mentioned functions we have in our codebase - only the similar functions without '_'. Maybe brew adds underscores to them or it happens in xcode related files?

On macOS, symbols are prefixed with _. You can ignore the _ for the purposes of debugging this.

@michaelrsweet
Copy link
Member

@carlocab It doesn't surprise me, and this changed in 9f04d16 to stop using a deprecated API. And this for the TLS support code on macOS that is itself going away in CUPS 2.5/3.0...

I guess the question is whether we want to revert this change...

@zdohnal
Copy link
Member

zdohnal commented Jun 13, 2023

@michaelrsweet I would propose to move the commit into 2.5 and properly announce it in CHANGES.md, revert it for 2.4.x, WDYT?

@michaelrsweet
Copy link
Member

@zdohnal I will be pulling all of the tls-darwin.* code in 2.5.x (along with the Windows tls-sspi.* code) so any fix/reversion should only happen in the 2.4.x branch.

AZero13 added a commit to AZero13/cups that referenced this issue Jun 21, 2023
Older versions of macOS do not support SecTrustCopyCertificateChain, so let's revert back to using SecTrustGetCertificateCount.

Fixes OpenPrinting#715
AZero13 added a commit to AZero13/cups that referenced this issue Jun 21, 2023
Older versions of macOS do not support SecTrustCopyCertificateChain, so let's revert back to using SecTrustGetCertificateCount.

Fixes OpenPrinting#715
AZero13 added a commit to AZero13/cups that referenced this issue Jun 21, 2023
Older versions of macOS do not support SecTrustCopyCertificateChain, so let's revert back to using SecTrustGetCertificateCount.

Fixes OpenPrinting#715
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working platform issue Issue is specific to an OS or desktop priority-low
Projects
None yet
Development

No branches or pull requests

4 participants