Graphviz Issue Tracker
Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002561graphvizBuild/Installpublic2015-07-26 08:182015-07-31 12:10
ReporterEFinlayson 
Assigned To 
PriorityhighSeverityimportantReproducibilityalways
StatusnewResolutionopen 
PlatformLinuxOSCentosOS Version6.6
Summary0002561: Graphviz cause error in PHP 5.6
Descriptionafter 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 Reproduceinstall graphviz under centos 6.6. using php 5.6 the try to run any php script
Additional InformationThis is not trivial nor going to be deprecated any time soon. please treat this matter as important.
TagsNo tags attached.
AUXILLARY-FILES
DATE-FIXED
FIX-COMMENT
FORMER-ID
INPUT-FILE
OUTPUT-FILE
STATUS-COMMENT
VERSIONgraphviz.x86_64 2.38.0-1.el6 @graphviz-stable
Attached Files

- Relationships

-  Notes
User avatar (0000956)
north (administrator)
2015-07-26 16:15
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.

Stephen North


- Issue History
Date Modified Username Field Change
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
Powered by Mantis Bugtracker