#15716 closed defect (fixed)
octave-image 1.0.6 - Build error - ld: library not found for -lMagick
Reported by: | alakazam@… | Owned by: | andrea.damore@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.6.0 |
Keywords: | octave image | Cc: | jsnodgra@…, ryandesign (Ryan Carsten Schmidt) |
Port: |
Description
octave-image fails to build when executing
mkoctfile __magick_read__.cc `Magick++-config --cppflags` -lMagick++ -lMagick
and generates the following error :
ld: library not found for -lMagick
I am attaching a full debug log. I have ImageMagick @6.4.1-6_0+q16
and jpeg @6b_2
installed.
I think it should also have a dependency on ImageMagick, and maybe jpeg, according to dependencies specified on http://octave.sourceforge.net/image/index.html :
buildrequires: jpeg-devel
systemrequirements: ImageMagick
Attachments (1)
Change History (13)
Changed 16 years ago by alakazam@…
Attachment: | octave-image.install.log added |
---|
comment:1 Changed 16 years ago by blb@…
Cc: | jsnodgra@… added; andrea.damore@… removed |
---|---|
Owner: | changed from macports-tickets@… to andrea.damore@… |
comment:2 Changed 16 years ago by andrea.damore@…
Status: | new → assigned |
---|
Hi, I notice build phase is broken here too but I had octave-image installed, I wonder if latest system updates broke something.
About your points:
- I can't find jpeg-devel, I think it's just the "jpeg" macport
- I see macports' ImageMagick provides only libMagick++ , I have libMagick.dylib in /usr/local so I'm assuming it's not a system default, is it?
comment:3 Changed 16 years ago by alakazam@…
I can't find jpeg-devel, I think it's just the "jpeg" macport
I agree, and was in fact suggesting that the octave-image
port might need to depend on the jpeg
port :
I think it should also have a dependency on ImageMagick, and maybe jpeg
I have libMagick.dylib in /usr/local
/usr/local/lib/libMagick.dylib
does not exist on my system.
I think the only "libMagick*" files on my system are in /opt/local/bin/
.
comment:4 Changed 16 years ago by andrea.damore@…
Do you have libMagick.dylib at all?
My ImageMagick port doesn't provide them, only libMagic++.* and I think that to link with -lMagick you'll need libMagick.dylib, right?
comment:5 Changed 16 years ago by alakazam@…
Indeed, I have libMagick++.dylib, libMagickCore.dylib, and libMagickWand.dylib, but not libMagick.dylib.
comment:6 Changed 16 years ago by andrea.damore@…
I'm not sure how to proceed, seems that libMagick.dylib is needed by the package but the ImageMagick portfile doesn't provide it, so using a "file dependency" is useless as it need a <port> name to install in case the dependency isn't satisfied and there is no such a portfile...
comment:7 Changed 16 years ago by alakazam@…
I don't really know how ImageMagick
works, so I'm not sure how to proceed with this ; maybe it is possible to make the ImageMagick
port install the necessary files ; maybe the necessary library functions are provided by other files in the ImageMagick
package, and patching octave-image
would solve the problem. I suggest contacting the ImageMagick
port's maintainer, Ryan Schmidt, who might know what files to link against in replacement of libMagick.dylib
/ if it is better to adapt the ImageMagick
port.
comment:8 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added |
---|
libMagick was renamed to libMagickCore as of ImageMagick 6.3.8-5. Rather than hardcoding the name of the ImageMagick core library, software should use Magick-config or the ImageMagick.pc pkg-config file to determine the name of the ImageMagick core library. See the ImageMagick ChangeLog entry for 6.3.8-5.
comment:9 Changed 16 years ago by andrea.damore@…
alakazam try the portfile and patch in svn, I changed -lMagick with Magick-config, you should be at least able to go through the building process without errors even if I can see many lines like: mkoctfile: no way to compile C++ file xxxxxxx.cc and so there is some problem with c++ mkoctfile building.
comment:10 Changed 16 years ago by alakazam@…
I have compiled the latest svn}}-based {{{octave-image
Portfile successfully (non-debug mode) and haven't encountered any problems. I have run quick tests of the basic functions, and they seem to work (imread, imwrite, im2double, etc.). So I guess this works for me, thanks for the fix !
comment:11 Changed 16 years ago by andrea.damore@…
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed, I will report to octave-image's author(s).
Cc reporter of dup #15985.