[Competition] Fix ABC, fix CryptoMiniSat req
authorAndres Noetzli <noetzli@stanford.edu>
Sat, 27 May 2017 21:33:58 +0000 (14:33 -0700)
committerAndres Noetzli <noetzli@stanford.edu>
Sun, 28 May 2017 00:06:15 +0000 (17:06 -0700)
commit5a9f61fa2de4e3085844d620c9adb42be97bb254
tree5416c63a66eef4b7d946003de7a8f9adcccf273f
parent02b3aba2273232504e76e0c7d49226ef2a27977f
[Competition] Fix ABC, fix CryptoMiniSat req

This commit fixes two issues that caused the competition configuration to fail on the cluster machines:

We used an ancient version of ABC that declared a function (factorial()
luckySimple.c) in a source file as inline but not static. This issue was fixed
in the following commit:

https://bitbucket.org/alanmi/abc/commits/e0aa7af0d73538fb786c4dcc72745578f0068a38

The issue with non-static inline functions in source files is described in the
following Stackoverflow post:

https://stackoverflow.com/questions/16740515/simple-c-inline-linker-error

This commit updates ABC to a much newer version (commit tagged as abc20160717),
which fixes the issue. One of the modifications previously performed by
contrib/get-abc does not need to be necessary anymore.

CryptoMiniSat was always linked against m4ri, even though it was not getting
compiled with it (-DNOM4RI="ON" in contrib/get-cryptominisat4). This commit
removes the part of config/cryptominisat.m4 that explicitly sets the libraries
linked to and instead uses the result of CVC4_TRY_CRYPTOMINISAT_WITH (which
seems to work even though there is comment indicating otherwise). Further, it
adds -pthread to the libraries required by CryptoMiniSat because it is required
by the version of CryptoMiniSat that we use (a newer version supports disabling
that behavior, so it might be a good idea to update). Previously, this would
lead to linker errors.

Tested with the following configuration:

./configure competition --with-antlr-dir=`pwd`/antlr-3.4 ANTLR=`pwd`/antlr-3.4/bin/antlr3 --enable-static-binary --enable-gpl --with-cln --with-glpk --with-glpk-dir=`pwd`/glpk-cut-log --with-abc --with-abc-dir=`pwd`/abc/alanmi-abc-53f39c11b58d --disable-thread-support --without-readline --disable-shared --with-cryptominisat --with-cryptominisat-dir=`pwd`/cryptominisat4
config/cryptominisat.m4
contrib/get-abc