[SCIP] Shared library build of SCIP on Mac OS X with gcc
Matthias Koeppe
mkoeppe at math.ucdavis.edu
Fri Jul 15 18:38:38 CEST 2016
I'm trying to make a shared library build of SCIP on Mac OS X with gcc.
Is this supposed to be a supported configuration?
I suspect it is not, because of the error that I get (see below) and
the fact that there is no sign of the "dyld" extension used by Mac OS
X in any of the Makefiles.
Any thoughts?
Concretely, I'm using the scipoptsuite 3.2.1 source package and trying
to build within SageMath, which brings its own gcc 4.9.2.
I'm running:
make VERBOSE=true SHARED=true USRLDFLAGS="$LDFLAGS"
USRCXXFLAGS="$CXXFLAGS" USRCPPFLAGS="$CPPFLAGS" USRARFLAGS="$LDFLAGS"
which ends with the following error:
g++ -L/Users/mkoeppe/cvs/sage/local/lib
-Wl,-rpath,/Users/mkoeppe/cvs/sage/local/lib -m64 -shared -o
lib/libsoplex-2.2.1.darwin.x86_64.gnu.opt.so
obj/O.darwin.x86_64.gnu.opt/lib/changesoplex.o
obj/O.darwin.x86_64.gnu.opt/lib/clufactor.o
obj/O.darwin.x86_64.gnu.opt/lib/clufactor_rational.o
obj/O.darwin.x86_64.gnu.opt/lib/didxset.o
obj/O.darwin.x86_64.gnu.opt/lib/enter.o
obj/O.darwin.x86_64.gnu.opt/lib/gzstream.o
obj/O.darwin.x86_64.gnu.opt/lib/idxset.o
obj/O.darwin.x86_64.gnu.opt/lib/leave.o
obj/O.darwin.x86_64.gnu.opt/lib/mpsinput.o
obj/O.darwin.x86_64.gnu.opt/lib/nameset.o
obj/O.darwin.x86_64.gnu.opt/lib/rational.o
obj/O.darwin.x86_64.gnu.opt/lib/ratrecon.o
obj/O.darwin.x86_64.gnu.opt/lib/slufactor.o
obj/O.darwin.x86_64.gnu.opt/lib/slufactor_rational.o
obj/O.darwin.x86_64.gnu.opt/lib/solverational.o
obj/O.darwin.x86_64.gnu.opt/lib/solvereal.o
obj/O.darwin.x86_64.gnu.opt/lib/soplex.o
obj/O.darwin.x86_64.gnu.opt/lib/soplexlegacy.o
obj/O.darwin.x86_64.gnu.opt/lib/spxautopr.o
obj/O.darwin.x86_64.gnu.opt/lib/spxbasis.o
obj/O.darwin.x86_64.gnu.opt/lib/spxboundflippingrt.o
obj/O.darwin.x86_64.gnu.opt/lib/spxbounds.o
obj/O.darwin.x86_64.gnu.opt/lib/spxchangebasis.o
obj/O.darwin.x86_64.gnu.opt/lib/spxdantzigpr.o
obj/O.darwin.x86_64.gnu.opt/lib/spxdefaultrt.o
obj/O.darwin.x86_64.gnu.opt/lib/spxdefines.o
obj/O.darwin.x86_64.gnu.opt/lib/spxdesc.o
obj/O.darwin.x86_64.gnu.opt/lib/spxdevexpr.o
obj/O.darwin.x86_64.gnu.opt/lib/spxequilisc.o
obj/O.darwin.x86_64.gnu.opt/lib/spxfastrt.o
obj/O.darwin.x86_64.gnu.opt/lib/spxfileio.o
obj/O.darwin.x86_64.gnu.opt/lib/spxgeometsc.o
obj/O.darwin.x86_64.gnu.opt/lib/spxgithash.o
obj/O.darwin.x86_64.gnu.opt/lib/spxharrisrt.o
obj/O.darwin.x86_64.gnu.opt/lib/spxhybridpr.o
obj/O.darwin.x86_64.gnu.opt/lib/spxid.o
obj/O.darwin.x86_64.gnu.opt/lib/spxlpbase_rational.o
obj/O.darwin.x86_64.gnu.opt/lib/spxlpbase_real.o
obj/O.darwin.x86_64.gnu.opt/lib/spxmainsm.o
obj/O.darwin.x86_64.gnu.opt/lib/spxout.o
obj/O.darwin.x86_64.gnu.opt/lib/spxparmultpr.o
obj/O.darwin.x86_64.gnu.opt/lib/spxquality.o
obj/O.darwin.x86_64.gnu.opt/lib/spxscaler.o
obj/O.darwin.x86_64.gnu.opt/lib/spxshift.o
obj/O.darwin.x86_64.gnu.opt/lib/spxsolve.o
obj/O.darwin.x86_64.gnu.opt/lib/spxsolver.o
obj/O.darwin.x86_64.gnu.opt/lib/spxstarter.o
obj/O.darwin.x86_64.gnu.opt/lib/spxsteeppr.o
obj/O.darwin.x86_64.gnu.opt/lib/spxsumst.o
obj/O.darwin.x86_64.gnu.opt/lib/spxvecs.o
obj/O.darwin.x86_64.gnu.opt/lib/spxvectorst.o
obj/O.darwin.x86_64.gnu.opt/lib/spxweightpr.o
obj/O.darwin.x86_64.gnu.opt/lib/spxweightst.o
obj/O.darwin.x86_64.gnu.opt/lib/spxwritestate.o
obj/O.darwin.x86_64.gnu.opt/lib/statistics.o
obj/O.darwin.x86_64.gnu.opt/lib/usertimer.o
obj/O.darwin.x86_64.gnu.opt/lib/wallclocktimer.o
obj/O.darwin.x86_64.gnu.opt/lib/updatevector.o
Undefined symbols for architecture x86_64:
"___gmpq_add", referenced from:
soplex::Rational::operator+(soplex::Rational const&) const in rational.o
soplex::Rational::operator+=(soplex::Rational const&) in rational.o
soplex::Rational::operator+(double const&) const in rational.o
soplex::Rational::operator+=(double const&) in rational.o
soplex::Rational::operator+(int const&) const in rational.o
soplex::Rational::operator+=(int const&) in rational.o
soplex::Rational::addProduct(soplex::Rational const&,
soplex::Rational const&) in rational.o
.....
"_gzclose", referenced from:
gzstream::gzstreambase::~gzstreambase() in gzstream.o
gzstream::gzstreambase::~gzstreambase() in gzstream.o
gzstream::gzstreambuf::close() in gzstream.o
gzstream::gzstreambase::~gzstreambase() in gzstream.o
gzstream::gzstreambase::close() in gzstream.o
gzstream::gzstreambuf::~gzstreambuf() in gzstream.o
gzstream::gzstreambuf::~gzstreambuf() in gzstream.o
...
It seems to help to add "-lgmp -lz" on this command line.
--
Dr. Matthias Koeppe . . . . . . . . . . . http://www.math.ucdavis.edu/~mkoeppe
Professor, Mathematics
Chair, Applied Mathematics (Graduate Group) . . http://appliedmath.ucdavis.edu
More information about the Scip
mailing list