[MacPorts] #44729: ImageMagick: Undefined symbols _crc32 _zlibVersion
MacPorts
noreply at macports.org
Thu Aug 21 17:20:38 PDT 2014
#44729: ImageMagick: Undefined symbols _crc32 _zlibVersion
--------------------------+--------------------------
Reporter: jmhanly@… | Owner: ryandesign@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.3.1
Resolution: | Keywords:
Port: ImageMagick |
--------------------------+--------------------------
Comment (by ryandesign@…):
Looking more closely at your log, I see this line:
{{{
:info:build ld: warning: ignoring file /opt/local/lib/libz.dylib, missing
required architecture x86_64 in file /opt/local/lib/libz.dylib (2 slices)
}}}
MacPorts ensures that the architectures of dependencies (in this case
zlib) match the architectures of the port you're about to install
(ImageMagick), according to MacPorts' installation registry. Despite that
check, it appears that your zlib doesn't actually contain x86_64 code. To
verify these things, you can run:
{{{
port -v installed zlib
lipo -info /opt/local/lib/libz.dylib
}}}
The first command shows the architectures MacPorts recorded that it
installed the port for, and the latter shows the architecture actually in
the file on disk now. If your system is in the state I think it's in, then
the first command will show that MacPorts thinks zlib is installed for
x86_64, but the second command will show a different architecture (or
architectures).
One way this can happen is if you ran a third-party installer that was
itself built with MacPorts (configured for different architectures) which
overwrote your MacPorts-installed files. Could that be? If so, let us know
what third-party installer it was.
To fix this problem for zlib, you should deactivate and reactivate zlib:
{{{
sudo port -f deactivate zlib
sudo port activate zlib
}}}
This will remove all the zlib files, then re-extract them from the archive
MacPorts created at original install time.
And then clean ImageMagick and try again.
However, if some third-party installer replaced zlib, who knows what else
it replaced. You could ensure that all files of ports you have installed
are the ones they should be by deactivating all active ports, then re-
activating them again. I can give you instructions on that later if
necessary.
--
Ticket URL: <https://trac.macports.org/ticket/44729#comment:18>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list