ImageMagick z PLD-devel

Jacek Osiecki joshua2 w ciapek.uci.agh.edu.pl
Nie, 7 Mar 1999, 18:48:52 CET


Witam!

Coś mi się nie podoba PLD-owy (4.1.8-1d) ImageMagick.
Znalazłem wyraźny błąd w jego działaniu... i nie bardzo wiem, skąd on wynika.

Przy tworzeniu animowanego gif-a zauważyłem, że pojawił się jakiś brzydki
burak. Był na tyle brzydki, że postanowiłem po kolei przekonwertować
wszystkie klatki na gif-y...

Jak się okazało, krytyczny plik (anim0015.tga - wrzucę w poniedziałek na
ftp://cenzor.zie.pg.gda.pl/pub/Incoming/) jest konwertowany źle!

Co więcej, na standardowym ImageMagick 4.1.0-1 na świeżo zainstalowanym RH 5.2
niniejsza targa jest konwertowana prawidłowo! Do tego bardzo dziwnie wygląda
porównanie wynikowych gif-ów stworzonych ImageMagick z PLD i z RH:

Ten z PLD tworzy 13-kilowego gif-a, a ten z RH - 74 kilo. Jednakże identify
z ImageMagick obydwa rozpoznaje jako identyczne - nawet opcja -verbose
pokazuje tylko trzy różnice: nazwa pliku, wielkość i sygnatura... Nawet
palety są identyczne!

Zacząłem podejrzewać, że ImageMagick był przekompilowany tym wesołym
pgcc+egcs... więc chciałem sobie przekompilować osobiście. Wynik był mało
zachęcający:

cp Magick.pm blib/lib/Image/Magick.pm
AutoSplitting blib/lib/Image/Magick.pm (blib/lib/auto/Image/Magick)
/usr/bin/perl -I/usr/lib/perl5/5.00502/i386-linux-thread
-I/usr/lib/perl5/5.00502 /usr/lib/perl5/5.00502/ExtUtils/xsubpp  -typemap
/usr/lib/perl5/5.00502/ExtUtils/typemap Magick.xs >Magick.tc && mv Magick.tc
Magick.c
cc -c -I../magick -I/usr/X11R6/include/X11/magick -I/usr/X11R6/include
-D_REENTRANT -Dbool=char -DHAS_BOOL -I/usr/local/include -O6 -march=pentium
-fomit-frame-pointer    -DVERSION=\"1.60\" -DXS_VERSION=\"1.60\" -fpic
-I/usr/lib/perl5/5.00502/i386-linux-thread/CORE  Magick.c
In file included from ../magick/magick.h:35,
                 from Magick.xs:77:
		 /usr/include/assert.h:79: warning: assert' redefined
		 /usr/lib/perl5/5.00502/i386-linux-thread/CORE/perl.h:1480:
warning: this is the location of the previous definition
Running Mkbootstrap for Image::Magick ()
chmod 644 Magick.bs
LD_RUN_PATH="/usr/X11R6/lib:/usr/lib:/lib" cc -o
blib/arch/auto/Image/Magick/Magick.so  -shared -L/usr/local/lib Magick.o
-L/usr/X11R6/lib -L/usr/X11R6/lib -L/usr/X11R6/lib -lMagick -ltiff -ljpeg
-lpng -lXext -lX11 -lz -lm 
/usr/bin/ld: cannot open -lMagick: Nie ma takiego pliku ani katalogu
collect2: ld returned 1 exit status
make[1]: *** [blib/arch/auto/Image/Magick/Magick.so] Error 1
make[1]: Leaving directory /usr/src/rpm/BUILD/ImageMagick-4.1.8/PerlMagick'
make: *** [all-perl] Error 2
Bad exit status from /var/tmp/rpm-tmp.11901 (%build)

Dlaczego w takim razie ImageMagick-4.1.8-1d.src.rpm ma speca z opcją
"--with-perl"? I jakim cudem na PLD jest wystawiony skompilowany
ImageMagick-perl? Tzn. wiem, jakim cudem - ktoś kompilował przy
zainstalowanym ImageMagick-u, a dodatkowo miał stworzony link w
/usr/X11R6/lib: libMagick.so.4 -> libMagick.so  

Wiadomości z ostatniej chwili: Przekompilowanie nie pomogło :(
Przekompilowanie ze zdołowanymi opcjami:

optflags: i386 -O2 -m486 -fomit-frame-pointer

też nie pomogło.

Wiadomości z bardzo ostatniej chwili :)
Wygląda na to, że ImageMagick jest po prostu walnięty. Skompilowany na RH
5.2 psuje tak samo...

Wiadomości z bardzo bardzo ostatniej chwili. ImageMagick-4.2 psuje tak samo :(

Sugerowałbym powrót do ImageMagick w wersji 4.1.0...

Pozdrawiam,
-- 
|            Jacek Osiecki               Kraków, tel. (012)-645 57 87       |
|mailto:joshua2 w linux.uci.agh.edu.pl     http://dwd.interkom.pl/joshua/     |




Więcej informacji o liście dyskusyjnej pld-devel-pl