ImageMagick-perl-6.3.7-3 deep regression

Post any defects you find in the released or beta versions of the ImageMagick software here. Include the ImageMagick version, OS, and any command-line required to reproduce the problem. Got a patch for a bug? Post it here.
Post Reply
gammat

ImageMagick-perl-6.3.7-3 deep regression

Post by gammat »

I'm having one heck of a time trying to move my web server, which uses perlmagick from Fedora Core 4 to a a pentium 64-bit processor and Fedora Core 8.

I loaded the latest I could find,
ImageMagick-6.3.7-3.x86_64.rpm and ImageMagick-perl-6.3.7-3.x86_64.rpm,
from htttp://image_magick.veidrodis.com/image_magick/linux/fedora/x86_64/

When I try to 'use Image::Magick;' from a test program, perl complains
"Can't locate loadable object for module Image::Magick in @INC"

Now I printf'ed a bunch, and found it was finding and executing the .../Image/Magick.pm (from the above rpm) okay. However after it prints the above error message, executes the bootstrap command, and goes into 'deep regression' (as I've heard others here call it), repeatedly calling 'sub AUTOLOAD'. The printf's I've added to Magick.pm tell me this. Then of course I get "out of memory".

What do I do to fix this? This has occupied me for 2 days. HELP




I previously have tried several things that didn't work.
loaded PerlMagick-6.32.tar.gz . got ERROR: ‘MagickCompositeOptions’ undeclared

This is not a clean installation -- the crud lying around from that may be part of the problem. I'd also like suggestions on how to clean the mess up (without making even more).

I did pull one bug out, that it was finding a version of Magick.pm (6.2.0) first and not seeing 6.3.7.

An interesting command which may help with this:

[root@Gigabug usr]# find /usr -name "*Magick*" -print
/usr/share/ImageMagick-6.3.5
/usr/share/doc/ImageMagick-6.3.5.9
/usr/share/doc/ImageMagick-6.3.5
/usr/share/doc/ImageMagick-6.3.5/www/Magick++
/usr/share/doc/ImageMagick-6.3.5/www/Magick++/ImageMagick.png
/usr/share/doc/ImageMagick-6.3.5/www/Magick++/Magick++.png
/usr/share/doc/ImageMagick-6.3.5/www/ImageMagickObject.html
/usr/share/doc/ImageMagick-6.3.7
/usr/share/doc/ImageMagick-6.3.7/www/Magick++
/usr/share/doc/ImageMagick-6.3.7/www/Magick++/ImageMagick.png
/usr/share/doc/ImageMagick-6.3.7/www/Magick++/Magick++.png
/usr/share/doc/ImageMagick-6.3.7/www/ImageMagickObject.html
/usr/share/doc/ImageMagick-perl-6.3.7
/usr/share/ImageMagick-6.3.7
/usr/share/man/man3/Apache::ImageMagick.3pm
/usr/share/man/man3/Image::Magick.3pm.gz
/usr/share/man/man1/ImageMagick.1.gz
/usr/lib64/ImageMagick-6.3.5
/usr/lib64/libMagick.so.10
/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/Apache/ImageMagick
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Image/Magick
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/Image/MagickFoo.pm # tried some things here
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/Image/Magick.pm
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/Image/Magick.pm~
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/Image/#Magick.pm#
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/Image/Magick0.pm
/usr/lib64/ImageMagick-6.3.7
/usr/lib64/libMagick.so.10.0.8
/usr/lib64/libMagick.so.10.0.9
/usr/lib/ImageMagick-6.3.5
/usr/lib/libMagick.so.10
/usr/lib/perl5/site_perl/5.8.8/CGI/ImageMagick.pm
/usr/lib/perl5/site_perl/5.8.8/Apache/ImageMagick.pm
/usr/lib/libMagick.so.10.0.8
/usr/local/share/doc/ImageMagick-6.3.7
/usr/local/share/doc/ImageMagick-6.3.7/www/Magick++
/usr/local/share/doc/ImageMagick-6.3.7/www/Magick++/ImageMagick.png
/usr/local/share/doc/ImageMagick-6.3.7/www/Magick++/Magick++.png
/usr/local/share/doc/ImageMagick-6.3.7/www/ImageMagickObject.html
/usr/local/share/ImageMagick-6.3.7
/usr/local/share/man/man1/Magick++-config.1
/usr/local/share/man/man1/ImageMagick.1
/usr/local/share/man/man1/Magick-config.1
/usr/local/bin/Magick-config
/usr/local/bin/Magick++-config
/usr/local/lib/libMagick++.a
/usr/local/lib/libMagick.la
/usr/local/lib/libMagick++.la
/usr/local/lib/ImageMagick-6.3.7
/usr/local/lib/libMagick.a
/usr/local/lib/pkgconfig/ImageMagick++.pc
/usr/local/lib/pkgconfig/ImageMagick.pc
/usr/local/include/Magick++
/usr/local/include/wand/MagickWand.h
/usr/local/include/magick/MagickCore.h
/usr/local/include/magick/ImageMagick.h
/usr/local/include/Magick++.h
gammat

