php-opencv
php-opencv copied to clipboard
Opencv 4.1.1 / php-opencv 3.3.0 / CentOS 7.7.1908 - Make fail
Hello,
I try to build php-opencv on centos 7, with php 7.2 and opencv 4.1.1, but it fail.
yum -y install centos-release-scl && yum makecache devtoolset-7-gcc devtoolset-7-gcc-c++
scl enable devtoolset-7 bash
cd /tmp
wget https://github.com/hihozhou/php-opencv/archive/3.3.0.zip && \
unzip 3.3.0.zip && \
rm 3.3.0.zip && \
cd php-opencv-3.3.0 && \
phpize && \
./configure --with-php-config=/usr/bin/php-config && \
make
I also try with ./configure CXX='g++ -std=gnu++11' --with-php-config=/usr/bin/php-config, but same issue ..
Below, the log of the make command
# make
/bin/sh /tmp/php-opencv-3.3.0/libtool --mode=compile g++ -std=gnu++11 -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -I. -I/tmp/php-opencv-3.3.0 -DPHP_ATOM_INC -I/tmp/php-opencv-3.3.0/include -I/tmp/php-opencv-3.3.0/main -I/tmp/php-opencv-3.3.0 -I/opt/rh/rh-php72/root/usr/include/php -I/opt/rh/rh-php72/root/usr/include/php/main -I/opt/rh/rh-php72/root/usr/include/php/TSRM -I/opt/rh/rh-php72/root/usr/include/php/Zend -I/opt/rh/rh-php72/root/usr/include/php/ext -I/opt/rh/rh-php72/root/usr/include/php/ext/date/lib -I/usr/local/include/opencv4/opencv -I/usr/local/include/opencv4 -DHAVE_CONFIG_H -g -O2 -c /tmp/php-opencv-3.3.0/source/opencv2/core/opencv_mat.cc -o source/opencv2/core/opencv_mat.lo
libtool: compile: g++ -std=gnu++11 -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -I. -I/tmp/php-opencv-3.3.0 -DPHP_ATOM_INC -I/tmp/php-opencv-3.3.0/include -I/tmp/php-opencv-3.3.0/main -I/tmp/php-opencv-3.3.0 -I/opt/rh/rh-php72/root/usr/include/php -I/opt/rh/rh-php72/root/usr/include/php/main -I/opt/rh/rh-php72/root/usr/include/php/TSRM -I/opt/rh/rh-php72/root/usr/include/php/Zend -I/opt/rh/rh-php72/root/usr/include/php/ext -I/opt/rh/rh-php72/root/usr/include/php/ext/date/lib -I/usr/local/include/opencv4/opencv -I/usr/local/include/opencv4 -DHAVE_CONFIG_H -g -O2 -c /tmp/php-opencv-3.3.0/source/opencv2/core/opencv_mat.cc -fPIC -DPIC -o source/opencv2/core/.libs/opencv_mat.o
/tmp/php-opencv-3.3.0/source/opencv2/core/opencv_mat.cc: In function 'void zim_opencv_mat_print(zend_execute_data*, zval*)':
/tmp/php-opencv-3.3.0/source/opencv2/core/opencv_mat.cc:99:37: error: invalid conversion from 'int' to 'cv::Formatter::FormatType' [-fpermissive]
std::cout << format(*(obj->mat),int(type)) << std::endl;
^~~~~~~~~
In file included from /usr/local/include/opencv4/opencv2/core.hpp:3289:0,
from /usr/local/include/opencv4/opencv2/core/core.hpp:48,
from /tmp/php-opencv-3.3.0/source/opencv2/core/../../../php_opencv.h:44,
from /tmp/php-opencv-3.3.0/source/opencv2/core/opencv_mat.cc:18:
/usr/local/include/opencv4/opencv2/core/operations.hpp:435:16: note: initializing argument 2 of 'cv::Ptr<cv::Formatted> cv::format(cv::InputArray, cv::Formatter::FormatType)'
Ptr<Formatted> format(InputArray mtx, Formatter::FormatType fmt)
^~~~~~
make: *** [source/opencv2/core/opencv_mat.lo] Error 1
Any one can help me ?
For me it was a bug from php 7.4 so I downgraded it to 7.3