#46583 closed defect (worksforme)
upgrading port `py27-scipy` fails with `ld64`
Reported by: | evandrix (Lee Wei Yeong) | Owned by: | jeremyhu (Jeremy Huddleston Sequoia) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.3 |
Keywords: | Cc: | ||
Port: | ld64 |
Description (last modified by mf2k (Frank Schima))
I'm on OS X Yosemite 10.10.1
Trying to update my outdated port py27-scipy
, where partial output of sudo port list outdated
, showing only relevant line, is below:
...
py27-scipy @0.15.0 python/py-scipy
...
Following is also an extract of the last bit just before the port upgrade via sudo port -d upgrade py27-scipy
fails:
src/ld/parsers/lto_file.cpp:41: src/abstraction/MachOFileAbstraction.hpp:510:10: fatal error: 'mach-o/arm/reloc.h' file not found #include <mach-o/arm/reloc.h> In file included from src/other/dyldinfo.cpp:39: src/abstraction/MachOFileAbstraction.hpp:510:10: fatal error: 'mach-o/arm/reloc.h' file not found #include <mach-o/arm/reloc.h> ^ ^ 2 warnings and 1 error generated.
Indeed, my $PREFIX = /opt/local (as default), and the directory /opt/local/include/mach-o
doesn't contain a subfolder arm
.
However, files similar to /mach-o/arm/reloc.h
seems available within Xcode (I'm on v6.1.1 currently) for my OS platform version (ie. 10.10):
Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/mach-o/arm64/reloc.h Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/mach-o/ppc/reloc.h Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/mach-o/reloc.h Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/mach-o/x86_64/reloc.h
The exact file exists here, but they are not my OS platform, nor the right version either:
- Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/mach-o/arm/reloc.h
- Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/mach-o/arm/reloc.h
Any ideas how to resolve this issue I'm facing?
Much appreciated
Attachments (1)
Change History (8)
Changed 10 years ago by evandrix (Lee Wei Yeong)
Attachment: | port-upgrade-partial.log added |
---|
comment:1 Changed 10 years ago by evandrix (Lee Wei Yeong)
Cc: | evandrix@… added |
---|
comment:2 Changed 10 years ago by mf2k (Frank Schima)
Cc: | evandrix@… removed |
---|---|
Keywords: | py27-scipy ld64 fail port upgrade removed |
Owner: | changed from macports-tickets@… to jeremyhu@… |
In the future, please use WikiFormatting and Cc the port maintainers (port info --maintainers ld64
), if any. As reporter, you do not need to Cc yourself.
This is not a clean build log. Please clean
the port and try again. Then attach the new main.log file.
comment:3 Changed 10 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|
comment:4 follow-up: 5 Changed 10 years ago by jeremyhu (Jeremy Huddleston Sequoia)
ld64 has:
depends_build path:include/mach-o/dyld_priv.h:dyld-headers \ path:include/mach-o/arm/reloc.h:libmacho-headers
Your log shows that it is installed:
DEBUG: libmacho-headers 862_2 is active
What's the output of:
port contents libmacho-headers
comment:5 Changed 10 years ago by evandrix (Lee Wei Yeong)
Replying to jeremyhu@…:
ld64 has:
depends_build path:include/mach-o/dyld_priv.h:dyld-headers \ path:include/mach-o/arm/reloc.h:libmacho-headersYour log shows that it is installed:
DEBUG: libmacho-headers 862_2 is activeWhat's the output of:
port contents libmacho-headers
As requested:
$ sudo port contents libmacho-headers
Port libmacho-headers contains: /opt/local/include/mach-o/arch.h.mp_XXX /opt/local/include/mach-o/arm/reloc.h.mp_XXX /opt/local/include/mach-o/arm64/reloc.h.mp_XXX /opt/local/include/mach-o/fat.h.mp_XXX /opt/local/include/mach-o/getsect.h.mp_XXX /opt/local/include/mach-o/i386/swap.h.mp_XXX /opt/local/include/mach-o/ldsyms.h.mp_XXX /opt/local/include/mach-o/loader.h.mp_XXX /opt/local/include/mach-o/nlist.h.mp_XXX /opt/local/include/mach-o/ppc/reloc.h.mp_XXX /opt/local/include/mach-o/ppc/swap.h.mp_XXX /opt/local/include/mach-o/ranlib.h.mp_XXX /opt/local/include/mach-o/reloc.h.mp_XXX /opt/local/include/mach-o/stab.h.mp_XXX /opt/local/include/mach-o/swap.h.mp_XXX /opt/local/include/mach-o/x86_64/reloc.h.mp_XXX
...where .mp_XXX
represents .mp_<epoch at which time the files were moved>
, as done by MacPorts.
tyvm for suggesting I try to run that command, because my issue seems to have been resolved (will need to test on 1 more machine before I confirm this)
anyway, I usually would delete any *.mp_* files under my $prefix
, so this does explain why I'm encountering the error I've previously stated in this ticket.
solution is of course to reinstall libmacho-headers
, so that sudo port contents libmacho-headers
would now show that same filelist, but w/o the trailing .mp_XXX
, and the files would also be there as needed.
comment:6 follow-up: 7 Changed 10 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Resolution: | → worksforme |
---|---|
Status: | new → closed |
comment:7 Changed 10 years ago by evandrix (Lee Wei Yeong)
Replying to jeremyhu@…:
Yes, I can verify that this suggested fix works perfectly across all my machines. Thanks again
Cc Me!