Opened 8 years ago

Last modified 7 years ago

#52008 closed defect

aria2 @1.24.0 Snow Leopard build error related to AppleTLSContext.cc; and fix — at Version 2

Reported by: kenneth.f.cunningham@… Owned by: mww@…
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: snowleopard Cc:
Port: aria2

Description (last modified by mf2k (Frank Schima))

Aria2 @1.24 build fails on Snow Leopard due to AppleTLSContext errors. I see a previous bug report for an earlier version of aria2 regarding this same issue ticket:39100.

Here is the error:

AppleTLSContext.cc:294:10: error: no matching function for call to 'SecIdentitySearchCopyNext'
  while (SecIdentitySearchCopyNext(search, &id) == errSecSuccess) {

A little surgery on the function seemed to get the build to proceed:

change to
  while (SecIdentitySearchCopyNext((SecIdentitySearchRef)&raw_search, &id) == errSecSuccess) {

but then failed during link:

Undefined symbols for architecture x86_64:
  "_kSecImportExportPassphrase", referenced from:
      aria2::AppleTLSContext::tryAsPKCS12(__CFData const*, char const*) in libaria2.a(AppleTLSContext.o)
  "_kSecImportItemIdentity", referenced from:
      aria2::AppleTLSContext::tryAsPKCS12(__CFData const*, char const*) in libaria2.a(AppleTLSContext.o)
ld: symbol(s) not found for architecture x86_64

So ultimately disabled apple-tls on Snow Leopard, and build succeeds. Diff attached. Note - aria2 requires c++11, and so the wiki:LibcxxOnOlderSystems modification for Snow Leopard is presumably required. I didn't try it without the libcxx modification.

Change History (3)

Changed 8 years ago by kenneth.f.cunningham@…

patch to disable apple-tls on Snow Leopard

comment:1 Changed 8 years ago by kenneth.f.cunningham@…

A closer look at <​https://trac.macports.org/ticket/39100> shows that it's also in this same file, but it's a different specific error.

comment:2 Changed 8 years ago by mf2k (Frank Schima)

Cc: mww@… removed
Description: modified (diff)
Keywords: snowleopard added; Snow Leopard removed
Owner: changed from macports-tickets@… to mww@…
Note: See TracTickets for help on using tickets.