Opened 5 years ago
Last modified 5 years ago
#58748 closed defect
libproj4: object: libproj4.a(proj_aeqd.o) malformed object (unknown load command 1) — at Version 1
Reported by: | lchuang52 | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | libproj4 |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
Hi! I am installing gnudatalanguage, but I meet this problem:
---> Building libproj4 Error: Failed to build libproj4: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_libproj4/libproj4/main.log for details. Error: Follow https://guide.macports.org/#project.tickets to report a bug. Error: Processing of port gnudatalanguage failed
Change History (2)
Changed 5 years ago by lchuang52
comment:1 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Port: | libproj4 added |
Summary: | MacPorts 2.5.4: Failed to build libproj4 when installing gnudatalanguage → libproj4: object: libproj4.a(proj_aeqd.o) malformed object (unknown load command 1) |
Note: See
TracTickets for help on using
tickets.
This problem does not seem to me to be specific to the libproj4 port, since the libproj4 port does not specify or require a particular compiler; I expect you will encounter similar problems with other ports.
The log says:
This is surprising. "System cc" is a fallback included in MacPorts primarily for the virtually completely unused use case of MacPorts running on non-macOS systems. When running on macOS systems, MacPorts should be picking a more specific compiler, such as Xcode's clang. You should only see this behavior on macOS if you have installed neither Xcode nor the command line tools. And the log shows that, at least as far as MacPorts knows, that is the case:
I see from the log that you're using macOS Mojave. To use MacPorts on Mojave, we recommend installing Xcode. Make sure you install a version of Xcode compatible with Mojave (Xcode 10 or 11). If you have installed the command line tools, make sure it is a version that matches the version of Xcode you have installed.
The log also shows:
ar
andranlib
are provided by the cctools port. This error message suggests that your cctools is too old to understand the files being produced by whatever compiler is being used. The cctools port currently provides version 921, which matches what Apple shipped in Xcode 10. If you are using the clang compiler from Xcode 11, then you need a newer version of cctools than that. I have requested that the cctools port be updated to an Xcode 11-compatible version, but until that's done, you'll need to reinstall the cctools port with the +xcode variant.