File nauty24r2.tar.gz uploaded to lookaside cache by rdieter

Kevin Kofler kevin.kofler at chello.at
Sat May 28 01:25:47 UTC 2011


Jerry James wrote:
> Given the usage restrictions on nauty (cannot redistribute for profit,
> cannot use in any application with nontrivial military significance),
> we can't have that in Fedora, can we?  I presumed not, which is why
> I've been planning to see if I can rip nauty out of polymake
> (http://polymake.org/) and replace it with bliss
> (http://www.tcs.hut.fi/Software/bliss/).  I haven't gotten around to
> starting on that yet, though.

The use of Nauty in Polymake is quite localized. AFAICT, you only have to 
touch the following locations:

* apps/graph/src/Makefile.inc:
Remove the references to nauty, try this instead:
  graph_compare$O : ExtraCXXFLAGS = -I/usr/include/bliss
  LIBS += -lbliss
(assuming a systemwide package of bliss).

* apps/graph/src/graph_compare.h, apps/graph/src/graph_compare.cc:
This is the actual code using nauty. There are 2 layers of abstraction: a 
public API wraps the NautyGraph class declared in the header, which itself 
is actually implemented in the .cc file. With those abstractions, it should 
be possible to replace this with an implementation using bliss without 
touching any other code file.

* apps/graph/rules/comparing.rules:
I'm not sure how CREDIT is processed, but I think you need to change:
CREDIT nauty
  Computation of automorphism groups of graphs.
  Copyright by Brendan McKay.
  http://cs.anu.edu.au/~bdm/nauty/
to:
CREDIT bliss
  Computation of automorphism groups of graphs.
  Copyright by Tommi Junttila and Petteri Kaski.
  http://www.tcs.hut.fi/Software/bliss/

* apps/polytope/rules/polytope_properties.rules:
Again, I'm not sure how CREDIT is processed, but you should probably change 
"CREDIT nauty" to "CREDIT bliss".

* ext_lib/nauty: rm -rf the whole directory from the source tarball

* external/nauty: rm -rf the whole directory from the source tarball


You should also unbundle cdd and lrs (i.e. use separate packages for those) 
and check that you don't have GPL version conflicts (v2 only vs. v3 only). 
(FYI, bliss is GPLv3.)

        Kevin Kofler



More information about the devel mailing list