[
https://issues.apache.org/jira/browse/KUDU-3436?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17739953#comment-17739953
]
Yingchun Lai commented on KUDU-3436:
------------------------------------
{quote} * New in macOS Big Sur 11.0.1, the system ships with a built-in dynamic
linker cache of all system-provided libraries. As part of this change, copies
of dynamic libraries are no longer present on the filesystem. Code that
attempts to check for dynamic library presence by looking for a file at a path
or enumerating a directory will fail. Instead, check for library presence by
attempting to {{dlopen()}} the path, which will correctly check for the library
in the cache. (62986286)
{quote}
[https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-release-notes#Kernel]
It seems we can't copy /usr/lib/libc+abi.dylib to the kudu-binary JAR artifact,
except build the binaries on macOS 10.13 (the oldest version macOS Kudu
support)?
> build_mini_cluster_binaries.sh doesn't work on Mac 13.0.1
> ---------------------------------------------------------
>
> Key: KUDU-3436
> URL: https://issues.apache.org/jira/browse/KUDU-3436
> Project: Kudu
> Issue Type: Bug
> Reporter: Bakai Ádám
> Priority: Major
>
>
> {code:java}
> build_mini_cluster_binaries.sh {code}
> returns the following error:
> {code:java}
> Traceback (most recent call last):
> File
> "/Users/adambakai/CLionProjects/kudu/build-support/mini-cluster/relocate_binaries_for_mini_cluster.py",
> line 503, in <module>
> main()
> File
> "/Users/adambakai/CLionProjects/kudu/build-support/mini-cluster/relocate_binaries_for_mini_cluster.py",
> line 500, in main
> relocate_deps(target_src, target_dst, config)
> File
> "/Users/adambakai/CLionProjects/kudu/build-support/mini-cluster/relocate_binaries_for_mini_cluster.py",
> line 408, in relocate_deps
> return relocate_deps_macos(target_src, target_dst, config)
> File
> "/Users/adambakai/CLionProjects/kudu/build-support/mini-cluster/relocate_binaries_for_mini_cluster.py",
> line 398, in relocate_deps_macos
> relocate_deps_macos(dep_src, dep_dst, config)
> File
> "/Users/adambakai/CLionProjects/kudu/build-support/mini-cluster/relocate_binaries_for_mini_cluster.py",
> line 398, in relocate_deps_macos
> relocate_deps_macos(dep_src, dep_dst, config)
> File
> "/Users/adambakai/CLionProjects/kudu/build-support/mini-cluster/relocate_binaries_for_mini_cluster.py",
> line 398, in relocate_deps_macos
> relocate_deps_macos(dep_src, dep_dst, config)
> File
> "/Users/adambakai/CLionProjects/kudu/build-support/mini-cluster/relocate_binaries_for_mini_cluster.py",
> line 398, in relocate_deps_macos
> relocate_deps_macos(dep_src, dep_dst, config)
> File
> "/Users/adambakai/CLionProjects/kudu/build-support/mini-cluster/relocate_binaries_for_mini_cluster.py",
> line 397, in relocate_deps_macos
> copy_file(dep_src, dep_dst)
> File
> "/Users/adambakai/CLionProjects/kudu/build-support/mini-cluster/relocate_binaries_for_mini_cluster.py",
> line 287, in copy_file
> shutil.copyfile(src, dest)
> File
> "/opt/homebrew/Cellar/python@2/2.7.18/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py",
> line 96, in copyfile
> with open(src, 'rb') as fsrc:
> IOError: [Errno 2] No such file or directory: u'/usr/lib/libc++abi.dylib'
> {code}
> After further investigation, it looks like libc+{+}abi.dylib is in the
> uninstrumented lib, but otool -L always gives back a path for
> /usr/lib/libc{+}+abi.dylib . Simply adding the dylib into the
> PAT_MACOS_LIB_EXCLUDE list doesn't work: it creates a jar file, but the
> binaries can not be started.
> It is probably due to the changes in how dynamic linking works in newer
> MacOS:
> [https://stackoverflow.com/questions/70581876/macos-dynamic-linker-reports-it-loaded-library-which-doesnt-exist]
> It happens both on ARM64 and X86
--
This message was sent by Atlassian Jira
(v8.20.10#820010)