Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for enterprise linux (Redhat/CentOS 7/8 etc) #373

Open
GertBurger opened this issue Nov 17, 2021 · 1 comment
Open

Support for enterprise linux (Redhat/CentOS 7/8 etc) #373

GertBurger opened this issue Nov 17, 2021 · 1 comment

Comments

@GertBurger
Copy link

Hi, after running into a few issues with graphviz 1.7 on CentOS 7 and struggling a little bit to find solutions, I thought to document them here for future reference (at the end, after describing the version situation as per subject).

tldr; Use pygraphviz 1.5 or 1.6 on RHEL/CentOS 7 for the time being. Oracle Linux/SUSE 7 is likely also affected. EL8 seems to work.

Versions available on EL7/8

With version 1.7 of pygraphviz the required version of graphviz moved to 2.42+. This is newer than any version of graphviz available on any supported release of RedHat/CentOS.

Redhat/CentOS 7 has graphviz 2.30, EOL in 2024.
Redhat/CentOS 8 has graphviz 2.40.1 via their powertools repository, EOL in 2029.

RHEL8 AppStream may provide a newer version sometime in the future but so far that is unknown.

This is unfortunate as it requires software vendors targeting enterprises to either stick to an older version of pygraphviz (somewhat acceptable) or ship a newer version of graphviz with their software (more problematic).

graphviz v2.40 and pygraphviz 1.7 so far seem to work so maybe it is not that difficult to support.

This whole situation is obviously due to EL shipping obsolete packages and not providing an official way to get newer versions, so I'm not blaming pygraphviz 😺

Specific issues on EL7

Installating pygraphviz 1.7 requires CPPFLAGS="-I/usr/include/graphviz" due to a bug in graphviz 2.30. It has an incorrect cgraph.h include in types.h.

Importing pygraphviz 1.7 results in ImportError: /....../pygraphviz/_graphviz.cpython-37m-x86_64-linux-gnu.so: undefined symbol: gvFreeRenderData

I have not found a solution for this last part beyond downgrading pygraphviz to 1.6.

@rossbar
Copy link
Contributor

rossbar commented Nov 18, 2021

You mention this above but I just want to restate it for extra emphasis: the problem is not that pygraphviz 1.7 isn't supported on these platforms, it's that pygraphviz depends on newer versions of graphviz than are available via the system package manager for these distros.

Another viable alternative would be to install graphviz by e.g. building it from source rather than relying on the out-of-date packaged versions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants