Opened 12 years ago
Closed 12 years ago
#39110 closed defect (invalid)
p5-perlmagick @6.8.5-5 fails to build: ld: library not found for -lMagickCore-6.Q16
Reported by: | jmgoicolea (Jose Goicolea) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.3 |
Keywords: | Cc: | ||
Port: | p5-perlmagick |
Description (last modified by mf2k (Frank Schima))
This port fails when building its first dependency:
$ sudo port install p5-perlmagick ---> Computing dependencies for p5-perlmagick ---> Dependencies to be installed: p5.12-perlmagick ---> Building p5.12-perlmagick Error: org.macports.build for port p5.12-perlmagick returned: command execution failed Error: Failed to install p5.12-perlmagick Please see the log file for port p5.12-perlmagick for details: ...
In the log file it appears to be an error in the linking stage:
... :info:build ld: warning: directory not found for option '-L../magick/.libs' :info:build ld: library not found for -lMagickCore-6.Q16 :info:build clang: error: linker command failed with exit code 1 (use -v to see invocation) ...
This port is needed for auto-multiple-choice which is what I'm really interested in
Attachments (1)
Change History (9)
comment:1 Changed 12 years ago by jmgoicolea (Jose Goicolea)
comment:2 Changed 12 years ago by mf2k (Frank Schima)
Cc: | ryandesign@… added |
---|---|
Description: | modified (diff) |
Owner: | changed from macports-tickets@… to astricker@… |
In the future, please use WikiFormatting and Cc the port maintainer(s).
comment:3 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
This was not a clean attempt. Clean and try again.
Changed 12 years ago by jmgoicolea (Jose Goicolea)
log file which fails for installing p5.12-perlmagick
comment:4 Changed 12 years ago by jmgoicolea (Jose Goicolea)
I have cleaned ("sudo port clean p5-perlmagick p5.12-perlmagick") but the error remains the same
comment:5 follow-up: 6 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… removed |
---|---|
Owner: | changed from astricker@… to ryandesign@… |
Status: | new → assigned |
Summary: | p5-perlmagick @6.8.5-5 fails to build → p5-perlmagick @6.8.5-5 fails to build with old clang |
Thanks for verifying that. This is the problem that old versions of clang don't understand LIBRARY_PATH. I'll see if I can work around it.
Upgrading to a newer version of Xcode (e.g. 4.6.2) would fix it too; you should probably do that anyway. You can get it from the Mac App Store. After upgrading Xcode, open Xcode, go to the Preferences window, to the Downloads section, and upgrade the command line tools too.
comment:6 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | p5-perlmagick @6.8.5-5 fails to build with old clang → p5-perlmagick @6.8.5-5 fails to build: ld: library not found for -lMagickCore-6.Q16 |
---|
Replying to ryandesign@…:
This is the problem that old versions of clang don't understand LIBRARY_PATH.
On second thought, that doesn't seem to be it. I can't reproduce the problem, even on the very old version of clang in Xcode 3.2.6.
The relevant error in your log is:
ld: library not found for -lMagickCore-6.Q16
Do these files actually exist? The ImageMagick port should have installed them:
/opt/local/lib/libMagickCore-6.Q16.dylib /opt/local/lib/libMagickCore-6.Q16.1.dylib
If not, what do port -v installed ImageMagick
and port contents ImageMagick
say?
comment:7 follow-up: 8 Changed 12 years ago by jmgoicolea (Jose Goicolea)
You are right. I had an older version installed of ImageMagick (@6.8.0-7_2+perl+q16) and in this version the required libraries did not exist.
I have installed the new ImageMagick @6.8.5-5_0, it does contain the required libraries, and after that p5-perlmagick and p5.12-perlmagick build correctly.
It also appears that auto-multiple-choice which needed the +perl variant in the previous version of ImageMagick now works correctly.
Thanks indeed for your help
comment:8 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → invalid |
---|---|
Status: | assigned → closed |
Replying to jose.goicolea@…:
You are right. I had an older version installed of ImageMagick (@6.8.0-7_2+perl+q16) and in this version the required libraries did not exist.
I have installed the new ImageMagick @6.8.5-5_0, it does contain the required libraries, and after that p5-perlmagick and p5.12-perlmagick build correctly.
Glad you got it working. But MacPorts should have upgraded ImageMagick for you first; I'm not sure why it didn't.
It also appears that auto-multiple-choice which needed the +perl variant in the previous version of ImageMagick now works correctly.
auto-multiple-choice makes no mention of requiring ImageMagick; it declares a dependency on GraphicsMagick. If auto-multiple-choice actually requires ImageMagick (or rather p5.12-perlmagick), please file a bug report against it.
to be more precise, I needed to build ImageMagick with the +perl variant, in order to install auto-multiple-choice which requires it. This +perl variant has been deprecated in the latest version of ImageMagick @6.8.5-5_0 , which upon build gives the following error message:
Error: org.macports.configure for port ImageMagick returned: The +perl variant is no longer used; use the separate p5-perlmagick port instead.
My system is Lion 10.7.5, with xcode version 4.2.1