Opened 12 years ago

Closed 12 years ago

Last modified 11 years ago

#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 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)

octave-image.install.log (10.1 KB) - added by alakazam@… 12 years ago.

Download all attachments as: .zip

Change History (13)

Changed 12 years ago by alakazam@…

Attachment: octave-image.install.log added

comment:1 Changed 12 years ago by blb@…

Cc: jsnodgra@… added; andrea.damore@… removed
Owner: changed from macports-tickets@… to andrea.damore@…

Cc reporter of dup #15985.

comment:2 Changed 12 years ago by andrea.damore@…

Status: newassigned

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 12 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 12 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 12 years ago by alakazam@…

Indeed, I have libMagick++.dylib, libMagickCore.dylib, and libMagickWand.dylib, but not libMagick.dylib.

comment:6 Changed 12 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 12 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 12 years ago by ryandesign (Ryan 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 12 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 12 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 12 years ago by andrea.damore@…

Resolution: fixed
Status: assignedclosed

Fixed, I will report to octave-image's author(s).

comment:12 Changed 11 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.