On Sun, 2021-01-17 at 15:02 +0000, John Burrell via blfs-dev wrote:
> BLFS systemd version 2021-01-16
> 
> with php-8.0.1 installed, the graphviz-2.44.1 compile gives:
> 
> In file included from gv_php.cpp:767:
> /usr/include/php/Zend/zend_API.h:168:47: note: to match this ‘{’
>   168 |  static const zend_internal_arg_info name[] = { \
>       |                                               ^
> gv_php.cpp:5411:1: note: in expansion of macro
> ‘ZEND_BEGIN_ARG_INFO_EX’
>  5411 | ZEND_BEGIN_ARG_INFO_EX(swig_arginfo_000, 0, 0, 0)
>       | ^~~~~~~~~~~~~~~~~~~~~~
> /usr/include/php/Zend/zend_API.h:172:30: error: expected declaration
> before ‘}’ token
>   172 | #define ZEND_END_ARG_INFO()  };
>       |                              ^
> gv_php.cpp:5415:1: note: in expansion of macro ‘ZEND_END_ARG_INFO’
>  5415 | ZEND_END_ARG_INFO()
>       | ^~~~~~~~~~~~~~~~~
> make[4]: *** [Makefile:2479: libgv_php_la-gv_php.lo] Error 1
> make[4]: Leaving directory
> '/usr/src/genutils/graphviz/graphviz-2.44.1/tclpkg/gv'
> make[3]: *** [Makefile:3003: all-recursive] Error 1

Actually, the true error/reason is a little farther above:
gv_php.cpp:772:3: error: #error These bindings need PHP7 - to generate
PHP5 bindings use: SWIG < 4.0.0 and swig -php5
  772 | # error These bindings need PHP7 - to generate PHP5 bindings
use: SWIG < 4.0.0 and swig -php5

So it looks like SWIG is unable to generate bindings for php 8...

The question of when SWIG will support php 8 has been asked to SWIG
devs [1], who haven't answered yet. In that issue, there is a link to
an issue in another project that shows that the error is the same (for
php 7).

> 
> Adding --enable-php=no to the configure script allows it to compile.

Seems like the way to go, unless we really need php bindings, in which
case, the best way is to reinstall php 7...


Pierre

[1] https://github.com/swig/swig/issues/1915

-- 
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to