Opened 4 years ago
Last modified 4 years ago
#60780 assigned defect
py38-mkl @2019.0: changing install names or rpaths can't be redone ... because larger updated load commands do not fit
Reported by: | nasyxx (Nasy) | Owned by: | cjones051073 (Chris Jones) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.99 |
Keywords: | Cc: | ||
Port: | py-mkl |
Description
I'm not sure if it's a whl
problem or a ports problem. But I tested directly pip install mkl
without problems.
Executing: cd "/Users/Nasy/.macports/var/macports/build/_Users_Nasy_.macports_macports-ports_python_py-mkl/py38-mkl/work/mkl-2019.0-py2.py3-none-macosx_10_12_intel.macosx_10_12_x86_64" && pip-3.8 install --no-cache-dir --no-dependencies --root /Users/Nasy/.macports/var/macports/build/_Users_Nasy_.macports_macports-ports_python_py-mkl/py38-mkl/work/destroot /Users/Nasy/.macports/var/macports/distfiles/py-mkl/mkl-2019.0-py2.py3-none-macosx_10_12_intel.macosx_10_12_x86_64.whl dbus[18195]: Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded! dbus[18195]: Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded! Processing /Users/Nasy/.macports/var/macports/distfiles/py-mkl/mkl-2019.0-py2.py3-none-macosx_10_12_intel.macosx_10_12_x86_64.whl Installing collected packages: mkl Successfully installed mkl-2019.0 error: /Library/Developer/CommandLineTools/usr/bin/install_name_tool: changing install names or rpaths can't be redone for: /Users/Nasy/.macports/var/macports/build/_Users_Nasy_.macports_macports-ports_python_py-mkl/py38-mkl/work/destroot/Users/Nasy/.macports/Library/Frameworks/Python.framework/Versions/3.8/lib/libmkl_intel_ilp64.dylib (for architecture x86_64) because larger updated load commands do not fit (the program must be relinked, and you may need to use -headerpad or -headerpad_max_install_names) Command failed: install_name_tool -add_rpath /Users/Nasy/.macports/lib/libomp /Users/Nasy/.macports/var/macports/build/_Users_Nasy_.macports_macports-ports_python_py-mkl/py38-mkl/work/destroot/Users/Nasy/.macports/Library/Frameworks/Python.framework/Versions/3.8/lib/libmkl_intel_ilp64.dylib Exit code: 1 Error: Failed to destroot py38-mkl: command execution failed
Attachments (1)
Change History (3)
Changed 4 years ago by nasyxx (Nasy)
comment:1 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | catalina removed |
---|---|
Owner: | set to cjones051073 |
Port: | py-mkl added; py38-mkl removed |
Status: | new → assigned |
Summary: | py38-mkl @2019.0 Command failed: install_name_tool -add_rpath → py38-mkl @2019.0: changing install names or rpaths can't be redone ... because larger updated load commands do not fit |
comment:2 Changed 4 years ago by nasyxx (Nasy)
How about just ignore line 77?
system "install_name_tool -add_rpath ${prefix}/lib ${dlib}"
Since it will only link for libomp, I guess this line is useless. But I'm not sure if it will influence other things or not.
Note: See
TracTickets for help on using
tickets.
MacPorts puts
-headerpad_max_install_names
intoconfigure.ldflags
automatically specifically so thatinstall_name_tool
can be used in this way, but this build isn't making use of MacPortsconfigure.ldflags
(and it probably should be).I'm not entirely sure where the problem is. I see that the port is disabling the build phase and doing its building and installing together in the destroot phase, which is weird; ports should usually build in the build phase and install in the destroot phase. If fixing that doesn't fix the problem, then I would examine the python 1.0 portgroup. It's possible this problem affects all python modules. I don't see the string
configure.ldflags
anywhere in the python portgroup, which surprises me. For comparison, I do seeconfigure.cflags
andconfigure.cxxflags
used there.This problem may be affecting you especially, and might not be apparent when we build it, because you're using a custom MacPorts prefix (/Users/Nasy/.macports) that is longer than the default prefix (/opt/local).