Re: ImageMagick-perl-6.3.7-3 deep regression

Post by gammat »

please, could someone help me! I want to get my web site up!
User avatar
anthony
Posts: 8883
Joined: 2004-05-31T19:27:03-07:00
Authentication code: 8675308
Location: Brisbane, Australia

Re: ImageMagick-perl-6.3.7-3 deep regression

Post by anthony »

Usually the IM perl will be found automatically. However /usr/lib64 may not be a default path. IN this case you may need to have some environment variables such as PERL5LIB defined in the web server start up script so the environment has this information.

There was another thread on this recentally.
Anthony Thyssen -- Webmaster for ImageMagick Example Pages
https://imagemagick.org/Usage/
gammat

Re: ImageMagick-perl-6.3.7-3 deep regression

Post by gammat »

Anthony, thanks for your post. It helped, a bit.

I set 'export PERL_DL_DEBUG=1', and found DynaLoader said (among other things):
checking in /usr/lib64 for libMagick.so

now from the ImageMagick-6.3.7-3 (that I got from http://image_magick.veidrodis.com/image_magick/linux/fedora/x86_64/) I have a /usr/lib64/libMagick.so.10

So I made a symbolic link in /usr/lib64 of libMagick.so to libMagick.so.10 just to see....

And it finds libMagick.so. However now it says

"Can't find 'boot_Image__Magick' symbol in /usr/lib64/libMagick.so"

(which of course is libMagick.so.10)

So I'm wondering:
1. why does nm of libMagick.so.10 says "no symbols" (I think nm is the right tool to use)
2. Is my ImageMagick-6.3.7-3 good

What's your take on this?
User avatar
anthony
Posts: 8883
Joined: 2004-05-31T19:27:03-07:00
Authentication code: 8675308
Location: Brisbane, Australia

Re: ImageMagick-perl-6.3.7-3 deep regression

Post by anthony »

Oh you are having the same problems I am having with Fedora 8..

For some horrible reason Gcc on F8 is requiring all libraries to have some type of debug info included in them. I have no idea why. I have NOT been able to install a system version of IM on F8, and definatally not a perl API.

I have installed a personal copy of IM in a directory in my personal home for use with IM Examples, but not PerlMagick.

What I want to do is download the F8 source RPM that fedora used to compile ImageMagick, and look at what changes they made to create the version they are using. I am hopping to roll those changes into the offical IM sources to fix this problem..

When I can do this is another matter with the silly season taking up my time. But you are welcome to look yourself.
Anthony Thyssen -- Webmaster for ImageMagick Example Pages
https://imagemagick.org/Usage/
gammat

Re: ImageMagick-perl-6.3.7-3 deep regression

Post by gammat »

So it's working now, and I'm out of the woods. Knowing how I got it working is harder to say. My take is I probably goofed on some steps and didn't know it.

1. I removed all ImageMagic entries from rpm. I had two entries for ImageMagick-6.3.5.9, so had to use rpm --allmatches --nodeps. Also had ImageMagick-6.3.7-3 and ImageMagick-perl-6.3.7-3

2. I got the sources from the same web site as the:
http://image_magick.veidrodis.com/image_magick/linux/SRPMS/ImageMagick-6.3.7-3.src.rpm
Unpacking that src.rpm required me making a user and group 'cristy' (wtf?), and it couldn't find libperl.a. So
viewtopic.php?f=1&t=10269&start=0&st=0&sk=t&sd=a suggested ./configure --enable-shared . With that, it compiled okay, but still couldn't find 'boot_Image__Magick' symbol in /usr/lib64/libMagick.so

3. I removed everything in the 6.3.7-3 build directory. Make uninstall; make distclean. Then reinstalled ImageMagick-6.3.7-3 and ImageMagick-perl-6.3.7-3, and IT WORKED.

The moral? a) don't try this at home, b) not ready for prime time, or c) I'm a bumbling idiot with a PhD in CS. (I'm kinda thinking equal parts of all of the above ;^)

Anyhow, thanks for your help. The web site runs! (It uses a highly modified version of the old Album.pm to manage my 6000 pictures). I'm off to the next issue, not involving ImageMagick.
User avatar
anthony
Posts: 8883
Joined: 2004-05-31T19:27:03-07:00
Authentication code: 8675308
Location: Brisbane, Australia

Re: ImageMagick-perl-6.3.7-3 deep regression

Post by anthony »

I have found that while not having a 'cristy' account produces some errors it never stopped the SRPM from being built. It is only a archive unpacking permission warning, not a actual problem.

However I am curious why you used that SRPM. and why the 6.3.7-3 version rather than the current latest of 6.3.7-6.

Do you have a log of the commands you are following?
Anthony Thyssen -- Webmaster for ImageMagick Example Pages
https://imagemagick.org/Usage/
gammat

Re: ImageMagick-perl-6.3.7-3 deep regression

Post by gammat »

sorry for the delay -- I appreciate your help, and should have gotten back quicker.

cristy was just confusion for me, and it may have installed -- I don't remember. I might have interpreted a warning as an error.

The best log I have is what I posted in this thread.

As to versions, google found 6.3.7-3 first and I didn't know about -6.

So I'm not sure, when I do this next year (with FC17 !^) what the best howto I should follow is. Knowing that could save me days of muddeling. I think many of my problems were self-inflicted. Got any suggestions?

Thanks for your help.
gammat

Re: ImageMagick-perl-6.3.7-3 deep regression

Post by gammat »

In the 6 weeks since starting this project, I have come to the conclusion that 64-bit Fedora Core 8 is "not ready for prime time"!. I had problems with things like VMware, gdb, eclipse, netbeans, ..., so I've reverted to 32-bit Fedora Core 8, and all these problems went away.

This meant I had to reinstall ImageMagick for Apache, to get my photo album server working. (check out http://www.a-king.us (password=gibson)) This time it only took me a few hours this time. Here's what I've learned, for those that stumble on this page, or perhaps for someone at ImageMagick who wants to include this in a wiki. I went to http://www.imagemagick.org/wiki, it seems to be down :-(

For a WIKI howto on using ImageMagick for Apache on Fedora Core 8:

Apache's use of ImageMagick requires 3 modules: ImageMagick, PerlMagick (a Perl interface to ImageMagick, aka ImageMagick-perl) and Apache-ImageMagick (Apache interface to PerlMagick). (The names are very confusing.)

Imagemagick's web site has a mirror ftp://ftp.fifi.org/pub/ImageMagick/linux/fedora/i386/ which has both ImageMagick and PerlMagick. As of 1/23/08, the latest ImageMagick is 6.3.8-0. I used the i386 rpm's, and had to install additionally install graphviz, a new dependency.

I used Version 2.0b7 of Apache-ImageMagick from http://search.cpan.org/~grichter/Apache ... eMagick.pm. Untar and see the README -- it just worked.
Post Reply