|Anonymous | Login||2017-11-20 08:27 EST|
|Main | My View | View Issues | Change Log | Roadmap | My Account|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002561||graphviz||Build/Install||public||2015-07-26 08:18||2015-07-31 12:10|
|Summary||0002561: Graphviz cause error in PHP 5.6|
|Description||after installing Graphviz using the instructions on site:|
Download the graphviz-rhel.repo file and save it (as root) in /etc/yum.repos.d/
Then you can (as root) type:
yum list available 'graphviz*'
yum install 'graphviz*
each time you run a hp instruction i.e. php -v you will recieve
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/gv.so' - /usr/lib64/php/modules/gv.so: undefined symbol: php_body_write in Unknown on line 0
The reason for the importance is the EVERY php script will raise this warning into the logs after graphviz effectively flooding the error_log
|Steps To Reproduce||install graphviz under centos 6.6. using php 5.6 the try to run any php script|
|Additional Information||This is not trivial nor going to be deprecated any time soon. please treat this matter as important.|
|Tags||No tags attached.|
|VERSION||graphviz.x86_64 2.38.0-1.el6 @graphviz-stable|
edited on: 2015-07-26 16:23
We're sorry the instructions don't work any more.
Thank you for your further investigation. Apparently, after the initial release of Centos 6.6, PHP was changed and the entry point php_body_write() was renamed php_output_write(). This broke any existing code that depended on php_body_write().
Graphviz doesn't call php_body_write() directly, but apparently code generated by swig does. We have seen problems when swig does not match other language APIs after updates. We cannot easily correct this with any compile time test in our code or build system (except configure --disable-swig but some programs may actually need the swig bindings so that's no good either).
Here are some things that could work:
- Upgrade to Centos 7 and hopefully the mismatch is fixed. This is a brute force solution.
- Ask the Centos 6.6 people to upgrade their standard version of Graphviz. They are on Graphviz 2.26 which seems really old. We would like to stop distributing so many kinds of executables anyway. This is probably the best answer all around.
- Disable the Graphviz PHP interface in Apache on your server, either in the httpd config, in php.ini or maybe just remove or set aside /usr/lib*/php/modules/gv.so This seems most expedient to me.
- Install the older version of Graphviz 2.26 from http://mirror.centos.org/centos/6.6/os/x86_64/Packages/ [^]
This is the most conservative work around but you're stuck with a lot of old bugs in Graphviz.
- Ask the PHP developers to add a stub function php_body_write() that calls php_output_write() so they won't break old swig programs that rely on this API and install it on your machines. After all they caused the situation. This is the answer that localizes the disruption where it started.
- Build your own copy of Graphviz for Centos 6.6 from source code using the current version of Swig which we hope doesn't have this problem any more. This is another brute force solution.
- It doesn't appear we have a Centos 6.6 build machine but if you can point us to one with a copy of Swig that is compatible with PHP 5.4+ plus all the other build tools and libraries we need, then we could try building a new Graphviz package. I looked in AWS but their "minimal configuration" for Centos 6.6 does not sound very promising.
Our resources are stretched very thin, and we all have other jobs now so unfortunately we're not in a position to spend a lot of time supporting Graphviz on old versions of RHEL or Centos.
I agree that an operating system less than two years old really should not have these problems.
|2015-07-26 08:18||EFinlayson||New Issue|
|2015-07-26 16:15||north||Note Added: 0000956|
|2015-07-26 16:23||north||Note Edited: 0000956||View Revisions|
|2015-07-31 12:10||EFinlayson||Note Added: 0000960|
|2015-08-01 06:41||EFinlayson||Note Deleted: 0000960|
|MantisBT 1.2.5[^] Copyright © 2000 - 2011 MantisBT Group|