Image package
Robert Fong-tom
rfongtom at gmail.com
Fri Dec 5 22:34:19 CST 2008
On Dec 5, 2008, at 4:31 PM, Thomas Treichl wrote:
> Robert Fong-tom schrieb:
>> On Dec 4, 2008, at 3:11 AM, Thomas Treichl wrote:
>>> Robert Fong-tom schrieb:
>>>> On Dec 3, 2008, at 4:23 PM, Thomas Treichl wrote:
>>>>> Søren Hauberg schrieb:
>>>>>> ons, 03 12 2008 kl. 12:57 -0500, skrev Robert Fong-tom:
>>>>>>> On Dec 3, 2008, at 2:57 AM, Søren Hauberg wrote:
>>>>>>>
>>>>>>>> tir, 02 12 2008 kl. 21:03 -0500, skrev Robert Fong-tom:
>>>>>>>>> Yes I see the headers. In MacPorts they appear to be in /
>>>>>>>>> opt/local/
>>>>>>>>> include/ImageMagick. There are also a ton of other files in
>>>>>>>>> the
>>>>>>>>> "include" directory which may be the includes for the
>>>>>>>>> dependencies.
>>>>>>>> So, what does the following commands print if you run the
>>>>>>>> from the
>>>>>>>> terminal
>>>>>>>>
>>>>>>>> Magick++-config --cppflags
>>>>>>> I get the following: -I/opt/local/include/ImageMagick
>>>>>>>> Magick++-config --ldflags
>>>>>>> I get the following: -L/opt/local/lib -L/opt/local/lib -L/
>>>>>>> usr/X11R6/ lib -L/opt/local/lib -lfreetype -lz -Wl,-
>>>>>>> framework,CoreServices -Wl,- framework,ApplicationServices -L/
>>>>>>> opt/local/lib
>>>>>>>> ? Also try to run the from Octave using the 'system'
>>>>>>>> command, i.e.
>>>>>>>>
>>>>>>>> system ("Magick++-config --cppflags")
>>>>>>> I get the following: -I/Applications/Octave.app/Contents/
>>>>>>> Resources/ include/ImageMagick
>>>>>>> ans = 0
>>>>>>>> system ("Magick++-config --ldflags")
>>>>>>> I get: -L/Applications/Octave.app/Contents/Resources/lib -L/
>>>>>>> usr/ X11R6/lib
>>>>>>> ans = 0
>>>>>> Okay, I'm confused. When you run 'Magick++-config --cppflags'
>>>>>> from the
>>>>>> terminal you get the right path to the header files, but when
>>>>>> you run
>>>>>> the command from within Octave, you get the wrong path to the
>>>>>> header
>>>>>> files. Is that right? If so, then I guess this means you have
>>>>>> to set
>>>>>> some environment variable before starting Octave. I don't even
>>>>>> know how
>>>>>> to start Octave on a Mac, so I doubt I'll be able to help you.
>>>>>> Perhaps
>>>>>> we have some Mac-experts on the list, that are able to say
>>>>>> something
>>>>>> smart?
>>>>>> Søren
>>>>>
>>>>> There must be installed two different versions of ImageMagick
>>>>> in two different locations. Otherwise the system command
>>>>> shouldn't produce a different result. The first one is in /opt/
>>>>> local/bin that comes with MacPorts, please check from Terminal.app
>>>>>
>>>>> ~$ which Magick++-config
>>>> I get : /opt/local/bin/Magick++-config
>>>>> ~$ Magick++-config --version
>>>> I get: 6.4.6 Q16
>>>>>
>>>>> The other one must have been installed manually because I
>>>>> currently don't pack ImageMagick/GraphicsMagick into the stable
>>>>> Octave.app 3.0.x versions. And the return argument of the
>>>>> system command from above is strange. Please check in Octave.app
>>>>>
>>>>> octave-3.0.3> system ("which Magick++-config")
>>>> I get: /Applications/Octave.app/Contents/Resources/bin/Magick++-
>>>> config
>>>> ans = 0
>>>>> octave-3.0.3> system ("Magick++-config --version")
>>>> I get: 6.4.6 Q16
>>>> ans = 0
>>>>>
>>>>> What I've found out some time ago is that the sources of
>>>>> ImageMagick have been changed from 5.x.x to 6.x.x. I am not
>>>>> able to find out which version of ImageMagick should be used to
>>>>> correctly install the Octave-Forge package image-1.0.8.tar.gz.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Thomas
>>>> You are right about there being two version. Before using
>>>> MacPorts to port ImageMagick, I made the mistake of installing
>>>> it manually from the ImageMagick ftp site using the UNIX
>>>> installation instructions. This did not work with Octave, so I
>>>> renamed all the ImageMagick directories/files I could find (but
>>>> did not delete them just in case). I guess there must be some
>>>> statement in the Octave set-up that is incorrect. Do you know
>>>> how to fix this?
>>>
>>> I think I don't know exactly what you mean here, but if you need
>>> a fresh unmodified Octave.app without a 'Magick++-config' program in
>>>
>>> /Applications/Octave.app/Contents/Resources/bin/Magick++-config
>>>
>>> then why not just moving Octave.app into trash and then install
>>> it again?
>>>
>>> Regards,
>>>
>>> Thomas
>> I blew away Octave.app and reinstalled, and now Octave seem to be
>> getting the location of ImageMagick correctly. However I still am
>> having problems installing the Image package. The error messages I
>> get now are:
>> 1) /usr/bin/ld: warning can't open dynamic library: /tmp/
>> dependencies-i386/lib/libz.1.dylib referenced from: /Applications/
>> Octave.app/Contents/Resources/lib/octave-3.0.3/liboctinterp.dylib
>> (checking for undefined symbols may be affected) (No such file or
>> directory, errno = 2)
>> /usr/bin/ld: Undefined symbols:
>> _CloneImageInfo
>> _DestroyImageInfo
>> _GetExceptionInfo
>> _ReadImage
>
> In the file 'src/Makefile' of the package image-1.0.8.tar.gz it is
> not enough to get back the --cppflags and --ldflags from Magick++-
> config. At least on a Mac (but I expect this won't make any
> difference on Linux, too) it is necessary to get back --libs,
> otherwise the installation of image-1.0.8 fails because of the
> linker error Bob reported before.
>
> I changed the following line in 'src/Makefile'
>
> __magick_read__.oct: __magick_read__.cc
> $(MKOCTFILE) $< `Magick++-config --cppflags` `Magick++-
> config --ldflags`
>
> into
>
> __magick_read__.oct: __magick_read__.cc
> $(MKOCTFILE) $< `Magick++-config --cppflags --ldflags --libs`
>
> and then was able to successfully install image-1.0.8.tar.gz in
> Octave.app, too.
>
> Bob, I send you a modified package offside any mailing-list. Please
> try to install that one instead and report back if this works for
> you so that we can think about making a modification in the sources.
>
> Regards,
>
> Thomas
I failed to mention in my last reply that I am using an Intel Mac
with OS X 10.4
More information about the Help-octave
mailing list