gnudatalanguage / gdl

GDL - GNU Data Language
GNU General Public License v2.0
274 stars 61 forks source link

Build failure with ImageMagick #1578

Open meerfrau opened 1 year ago

meerfrau commented 1 year ago

Is this due to ImageMagick 7.1.1.7?

[ 63%] Building CXX object src/CMakeFiles/gdl.dir/magick_cl.cpp.o
In Datei, eingebunden von ./src/gdl/src/magick_cl.cpp:41:
./src/gdl/src/magick_cl.cpp: In Funktion »BaseGDL* lib::magick_ping(EnvT*)«:
./src/gdl/src/magick_cl.hpp:23:15: Fehler: »class Magick::Image« hat kein Element namens »alpha«
   23 | #define matte alpha
      |               ^~~~~
./src/gdl/src/magick_cl.hpp:23:15: Anmerkung: in Definition des Makros »matte«
   23 | #define matte alpha
      |               ^~~~~
./src/gdl/src/magick_cl.hpp:23:15: Fehler: »class Magick::Image« hat kein Element namens »alpha«
   23 | #define matte alpha
      |               ^~~~~
./src/gdl/src/magick_cl.hpp:23:15: Anmerkung: in Definition des Makros »matte«
   23 | #define matte alpha
      |               ^~~~~
./src/gdl/src/magick_cl.cpp: In Funktion »BaseGDL* lib::magick_create(EnvT*)«:
./src/gdl/src/magick_cl.hpp:23:15: Fehler: »class Magick::Image« hat kein Element namens »alpha«
   23 | #define matte alpha
      |               ^~~~~
./src/gdl/src/magick_cl.hpp:23:15: Anmerkung: in Definition des Makros »matte«
   23 | #define matte alpha
      |               ^~~~~
./src/gdl/src/magick_cl.hpp:23:15: Fehler: »class Magick::Image« hat kein Element namens »alpha«
   23 | #define matte alpha
      |               ^~~~~
./src/gdl/src/magick_cl.hpp:23:15: Anmerkung: in Definition des Makros »matte«
   23 | #define matte alpha
      |               ^~~~~
./src/gdl/src/magick_cl.cpp: In Funktion »BaseGDL* lib::magick_readindexes(EnvT*)«:
./src/gdl/src/magick_cl.cpp:390:48: Fehler: »MagickCore::PixelPacket*« {aka »MagickCore::_PixelPacket*«} kann nicht nach »MagickCore::Quantum*« {aka »float*«} in Initialisierung umgewandelt werden
  390 |         Quantum *pixel_cache = image->getPixels(0,0,columns,rows); //magick command, without it writePixels do NOTHING!
      |                                ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
      |                                                |
      |                                                MagickCore::PixelPacket* {aka MagickCore::_PixelPacket*}
./src/gdl/src/magick_cl.cpp:406:48: Fehler: »MagickCore::PixelPacket*« {aka »MagickCore::_PixelPacket*«} kann nicht nach »MagickCore::Quantum*« {aka »float*«} in Initialisierung umgewandelt werden
  406 |         Quantum *pixel_cache = image->getPixels(0, 0, columns, rows); //magick command, without it writePixels do NOTHING!
      |                                ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
      |                                                |
      |                                                MagickCore::PixelPacket* {aka MagickCore::_PixelPacket*}
./src/gdl/src/magick_cl.cpp: In Funktion »void lib::magick_readcolormapRGB(EnvT*)«:
./src/gdl/src/magick_cl.hpp:24:20: Fehler: »class Magick::Color« hat kein Element namens »quantumRed«
   24 | #define redQuantum quantumRed
      |                    ^~~~~~~~~~
./src/gdl/src/magick_cl.hpp:24:20: Anmerkung: in Definition des Makros »redQuantum«
   24 | #define redQuantum quantumRed
      |                    ^~~~~~~~~~
./src/gdl/src/magick_cl.hpp:25:22: Fehler: »class Magick::Color« hat kein Element namens »quantumGreen«
   25 | #define greenQuantum quantumGreen
      |                      ^~~~~~~~~~~~
