Skip to content

Commit a444c7d

Browse files
committed
Add comment explaining the shared library renaming
1 parent e14238d commit a444c7d

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

dev/tasks/matlab/rename_macos_arm64_dylibs.sh

+15-7
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ set -ex
3131
#
3232
# $ tree /tmp/example
3333
# /tmp/example
34-
# ├── regular_file.txt
35-
# └── symbolic_link -> regular_file.txt
34+
# |-- regular_file.txt
35+
# |-- symbolic_link -> regular_file.txt
3636
#
3737
# In MATLAB, if the symbolic link and its target file are in the same folder, then the symbolic link
3838
# is not included as one of the files to be packaged:
@@ -50,11 +50,11 @@ set -ex
5050
#
5151
# $ tree arrow/matlab/install/arrow_matlab/+libmexclass/+proxy/
5252
# .
53-
# ├── libarrow.1700.0.0.dylib
54-
# ├── libarrow.1700.dylib -> libarrow.1700.0.0.dylib
55-
# └── libarrow.dylib -> libarrow.1700.dylib
53+
# |-- libarrow.1700.0.0.dylib
54+
# |-- libarrow.1700.dylib -> libarrow.1700.0.0.dylib
55+
# |-- libarrow.dylib -> libarrow.1700.dylib
5656
#
57-
# When arrow/matlab/install/arrow_matlab is packaged into an MLTBX file, only the "reguar file"
57+
# When arrow/matlab/install/arrow_matlab is packaged into an MLTBX file, only the "regular file"
5858
# libarrow.1700.0.0.dylib is included. This is problematic because building the MATLAB creates
5959
# a shared library named libarrowproxy.dylib, which links against libarrow.1700.dylib
6060
# - not libarrow.1700.0.0.dylib:
@@ -69,8 +69,16 @@ set -ex
6969
#
7070
# Issue Number 2:
7171
#
72+
# We currently create one MLTBX file to package the MATLAB Arrow interface for win64, glnxa64,
73+
# maci64, and maca64. We do this because the MATLAB File Exchange <-> GitHub Releases integration
74+
# does not support platform-specific MLTBX files as of this moment. This mostly works, except rename
75+
# either the maci64 shared libraries or the maca64 shared libraries to avoid duplicate filenames
76+
# in the MLTBX file because maci64 and maca64 shared libraries have the same extension: dylib.
77+
# For example, the shared library libarrow.1700.0.0.dylib is produced when building Arrow on
78+
# macOS AND Intel-based macOS.
7279
#
73-
80+
# To workaround this issue, we have decided to append the suffix arm64 to the shared libraries built
81+
# on ARM-based macOS.
7482

7583
if [ "$#" -ne 1 ]; then
7684
echo "Usage: $0 <dylib-dir>"

0 commit comments

Comments
 (0)