Probleme mit pascalmagick

Für Installationen unter Linux-Systemen
Antworten
niederrheiner
Beiträge: 87
Registriert: Sa 19. Jan 2008, 17:21
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Rheinberg

Probleme mit pascalmagick

Beitrag von niederrheiner »

Hallo an Alle,
ich wollte mal pascalmagick ausprobieren und habe pascalmagick von http://sourceforge.net/projects/lazarus-ccr/files/PascalMagick/PascalMagick%200.4/PascalMagick-0.4.zip/download installiert.

Dann habe ich das Demo1-Programm aus dem Ordner pascalmagick/Demo1 mit Lazarus gestartet.
Meine Compilereinstellungen sind wie folgt:

Code: Alles auswählen

-MObjFPC -Scgi -O1 -Tlinux -Pi386 -gl -vewnhi -l 
-Fi/home/guenter/pascalmagick/c_headers/magick
-Fi/home/guenter/pascalmagick/c_headers/wand
-Fi/home/guenter/pascalmagick/c_headers/Magick++
-Fl/home/guenter/pascalmagick/magick
-Fl/home/guenter/pascalmagick/wand
-Fu/home/guenter/pascalmagick/magick
-Fu/home/guenter/pascalmagick/wand
-Fu.


Wenn ich das Projekt kompiliere erhalte ich folgende Fehlermeldungen:

Code: Alles auswählen

Hint: Start of reading config file /etc/fpc.cfg
Hint: End of reading config file /etc/fpc.cfg
Free Pascal Compiler version 2.4.4-3.1 [2012/01/04] for i386
Copyright (c) 1993-2010 by Florian Klaempfl
Target OS: Linux for i386
Compiling wanddemo.lpr
Compiling /home/guenter/pascalmagick/wand/magick_wand.pas
Compiling /home/guenter/pascalmagick/magick/ImageMagick.pas
Linking wanddemo
/usr/bin/ld: warning: link.res contains output sections; did you forget -T?
/usr/bin/ld: cannot find -lWand
wanddemo.lpr(59,1) Error: Error while linking
/usr/bin/ld: warning: link.res contains output sections; did you forget -T?
/usr/bin/ld: cannot find -lWand
wanddemo.lpr(59,1) Error: Error while linking
wanddemo.lpr(59,1) Fatal: There were 1 errors compiling module, stopping


Was habe ich falsch gemacht?
Hat jemand von Euch Tipps oder Hinweise?

Bis dann ...
MfG
Günter

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: Probleme mit pascalmagick

Beitrag von Bora4d »

Fehlermeldung gibt an das ein Bibliothek fehlt:
/usr/bin/ld: cannot find -lWand

Such in Paketmanager nach so etwas ähnliches"libwand...-dev" und installiere es.

niederrheiner
Beiträge: 87
Registriert: Sa 19. Jan 2008, 17:21
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Rheinberg

Re: Probleme mit pascalmagick

Beitrag von niederrheiner »

Hallo Bora4,
danke für Deine Antwort.
Ich habe versucht libmagickwand-dev zu installieren. Es kommt nur die Meldung 0 aktualisiert, 0 installiert. Such ich mit locate nach libmagichwand-dev bekomme ich folgende Information:

Code: Alles auswählen

guenter@hermes:~$ locate libmagickwand-dev
/usr/share/doc/libmagickwand-dev
/usr/share/doc/libmagickwand-dev/NEWS.Debian.gz
/usr/share/doc/libmagickwand-dev/changelog.Debian.gz
/usr/share/doc/libmagickwand-dev/copyright
/var/cache/apt/archives/libmagickwand-dev_8%3a6.6.9.7-5ubuntu3.1_i386.deb
/var/lib/dpkg/info/libmagickwand-dev.list
/var/lib/dpkg/info/libmagickwand-dev.md5sums


Wenn die Bibliothek installiert wäre, müsste doch irgendein Eintrag wie *.*.so erscheinen.

Bis dann ...
Günter

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: Probleme mit pascalmagick

Beitrag von Bora4d »

Ich nehme an du benutz auch Ubuntu.
Du muß "libmagickwand-dev" installieren. Dann hast du "/usr/lib/libMagickWand.so" (Kannst du mit synaptic schauen)
Nun wird aber in Pascal-Quelltext nach 'libWand' gesucht, deshalb mußt du entweder in PascalMagick/magick/ImageMagick.pas Zeile 9 aus:
WandExport = 'libWand';
das machen:
WandExport = 'libMagickWand'; //'libWand';
oder ein neuer link erstellen mit Terminal:
#sudo ln -s /usr/lib/libMagickWand.so /usr/lib/libWand.so

Dann läst sich das Projekt problemlos kompilieren.

Viel glück.

Keifor
Beiträge: 31
Registriert: Sa 28. Aug 2010, 15:15
OS, Lazarus, FPC: pc-linux-gnu - Funtoo stable, L trunk, FPC trunk
CPU-Target: i686/x86_64

Re: Probleme mit pascalmagick

Beitrag von Keifor »

niederrheiner hat geschrieben:Hallo an Alle,
ich wollte mal pascalmagick ausprobieren und habe pascalmagick von http://sourceforge.net/projects/lazarus-ccr/files/PascalMagick/PascalMagick%200.4/PascalMagick-0.4.zip/download installiert.
...
Was habe ich falsch gemacht?
Hat jemand von Euch Tipps oder Hinweise?


Du hast nichts falsch gemacht.
ImageMagick hat vor uhm.. ca. 2 Jahren oder mehr, libWand in libMagickWand (für linux etc.) umbenannt.
PascalMagick 0.4 wurde nicht abgeändert (im Gegensatz zu der Version im FreePascal svn -> packages/imagemagick/src/imagemagick.pas, das wurde ca. vor einem halben Jahr gefixed und ist in aktuellen Versionen [2.4 fixes, 2.6 fixes ...] eingepflegt)

Lösung
Siehe: http://wiki.freepascal.org/PascalMagick unter Installation. Es wird angemerkt, in PascalMagick/magick/ImageMagick.pas die Zeile

Code: Alles auswählen

WandExport = 'libWand';

durch

Code: Alles auswählen

WandExport = 'libMagickWand';

zu ersetzen.

Lösung 2
Wie angesprochen (und auch von der Wiki Seite erwähnt), sind die bindings mit neueren Versionen von FreePascal bereits in den Packages enthalten. Sollte also auch ohne die mitgelieferten gehen. (eventuell ein paar Änderungen in der Projektdatei usw. nötig um den Import der mitgelieferten Units zu verhindern.)

PS:
öhm.. also Grundlegend das selbe was Bora4d schrieb, etwas ausgeweitet. :mrgreen:

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: Probleme mit pascalmagick

Beitrag von Bora4d »

Und das alles steht in Wiki und ich starte Linux und installiere imagemagick und suche den fehler :mrgreen:

niederrheiner
Beiträge: 87
Registriert: Sa 19. Jan 2008, 17:21
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Rheinberg

Re: Probleme mit pascalmagick

Beitrag von niederrheiner »

Hallo an Alle,
danke für Eure ausführliche Hilfe. Ich habe, wie beschrieben, nun einen Link in /usr/lib gesetzt. Und siehe da es klappte auf Anhieb.

Nochmals danke an Alle.

Bis dann ...
MfG
Günter

Antworten