[MacPorts] #65624: davix: builds fail for multiple macOS releases: undefined symbols during link, originating from libcurl.a

MacPorts noreply at macports.org
Thu Aug 11 13:16:40 UTC 2022


#65624: davix: builds fail for multiple macOS releases: undefined symbols during
link, originating from libcurl.a
--------------------------+--------------------------
  Reporter:  mascguy      |      Owner:  cjones051073
      Type:  defect       |     Status:  assigned
  Priority:  Normal       |  Milestone:
 Component:  ports        |    Version:  2.7.2
Resolution:               |   Keywords:
      Port:  davix root6  |
--------------------------+--------------------------

Comment (by cjones051073):

 The issue appears to be davix uses its own internal libcurl build

 https://build.macports.org/builders/ports-10.12_x86_64-builder/builds/194726/steps
 /install-port/logs/stdio

 {{{
 cd
 /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_net_davix/davix/work/build/src
 && /opt/local/bin/cmake -E cmake_link_script
 CMakeFiles/libdavix.dir/link.txt --verbose=ON
 /usr/bin/clang++ -pipe -I/opt/local/libexec/openssl3/include -Os -DNDEBUG
 -I/opt/local/libexec/openssl3/include
 -isystem/opt/local/include/LegacySupport -isystem/opt/local/include
 -stdlib=libc++ -std=c++0x -arch x86_64 -mmacosx-version-min=10.12
 -dynamiclib -Wl,-headerpad_max_install_names
 -L/opt/local/libexec/openssl3/lib -Wl,-headerpad_max_install_names
 -L/opt/local/lib -lMacportsLegacySupport -current_version 0.8.2 -o
 libdavix.0.8.2.dylib -install_name /opt/local/lib/libdavix.0.dylib
 CMakeFiles/libdavix.dir/auth/davix_openssl.cpp.o
 CMakeFiles/libdavix.dir/auth/davixauth.cpp.o
 CMakeFiles/libdavix.dir/auth/davixx509cred.cpp.o
 CMakeFiles/libdavix.dir/backend/BackendRequest.cpp.o
 CMakeFiles/libdavix.dir/backend/SessionFactory.cpp.o
 CMakeFiles/libdavix.dir/backend/StandaloneNeonRequest.cpp.o
 CMakeFiles/libdavix.dir/core/ContentProvider.cpp.o
 CMakeFiles/libdavix.dir/core/RedirectionResolver.cpp.o
 CMakeFiles/libdavix.dir/curl/CurlSession.cpp.o
 CMakeFiles/libdavix.dir/curl/CurlSessionFactory.cpp.o
 CMakeFiles/libdavix.dir/curl/HeaderlineParser.cpp.o
 CMakeFiles/libdavix.dir/curl/ResponseBuffer.cpp.o
 CMakeFiles/libdavix.dir/curl/StandaloneCurlRequest.cpp.o
 CMakeFiles/libdavix.dir/deprecated/httpcachetoken.cpp.o
 CMakeFiles/libdavix.dir/file/davfile.cpp.o
 CMakeFiles/libdavix.dir/file/davposix.cpp.o
 CMakeFiles/libdavix.dir/fileops/AzureIO.cpp.o
 CMakeFiles/libdavix.dir/fileops/chain_factory.cpp.o
 CMakeFiles/libdavix.dir/fileops/davix_reliability_ops.cpp.o
 CMakeFiles/libdavix.dir/fileops/davmeta.cpp.o
 CMakeFiles/libdavix.dir/fileops/fileutils.cpp.o
 CMakeFiles/libdavix.dir/fileops/httpiochain.cpp.o
 CMakeFiles/libdavix.dir/fileops/httpiovec.cpp.o
 CMakeFiles/libdavix.dir/fileops/iobuffmap.cpp.o
 CMakeFiles/libdavix.dir/fileops/S3IO.cpp.o
 CMakeFiles/libdavix.dir/fileops/SwiftIO.cpp.o
 CMakeFiles/libdavix.dir/hooks/davix_hooks.cpp.o
 CMakeFiles/libdavix.dir/libs/alibxx/chrono/timepoint.cpp.o
 CMakeFiles/libdavix.dir/libs/alibxx/crypto/base64.cpp.o
 CMakeFiles/libdavix.dir/libs/alibxx/crypto/hmacsha.cpp.o
 CMakeFiles/libdavix.dir/libs/alibxx/str/format.cpp.o
 CMakeFiles/libdavix.dir/libs/datetime/datetime_utils.cpp.o
 CMakeFiles/libdavix.dir/modules/modules_profiles.cpp.o
 CMakeFiles/libdavix.dir/neon/neonrequest.cpp.o
 CMakeFiles/libdavix.dir/neon/neonsession.cpp.o
 CMakeFiles/libdavix.dir/neon/neonsessionfactory.cpp.o
 CMakeFiles/libdavix.dir/params/davixrequestparams.cpp.o
 CMakeFiles/libdavix.dir/request/httprequest.cpp.o
 CMakeFiles/libdavix.dir/status/DavixStatus.cpp.o
 CMakeFiles/libdavix.dir/status/davixstatusrequest.cpp.o
 CMakeFiles/libdavix.dir/utils/checksum_extractor.cpp.o
 CMakeFiles/libdavix.dir/utils/CompatibilityHacks.cpp.o
 CMakeFiles/libdavix.dir/utils/davix_azure_utils.cpp.o
 CMakeFiles/libdavix.dir/utils/davix_gcloud_utils.cpp.o
 CMakeFiles/libdavix.dir/utils/davix_logger.cpp.o
 CMakeFiles/libdavix.dir/utils/davix_misc_utils.cpp.o
 CMakeFiles/libdavix.dir/utils/davix_s3_utils.cpp.o
 CMakeFiles/libdavix.dir/utils/davix_swift_utils.cpp.o
 CMakeFiles/libdavix.dir/utils/simple_get_pass.cpp.o
 CMakeFiles/libdavix.dir/utils/stringutils.cpp.o
 CMakeFiles/libdavix.dir/utils/davixuri.cpp.o
 CMakeFiles/libdavix.dir/xml/azurepropparser.cpp.o
 CMakeFiles/libdavix.dir/xml/davdeletexmlparser.cpp.o
 CMakeFiles/libdavix.dir/xml/davix_ptree.cpp.o
 CMakeFiles/libdavix.dir/xml/davpropxmlparser.cpp.o
 CMakeFiles/libdavix.dir/xml/davxmlparser.cpp.o
 CMakeFiles/libdavix.dir/xml/metalinkparser.cpp.o
 CMakeFiles/libdavix.dir/xml/s3deleteparser.cpp.o
 CMakeFiles/libdavix.dir/xml/S3MultiPartInitiationParser.cpp.o
 CMakeFiles/libdavix.dir/xml/s3propparser.cpp.o
 CMakeFiles/libdavix.dir/xml/swiftpropparser.cpp.o
 CMakeFiles/libdavix.dir/davixcontext.cpp.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_207.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_acl3744.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_alloc.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_auth.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_basic.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_compress.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_dates.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_i18n.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_locks.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_md5.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_ntlm.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_oldacl.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_pkcs11.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_props.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_redirect.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_request.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_session.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_socket.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_socks.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_sspi.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_string.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_uri.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_utils.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_xml.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_xmlreq.c.o
 ../deps/libneon/CMakeFiles/LibNeonObjects.dir/src/ne_openssl.c.o
 -Wl,-rpath,/opt/local/lib ../deps/curl-install/usr/lib/libcurl.a
 /opt/local/libexec/openssl3/lib/libssl.dylib
 /opt/local/libexec/openssl3/lib/libcrypto.dylib
 /opt/local/lib/libxml2.dylib -lz -framework CoreFoundation -framework
 Security
 }}}

 see the `./deps/curl-install/usr/lib/libcurl.a` bit in the above.

 A quick look at the configure options doesn show a way to use an external
 libcurl, just options to enable/disable it. So perhaps this is the way
 forward on the very old systems.

 On 10.12, going to see if extending the compiler blackist, as used on
 10.11 and older at the moment helps first.

-- 
Ticket URL: <https://trac.macports.org/ticket/65624#comment:3>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list