[ 
https://issues.apache.org/jira/browse/KUDU-3436?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17739953#comment-17739953
 ] 

Yingchun Lai edited comment on KUDU-3436 at 7/4/23 3:35 PM:
------------------------------------------------------------

{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) ~ 10.15?


was (Author: laiyingchun):
{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)

Reply via email to