Following the instructions here:
https://code.google.com/p/opensmt/wiki/BuildOpenSMTFromSources
The following happens (using the latest version of GMP)
../../../src/api/opensmt_c.C: In function 'void* opensmt_mk_num_from_mpq(opensmt_context, const __mpq_struct*)':
../../../src/api/opensmt_c.C:420:16: error: no matching function for call to 'FastRational::FastRational(mpq_class&)'
../../../src/api/opensmt_c.C:420:16: note: candidates are:
In file included from ../../../src/common/Global.h:91:0,
from ../../../src/egraph/EnodeTypes.h:24,
from ../../../src/egraph/Enode.h:23,
from ../../../src/egraph/Egraph.h:23,
from ../../../src/api/OpenSMTContext.h:23,
from ../../../src/api/opensmt_c.C:21:
../../../src/common/FastRationals.h:951:8: note: FastRational::FastRational(word, uword)
../../../src/common/FastRationals.h:951:8: note: candidate expects 2 arguments, 1 provided
../../../src/common/FastRationals.h:269:3: note: FastRational::FastRational(const mpz_class&)
../../../src/common/FastRationals.h:269:3: note: no known conversion for argument 1 from 'mpq_class {aka __gmp_expr<__mpq_struct [1], __mpq_struct [1]>}' to 'const mpz_class& {aka const __gmp_expr<__mpz_struct [1], __mpz_struct [1]>&}'
../../../src/common/FastRationals.h:267:3: note: FastRational::FastRational(const char*, int)
../../../src/common/FastRationals.h:267:3: note: no known conversion for argument 1 from 'mpq_class {aka __gmp_expr<__mpq_struct [1], __mpq_struct [1]>}' to 'const char*'
../../../src/common/FastRationals.h:692:8: note: FastRational::FastRational(const FastRational&)
../../../src/common/FastRationals.h:692:8: note: no known conversion for argument 1 from 'mpq_class {aka __gmp_expr<__mpq_struct [1], __mpq_struct [1]>}' to 'const FastRational&'
../../../src/common/FastRationals.h:263:3: note: FastRational::FastRational(word)
../../../src/common/FastRationals.h:263:3: note: no known conversion for argument 1 from 'mpq_class {aka __gmp_expr<__mpq_struct [1], __mpq_struct [1]>}' to 'word {aka int}'
../../../src/common/FastRationals.h:261:3: note: FastRational::FastRational()
../../../src/common/FastRationals.h:261:3: note: candidate expects 0 arguments, 1 provided
../../../src/common/FastRationals.h:676:8: note: FastRational::FastRational(const FastInteger&)
../../../src/common/FastRationals.h:676:8: note: no known conversion for argument 1 from 'mpq_class {aka __gmp_expr<__mpq_struct [1], __mpq_struct [1]>}' to 'const FastInteger&'
make[2]: *** [opensmt_c.lo] Error 1
I'm very new to OpenSMT and unfortunately am not familiar enough with the code base yet to really know what might be done to fix this; Any assistance is appreciated.