./src/gdl/src/magick_cl.hpp:25:22: Anmerkung: in Definition des Makros »greenQuantum«
   25 | #define greenQuantum quantumGreen
      |                      ^~~~~~~~~~~~
./src/gdl/src/magick_cl.hpp:26:21: Fehler: »class Magick::Color« hat kein Element namens »quantumBlue«
   26 | #define blueQuantum quantumBlue
      |                     ^~~~~~~~~~~
./src/gdl/src/magick_cl.hpp:26:21: Anmerkung: in Definition des Makros »blueQuantum«
   26 | #define blueQuantum quantumBlue
      |                     ^~~~~~~~~~~
./src/gdl/src/magick_cl.hpp:24:20: Fehler: »class Magick::Color« hat kein Element namens »quantumRed«
   24 | #define redQuantum quantumRed
      |                    ^~~~~~~~~~
./src/gdl/src/magick_cl.hpp:24:20: Anmerkung: in Definition des Makros »redQuantum«
   24 | #define redQuantum quantumRed
      |                    ^~~~~~~~~~
./src/gdl/src/magick_cl.hpp:25:22: Fehler: »class Magick::Color« hat kein Element namens »quantumGreen«
   25 | #define greenQuantum quantumGreen
      |                      ^~~~~~~~~~~~
./src/gdl/src/magick_cl.hpp:25:22: Anmerkung: in Definition des Makros »greenQuantum«
   25 | #define greenQuantum quantumGreen
      |                      ^~~~~~~~~~~~
./src/gdl/src/magick_cl.hpp:26:21: Fehler: »class Magick::Color« hat kein Element namens »quantumBlue«
   26 | #define blueQuantum quantumBlue
      |                     ^~~~~~~~~~~
./src/gdl/src/magick_cl.hpp:26:21: Anmerkung: in Definition des Makros »blueQuantum«
   26 | #define blueQuantum quantumBlue
      |                     ^~~~~~~~~~~
./src/gdl/src/magick_cl.cpp: In Funktion »BaseGDL* lib::magick_read(EnvT*)«:
./src/gdl/src/magick_cl.hpp:23:15: Fehler: »class Magick::Image« hat kein Element namens »alpha«
   23 | #define matte alpha
      |               ^~~~~
./src/gdl/src/magick_cl.hpp:23:15: Anmerkung: in Definition des Makros »matte«
   23 | #define matte alpha
      |               ^~~~~
./src/gdl/src/magick_cl.cpp: In Funktion »void lib::magick_write(EnvT*)«:
./src/gdl/src/magick_cl.hpp:23:15: Fehler: »class Magick::Image« hat kein Element namens »alpha«
   23 | #define matte alpha
      |               ^~~~~
./src/gdl/src/magick_cl.hpp:23:15: Anmerkung: in Definition des Makros »matte«
   23 | #define matte alpha
      |               ^~~~~
./src/gdl/src/magick_cl.cpp: In Funktion »void lib::magick_matte(EnvT*)«:
./src/gdl/src/magick_cl.hpp:23:15: Fehler: »class Magick::Image« hat kein Element namens »alpha«
   23 | #define matte alpha
      |               ^~~~~
./src/gdl/src/magick_cl.hpp:23:15: Anmerkung: in Definition des Makros »matte«
   23 | #define matte alpha
      |               ^~~~~
make[2]: *** [src/CMakeFiles/gdl.dir/build.make:1434: src/CMakeFiles/gdl.dir/magick_cl.cpp.o] Fehler 1
GillesDuvert commented 1 year ago

Hi @meerfrau AFAIK GDL in the last version (the Github one) should compile OK with GraphicsMagick and ImageMagick. What version of GDL do you use? There are #ifdefs in the gdl code to switch between IM and GM and avoid these errors, normally.

meerfrau commented 1 year ago

I'm compiling from git master, GM disabled.

GillesDuvert commented 1 year ago

just recompiled with GM and IM, both work. ??? IM is 7.0.10.57-1 GM is 1.3.38-1.1.mga8