Imagick / imagick

🌈 The Imagick PHP extension 🌈
http://pecl.php.net/imagick
Other
548 stars 139 forks source link

package.xml error - we should compile through pecl to check package is valid. #409

Open grem79 opened 3 years ago

grem79 commented 3 years ago

Hi,

I can't compile anymore imagick in my php 7.x docker container... I have the following error: ERROR: file ./tests/tests/286_Imagick_setMask_basic.phpt does not exist

I checked the package.xml file and I saw a "double" tests/tests line 394... Is it regular ?

Thx !

G.

Danack commented 3 years ago

Er, yeah. There are some typos. There's a check against those, but it didn't pick them up.

Out of interest, what command are you running to get that error? I could add that as a check to be run also.

grem79 commented 3 years ago

I give you the Dockerfile extract making that crashes:

&& git clone  https://github.com/Imagick/imagick.git \
  && cd imagick \
  && pecl install package.xml \
  && cd .. \
  && rm -rf imagick \
  && docker-php-ext-enable imagick \

Thanks for the fix :)

grem79 commented 3 years ago

I have an another error :

  -c /tmp/pear/temp/imagick/imagick.c -o imagick.lo
 cc -I/usr/include/ImageMagick-7 -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -I. -I/tmp/pear/temp/imagick -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-defaultuserJchCDC/imagick-3.4.4/include -I/tmp/pear/temp/pear-build-defaultuserJchCDC/imagick-3.4.4/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7 -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/imagick/imagick.c  -fPIC -DPIC -o .libs/imagick.o
/tmp/pear/temp/imagick/imagick.c:36:10: fatal error: shim_php7_to_php8.h: No such file or directory
   36 | #include "shim_php7_to_php8.h"
      |          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:204: imagick.lo] Error 1

I think the shim_php7_to_php8.h reference is not in package.xml

Danack commented 3 years ago

Okay, slightly weird that's not been an issue before. I've added that, and some more that I'd forgotten to add.

I'll leave this issue open until there's a check for building with pecl.

And this is a note of the relevant packages...

apt install php-dev php-pear
grem79 commented 3 years ago

Thx ! Compilation worked like a charm !

Danack commented 3 years ago

So I had forgotten to do this. And apparently now I have discovered an issue with github actions, where things can just stall out:

https://github.com/Imagick/imagick/runs/2828798487?check_suite_focus=true