[Bonmin] Undefined references inside Bonmin libraries

Virginia Costa virscosta at gmail.com
Fri Oct 25 08:45:05 EDT 2013


*Dear all,*
*
*
*I'm a new user of Bonmin and I'd like to execute the example of this
package.
I did the following makefile to execute the CppExample:*

CC=g++

IDIR+=/usr/local/include/coin/

CCFLAGS+= -I$(IDIR)
#CCFLAGS+= -O3
CCFLAGS+= -g
#CCFLAGS+= -v
CCFLAGS+= -static

SRC=./src/

LIBS+= -lm
LIBS+= -lz
LIBS+= -lblas
LIBS+= -llapack
LIBS+= -lBonCouenne
LIBS+= -lbonmin
LIBS+= -lbonminampl
LIBS+= -lCbc
LIBS+= -lCbcSolver
LIBS+= -lCgl
LIBS+= -lClp
LIBS+= -lcoinasl
LIBS+= -lCoinUtils
LIBS+= -lCouenne
LIBS+= -lCouenneReadnl
LIBS+= -lipopt
LIBS+= -lipoptamplinterface
LIBS+= -lOsi
LIBS+= -lOsiCbc
LIBS+= -lOsiClp
LIBS+= -lOsiCommonTests

DEPS+= $(SRC)esp.cpp
DEPS+= $(SRC)MyTMINLP.cpp

OBJ+= $(SRC)esp.o
OBJ+= $(SRC)MyTMINLP.o

%.o: %.cpp $(DEPS)
$(CC) $(CCFLAGS) -c -o $@ $<
all: esp

esp: $(OBJ)
$(CC) $(CCFLAGS) -o esp $(OBJ) $(LIBS)

clean:
/bin/rm -f $(SRC)*.o $(SRC)*~

deepclean:
/bin/rm -f $(SRC)*.o $(SRC)*~ esp

.c.o:
$(CC) -o $(CCFLAGS) -c $<

*But, when I try to execute the example, it returns the following error:*

