Nauty and bliss

Discussions on installation issues go here.
jamesjer
Posts: 35
Joined: 01 Mar 2012, 16:51

Nauty and bliss

Postby jamesjer » 01 Mar 2012, 17:43

Hello,

I am part of a small group of people engaged in packaging mathematical software for the Fedora Linux distribution. I've been looking at polymake recently. The first challenge is that the nauty license does not permit redistribution by Fedora. I have attempted to port polymake to bliss instead. I'll attach a patch against polymake 2.11. This is not well tested yet, so further changes may prove necessary, but I'll provide it for anybody else facing the same problem.

Another challenge with the nauty license is that it doesn't even permit distribution of the source code by Fedora. So if I succeed in making a package, I will have to download your tarball, remove the nauty sources, re-tar, and use that as input to the Fedora build process. Since Fedora doesn't permit bundled libraries in any case, from my viewpoint, it would be great if you could provide a tarball (aimed at distributions) that does not contain the "external" directory, since the first thing I'll do is remove it anyway.

Some of the bundled libraries are at http://jjames.fedorapeople.org/ while they go through the Fedora review process.

Regards,
--
Jerry James
Attachments
polymake-bliss.patch
Patch to use bliss instead of nauty
(25.87 KiB) Downloaded 494 times

User avatar
gawrilow
Main Author
Posts: 423
Joined: 25 Dec 2010, 17:40

Re: Nauty and bliss

Postby gawrilow » 02 Mar 2012, 10:42

Dear Jerry,

we have been confronted with the same requests from the Debian community, so that we are currently working on separating some of the external bundled libraries from the core distribution. We expect to have this done by the end of April and then we'll produce a new release. We are definitively going to look into your bliss interface and, if it passes the checks against our testsuite, we include it into the next release as well. What is your licensing policy regarding your contribution? Is it OK to put it under GPL as the rest of polymake?

However, we will have some issues if we simply remove the bundled cddlib and lrslib. First of all, we've made a couple of local changes there (fixed some memory leaks and suppressed some screen output); then we had to modify the compilation mode of cddlib as to enable its co-existing in two flavors (with floating-point and GMP numbers) within one executable. We can't do these tricks with a stock cddlib as it is distributed now, because it is normally compiled thrice with changing sets of preprocessor defines, each time producing the same global symbols.

As both libraries are linked statically into polymake modules and not exposed to the environment, they should not disturb much. Could you make an exception for them?

jamesjer
Posts: 35
Joined: 01 Mar 2012, 16:51

Re: Nauty and bliss

Postby jamesjer » 02 Mar 2012, 23:41

Ah, excellent news! Yes, my contribution is under the same license as your code, GPL version 2 or later.

As for the bundling problem, we can approach that in multiple ways. If you can make your changes public (post patches on a web site, for example), I can see whether we can simply adopt them into the Fedora versions. If they are too disruptive, so that other clients of those libraries won't be able to tolerate them, then we can pursue an exception to the "no bundling" policy.

thomas
Developer
Posts: 11
Joined: 24 Nov 2011, 09:43

Re: Nauty and bliss

Postby thomas » 26 Mar 2012, 14:59

Thanks again for your patch. At the developer meeting last week I fixed some issues, now all of our test cases are okay with bliss. So with one of the next releases we should be able to remove the dependency on nauty.

duncar

Re: Nauty and bliss

Postby duncar » 18 May 2013, 15:59

polymake 2.12 still has an external/ directory. If you did modify cdd/lrs, please either 1. try to get those changes upstream, or 2. move it from external/ to some other directory to avoid potential confusion, 3. publish the CDD derivative as a separate package (perhaps under a somewhat different name to keep them distinguishable, especially for a distro).


Return to “Installing polymake”