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