/usr/local/lib/libbonmin.a(BonLinearCutsGenerator.o): na função
`Bonmin::LinearCutsGenerator::generateCuts(OsiSolverInterface const&,
OsiCuts&, CglTreeInfo) const':
BonLinearCutsGenerator.cpp:(.text+0x174e): referência indefinida para
`CoinIsnan(double)'
BonLinearCutsGenerator.cpp:(.text+0x17d5): referência indefinida para
`CoinIsnan(double)'
BonLinearCutsGenerator.cpp:(.text+0x17e8): referência indefinida para
`CoinIsnan(double)'
BonLinearCutsGenerator.cpp:(.text+0x180b): referência indefinida para
`CoinFinite(double)'
BonLinearCutsGenerator.cpp:(.text+0x181e): referência indefinida para
`CoinFinite(double)'
BonLinearCutsGenerator.cpp:(.text+0x18df): referência indefinida para
`CoinIsnan(double)'
BonLinearCutsGenerator.cpp:(.text+0x1906): referência indefinida para
`CoinFinite(double)'
BonLinearCutsGenerator.cpp:(.text+0x1919): referência indefinida para
`CoinFinite(double)'
/usr/local/lib/libbonmin.a(BonTMINLP2TNLP.o): na função
`Bonmin::TMINLP2TNLP::outputDiffs(std::string const&, std::string const*)':
BonTMINLP2TNLP.cpp:(.text+0xcff): referência indefinida para
`CoinIsnan(double)'
BonTMINLP2TNLP.cpp:(.text+0xe77): referência indefinida para
`CoinIsnan(double)'
BonTMINLP2TNLP.cpp:(.text+0x124f): referência indefinida para
`CoinIsnan(double)'
BonTMINLP2TNLP.cpp:(.text+0x1274): referência indefinida para
`CoinFinite(double)'
BonTMINLP2TNLP.cpp:(.text+0x1287): referência indefinida para
`CoinFinite(double)'
BonTMINLP2TNLP.cpp:(.text+0x12ef): referência indefinida para
`CoinIsnan(double)'
BonTMINLP2TNLP.cpp:(.text+0x1314): referência indefinida para
`CoinFinite(double)'
BonTMINLP2TNLP.cpp:(.text+0x1327): referência indefinida para
`CoinFinite(double)'
/usr/local/lib/libbonmin.a(BonOsiTMINLPInterface.o): na função
`CoinRelFltEq::operator()(double, double) const':
BonOsiTMINLPInterface.cpp:(.text._ZNK12CoinRelFltEqclEdd[_ZNK12CoinRelFltEqclEdd]+0x14):
referência indefinida para `CoinIsnan(double)'
BonOsiTMINLPInterface.cpp:(.text._ZNK12CoinRelFltEqclEdd[_ZNK12CoinRelFltEqclEdd]+0x2f):
referência indefinida para `CoinIsnan(double)'
BonOsiTMINLPInterface.cpp:(.text._ZNK12CoinRelFltEqclEdd[_ZNK12CoinRelFltEqclEdd]+0x51):
referência indefinida para `CoinFinite(double)'
BonOsiTMINLPInterface.cpp:(.text._ZNK12CoinRelFltEqclEdd[_ZNK12CoinRelFltEqclEdd]+0x60):
referência indefinida para `CoinFinite(double)'
/usr/local/lib/libbonmin.a(BonOsiTMINLPInterface.o):(.data.rel.ro._ZTVN6Bonmin18OsiTMINLPInterfaceE[_ZTVN6Bonmin18OsiTMINLPInterfaceE]+0x458):
referência indefinida para
`OsiSolverInterface::activateRowCutDebugger(double const*, bool)'
/usr/local/lib/libbonmin.a(BonOsiTMINLPInterface.o):(.data.rel.ro._ZTVN6Bonmin18OsiTMINLPInterfaceE[_ZTVN6Bonmin18OsiTMINLPInterfaceE]+0x490):
referência indefinida para `OsiSolverInterface::getReducedGradient(double*,
double*, double const*) const'
/usr/local/lib/libbonmin.a(BonTNLPSolver.o): na função
`Bonmin::TNLPSolver::UnsolvedError::writeDiffFiles(std::string) const':
BonTNLPSolver.cpp:(.text+0x1087): referência indefinida para
`CoinIsnan(double)'
BonTNLPSolver.cpp:(.text+0x1209): referência indefinida para
`CoinIsnan(double)'
BonTNLPSolver.cpp:(.text+0x15ff): referência indefinida para
`CoinIsnan(double)'
BonTNLPSolver.cpp:(.text+0x1624): referência indefinida para
`CoinFinite(double)'
BonTNLPSolver.cpp:(.text+0x1637): referência indefinida para
`CoinFinite(double)'
BonTNLPSolver.cpp:(.text+0x169f): referência indefinida para
`CoinIsnan(double)'
BonTNLPSolver.cpp:(.text+0x16c4): referência indefinida para
`CoinFinite(double)'
BonTNLPSolver.cpp:(.text+0x16d7): referência indefinida para
`CoinFinite(double)'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpMumpsSolverInterface.o):
na função `Ipopt::MumpsSolverInterface::SymbolicFactorization()':
(.text+0x115b): referência indefinida para `dmumps_c'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpMumpsSolverInterface.o):
na função `Ipopt::MumpsSolverInterface::DetermineDependentRows(int const*,
int const*, std::list<int, std::allocator<int> >&)':
(.text+0x1382): referência indefinida para `dmumps_c'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpMumpsSolverInterface.o):
na função `Ipopt::MumpsSolverInterface::DetermineDependentRows(int const*,
int const*, std::list<int, std::allocator<int> >&)':
(.text+0x149e): referência indefinida para `dmumps_c'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpMumpsSolverInterface.o):
na função `Ipopt::MumpsSolverInterface::Factorization(bool, int)':
(.text+0x159d): referência indefinida para `dmumps_c'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpMumpsSolverInterface.o):
na função `Ipopt::MumpsSolverInterface::Factorization(bool, int)':
(.text+0x17e4): referência indefinida para `dmumps_c'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpMumpsSolverInterface.o):(.text+0x19da):
mais referências indefinidas para seguir `dmumps_c'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpMumpsSolverInterface.o):
na função `Ipopt::MumpsSolverInterface::~MumpsSolverInterface()':
(.text+0x1beb): referência indefinida para `MPI_Finalize'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpMumpsSolverInterface.o):
na função `Ipopt::MumpsSolverInterface::MumpsSolverInterface()':
(.text+0x1d58): referência indefinida para `MPI_Init'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpMumpsSolverInterface.o):
na função `Ipopt::MumpsSolverInterface::MumpsSolverInterface()':
(.text+0x1d64): referência indefinida para `MPI_Comm_rank'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpMumpsSolverInterface.o):
na função `Ipopt::MumpsSolverInterface::MumpsSolverInterface()':
(.text+0x1dbc): referência indefinida para `dmumps_c'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libCoinUtils.a(CoinFileIO.o):
na função `CoinFileOutput::create(std::string const&,
CoinFileOutput::Compression)':
(.text+0xe0b): referência indefinida para `BZ2_bzWriteOpen'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libCoinUtils.a(CoinFileIO.o):
na função `CoinFileOutput::create(std::string const&,
CoinFileOutput::Compression)':
(.text+0x1042): referência indefinida para `gzopen'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libCoinUtils.a(CoinFileIO.o):
na função `CoinGzipFileOutput::write(void const*, int)':
(.text._ZN18CoinGzipFileOutput5writeEPKvi[_ZN18CoinGzipFileOutput5writeEPKvi]+0x5):
referência indefinida para `gzwrite'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libCoinUtils.a(CoinFileIO.o):
na função `CoinBzip2FileOutput::write(void const*, int)':
(.text._ZN19CoinBzip2FileOutput5writeEPKvi[_ZN19CoinBzip2FileOutput5writeEPKvi]+0x21):
referência indefinida para `BZ2_bzWrite'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libCoinUtils.a(CoinFileIO.o):
na função `CoinGzipFileInput::readRaw(void*, int)':
(.text._ZN17CoinGzipFileInput7readRawEPvi[_ZN17CoinGzipFileInput7readRawEPvi]+0x5):
referência indefinida para `gzread'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libCoinUtils.a(CoinFileIO.o):
na função `CoinBzip2FileInput::readRaw(void*, int)':
(.text._ZN18CoinBzip2FileInput7readRawEPvi[_ZN18CoinBzip2FileInput7readRawEPvi]+0x1e):
referência indefinida para `BZ2_bzRead'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libCoinUtils.a(CoinFileIO.o):
na função `CoinGzipFileOutput::~CoinGzipFileOutput()':
(.text._ZN18CoinGzipFileOutputD2Ev[_ZN18CoinGzipFileOutputD5Ev]+0x19):
referência indefinida para `gzclose'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libCoinUtils.a(CoinFileIO.o):
na função `CoinBzip2FileOutput::~CoinBzip2FileOutput()':
(.text._ZN19CoinBzip2FileOutputD2Ev[_ZN19CoinBzip2FileOutputD5Ev]+0x2d):
referência indefinida para `BZ2_bzWriteClose'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libCoinUtils.a(CoinFileIO.o):
na função `CoinGzipFileOutput::~CoinGzipFileOutput()':
(.text._ZN18CoinGzipFileOutputD0Ev[_ZN18CoinGzipFileOutputD5Ev]+0x19):
referência indefinida para `gzclose'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libCoinUtils.a(CoinFileIO.o):
na função `CoinBzip2FileOutput::~CoinBzip2FileOutput()':
(.text._ZN19CoinBzip2FileOutputD0Ev[_ZN19CoinBzip2FileOutputD5Ev]+0x2d):
referência indefinida para `BZ2_bzWriteClose'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libCoinUtils.a(CoinFileIO.o):
na função `CoinGzipFileInput::~CoinGzipFileInput()':
(.text._ZN17CoinGzipFileInputD0Ev[_ZN17CoinGzipFileInputD5Ev]+0x19):
referência indefinida para `gzclose'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libCoinUtils.a(CoinFileIO.o):
na função `CoinGzipFileInput::~CoinGzipFileInput()':
(.text._ZN17CoinGzipFileInputD2Ev[_ZN17CoinGzipFileInputD5Ev]+0x19):
referência indefinida para `gzclose'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libCoinUtils.a(CoinFileIO.o):
na função `CoinBzip2FileInput::~CoinBzip2FileInput()':
(.text._ZN18CoinBzip2FileInputD0Ev[_ZN18CoinBzip2FileInputD5Ev]+0x26):
referência indefinida para `BZ2_bzReadClose'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libCoinUtils.a(CoinFileIO.o):
na função `CoinBzip2FileInput::~CoinBzip2FileInput()':
(.text._ZN18CoinBzip2FileInputD2Ev[_ZN18CoinBzip2FileInputD5Ev]+0x26):
referência indefinida para `BZ2_bzReadClose'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libCoinUtils.a(CoinFileIO.o):
na função `CoinGzipFileInput::CoinGzipFileInput(std::string const&)':
(.text._ZN17CoinGzipFileInputC2ERKSs[_ZN17CoinGzipFileInputC5ERKSs]+0xc1):
referência indefinida para `gzopen'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libCoinUtils.a(CoinFileIO.o):
na função `CoinBzip2FileInput::CoinBzip2FileInput(std::string const&)':
(.text._ZN18CoinBzip2FileInputC2ERKSs[_ZN18CoinBzip2FileInputC5ERKSs]+0xda):
referência indefinida para `BZ2_bzReadOpen'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpBlas.o): na
função `Ipopt::IpBlasDdot(int, double const*, int, double const*, int)':
(.text+0x21): referência indefinida para `ddot_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpBlas.o): na
função `Ipopt::IpBlasDnrm2(int, double const*, int)':
(.text+0x47): referência indefinida para `dnrm2_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpBlas.o): na
função `Ipopt::IpBlasDasum(int, double const*, int)':
(.text+0x67): referência indefinida para `dasum_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpBlas.o): na
função `Ipopt::IpBlasIdamax(int, double const*, int)':
(.text+0x87): referência indefinida para `idamax_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpBlas.o): na
função `Ipopt::IpBlasDcopy(int, double const*, int, double*, int)':
(.text+0xb1): referência indefinida para `dcopy_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpBlas.o): na
função `Ipopt::IpBlasDaxpy(int, double, double const*, int, double*, int)':
(.text+0xf2): referência indefinida para `daxpy_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpBlas.o): na
função `Ipopt::IpBlasDscal(int, double, double*, int)':
(.text+0x125): referência indefinida para `dscal_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpBlas.o): na
função `Ipopt::IpBlasDgemv(bool, int, int, double, double const*, int,
double const*, int, double, double*, int)':
(.text+0x1c1): referência indefinida para `dgemv_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpBlas.o): na
função `Ipopt::IpBlasDsymv(int, double, double const*, int, double const*,
int, double, double*, int)':
(.text+0x23f): referência indefinida para `dsymv_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpBlas.o): na
função `Ipopt::IpBlasDgemm(bool, bool, int, int, int, double, double
const*, int, double const*, int, double, double*, int)':
(.text+0x326): referência indefinida para `dgemm_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpBlas.o): na
função `Ipopt::IpBlasDsyrk(bool, int, int, double, double const*, int,
double, double*, int)':
(.text+0x3c9): referência indefinida para `dsyrk_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpBlas.o): na
função `Ipopt::IpBlasDtrsm(bool, int, int, double, double const*, int,
double*, int)':
(.text+0x48a): referência indefinida para `dtrsm_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpLapack.o):
na função `Ipopt::IpLapackDpotrs(int, int, double const*, int, double*,
int)':
(.text+0x50): referência indefinida para `dpotrs_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpLapack.o):
na função `Ipopt::IpLapackDpotrf(int, double*, int, int&)':
(.text+0x93): referência indefinida para `dpotrf_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpLapack.o):
na função `Ipopt::IpLapackDsyev(bool, int, double*, int, double*, int&)':
(.text+0x134): referência indefinida para `dsyev_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpLapack.o):
na função `Ipopt::IpLapackDsyev(bool, int, double*, int, double*, int&)':
(.text+0x1aa): referência indefinida para `dsyev_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpLapack.o):
na função `Ipopt::IpLapackDgetrf(int, double*, int*, int, int&)':
(.text+0x20c): referência indefinida para `dgetrf_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpLapack.o):
na função `Ipopt::IpLapackDgetrs(int, int, double const*, int, int*,
double*, int)':
(.text+0x278): referência indefinida para `dgetrs_'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(LibraryHandler.o):
na função `LSL_loadLib':
(.text+0x24): referência indefinida para `dlopen'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(LibraryHandler.o):
na função `LSL_loadLib':
(.text+0x51): referência indefinida para `dlerror'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(LibraryHandler.o):
na função `LSL_loadSym':
(.text+0xe0): referência indefinida para `dlsym'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(LibraryHandler.o):
na função `LSL_loadSym':
(.text+0xe8): referência indefinida para `dlerror'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(LibraryHandler.o):
na função `LSL_unloadLib':
(.text+0x91): referência indefinida para `dlclose'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libipopt.a(IpMa28Partition.o):
na função `ma28part_':
(.text+0x172): referência indefinida para `dcopy_'
collect2: erro: ld returned 1 exit status
make: ** [esp] Erro 1

*Could somebody help me?

Thanks.
Virginia. *

-- 
Programa de Engenharia de Sistemas e Computação
PESC/COPPE/UFRJ
Visite nossa página web (http://www.cos.ufrj.br)
Skype: virscosta
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/bonmin/attachments/20131025/3303fbbe/attachment-0001.html>


More information about the Bonmin mailing list