[Ipopt-tickets] [Ipopt] #255: java: symbol lookup error: libipopt.so: undefined symbol: dmumps_c
Ipopt
coin-trac at coin-or.org
Tue Jan 20 21:55:52 EST 2015
#255: java: symbol lookup error: libipopt.so: undefined symbol: dmumps_c
--------------------------+------------------------
Reporter: dblfl | Owner: ipopt-team
Type: clarification | Status: new
Priority: normal | Component: Ipopt
Version: 3.11 | Severity: normal
Keywords: |
--------------------------+------------------------
I call libipopt.so by JNI use java,but when running procedure throws a
error "java: symbol lookup error: libipopt.so: undefined symbol:
dmumps_c".
by ldd -r command show
ldd -r libipopt.so
[root at localhost lib]# ldd -r libipopt.so
linux-vdso.so.1 => (0x00007fff71990000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f57cee1f000)
libm.so.6 => /lib64/libm.so.6 (0x00007f57ceb9a000)
libc.so.6 => /lib64/libc.so.6 (0x00007f57ce806000)
/lib64/ld-linux-x86-64.so.2 (0x0000003ac5e00000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f57ce5f0000)
undefined symbol: dgemm_ (./libipopt.so)
undefined symbol: daxpy_ (./libipopt.so)
undefined symbol: dlsym (./libipopt.so)
undefined symbol: dnrm2_ (./libipopt.so)
undefined symbol: dlerror (./libipopt.so)
undefined symbol: dsyev_ (./libipopt.so)
undefined symbol: dcopy_ (./libipopt.so)
undefined symbol: dscal_ (./libipopt.so)
undefined symbol: ddot_ (./libipopt.so)
undefined symbol: dgetrf_ (./libipopt.so)
undefined symbol: dsyrk_ (./libipopt.so)
undefined symbol: dasum_ (./libipopt.so)
undefined symbol: dtrsm_ (./libipopt.so)
undefined symbol: idamax_ (./libipopt.so)
undefined symbol: dpotrf_ (./libipopt.so)
undefined symbol: dmumps_c (./libipopt.so)
undefined symbol: dgemv_ (./libipopt.so)
undefined symbol: dpotrs_ (./libipopt.so)
undefined symbol: dlopen (./libipopt.so)
undefined symbol: dsymv_ (./libipopt.so)
undefined symbol: dgetrs_ (./libipopt.so)
undefined symbol: dlclose (./libipopt.so)
there are many undefined symbols in libipopt.so. libipopt.so compiled by
myself.
Compiling and Installing IPOPT on linux redhat enterprise 6.5 64bit
GCC
== '''steps''' ==
1、download tarball from http://www.coin-
or.org/download/source/Ipopt/Ipopt-3.11.9.tgz
2、unzip
tar -zxvf Ipopt-3.11.9.tgz
3、cd Ipopt-3.11.9
4、mkdir build
5、cd ThirdParty ,enter ASL\Blas\Lapack\Metis\Mumps run get.ASL/
get.Blas/get.Metis/get.Mumps
6、cd build run ../configure
the last I see output "
config.status: executing depfiles commands
configure: Creating VPATH links for data files
configure: In case of trouble, first consult the troubleshooting page at
https://projects.coin-or.org/BuildTools/wiki/user-troubleshooting
configure: Configuration of Ipopt successful
configure: In case of trouble, first consult the troubleshooting page at
https://projects.coin-or.org/BuildTools/wiki/user-troubleshooting
configure: Main configuration of Ipopt successful
[root at localhost build]# Main configuration of Ipopt successful
7、 run make
everything seem like right,no error exist.last output info"
make[3]: Leaving directory
`/usr/local/Ipopt-3.11.9/build/Ipopt/src/Apps/AmplSolver'
make[3]: Entering directory `/usr/local/Ipopt-3.11.9/build/Ipopt/src/Apps'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/usr/local/Ipopt-3.11.9/build/Ipopt/src/Apps'
make[2]: Leaving directory `/usr/local/Ipopt-3.11.9/build/Ipopt/src/Apps'
make[2]: Entering directory `/usr/local/Ipopt-3.11.9/build/Ipopt'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/usr/local/Ipopt-3.11.9/build/Ipopt'
make[1]: Leaving directory `/usr/local/Ipopt-3.11.9/build/Ipopt'
make[1]: Entering directory `/usr/local/Ipopt-3.11.9/build'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory `/usr/local/Ipopt-3.11.9/build'
"
8、make install
no error exist . last output info
"
test -z "/usr/local/Ipopt-3.11.9/build/share/coin/doc/Ipopt" || mkdir -p
-- "/usr/local/Ipopt-3.11.9/build/share/coin/doc/Ipopt"
for file in README AUTHORS LICENSE; do \
if test -f "$file"; then dir=; else dir="../../Ipopt/"; fi; \
if test -f "$dir$file"; then /usr/bin/install -c -m 644
"$dir$file" "/usr/local/Ipopt-3.11.9/build/share/coin/doc/Ipopt/$file";
fi; \
done
test -z "/usr/local/Ipopt-3.11.9/build/lib/pkgconfig" || mkdir -p --
"/usr/local/Ipopt-3.11.9/build/lib/pkgconfig"
/usr/bin/install -c -m 644 'ipopt.pc'
'/usr/local/Ipopt-3.11.9/build/lib/pkgconfig/ipopt.pc'
make install-data-hook
make[4]: Entering directory `/usr/local/Ipopt-3.11.9/build/Ipopt'
PKG_CONFIG_PATH=/usr/local/Ipopt-3.11.9/build/lib64/pkgconfig:/usr/local/Ipopt-3.11.9/build/lib/pkgconfig:/usr/local/Ipopt-3.11.9/build/share/pkgconfig:
\
pkg-config --libs ipopt >
/usr/local/Ipopt-3.11.9/build/share/coin/doc/Ipopt/ipopt_addlibs_cpp.txt
addlibs=`cat
/usr/local/Ipopt-3.11.9/build/share/coin/doc/Ipopt/ipopt_addlibs_cpp.txt`
; \
echo "$addlibs -lstdc++ -lm" >
/usr/local/Ipopt-3.11.9/build/share/coin/doc/Ipopt/ipopt_addlibs_c.txt ; \
for i in -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7
-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64 -L/lib/../lib64
-L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../..
-lgfortranbegin -lgfortran -lm coin_dummy ; do \
addlibs=`echo -n " $addlibs " | sed -e "s! $i ! !g"` ; \
done ; \
echo "$addlibs -lstdc++ -lm" >
/usr/local/Ipopt-3.11.9/build/share/coin/doc/Ipopt/ipopt_addlibs_f.txt
make[4]: Leaving directory `/usr/local/Ipopt-3.11.9/build/Ipopt'
make[3]: Leaving directory `/usr/local/Ipopt-3.11.9/build/Ipopt'
make[2]: Leaving directory `/usr/local/Ipopt-3.11.9/build/Ipopt'
make[1]: Leaving directory `/usr/local/Ipopt-3.11.9/build/Ipopt'
make[1]: Entering directory `/usr/local/Ipopt-3.11.9/build'
make[2]: Entering directory `/usr/local/Ipopt-3.11.9/build'
Run make install-doxydoc to generate and install Doxygen documentation.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/usr/local/Ipopt-3.11.9/build'
make[1]: Leaving directory `/usr/local/Ipopt-3.11.9/build'
"
enter in build/lib/ have some *.so|*.la files ,such as "
libcoinasl.la libcoinblas.so libcoinlapack.so.1
libcoinmetis.so.1.2.10 libipoptamplinterface.la libipopt.so
libcoinasl.so libcoinblas.so.1 libcoinlapack.so.1.4.11
libcoinmumps.la libipoptamplinterface.so libipopt.so.1
libcoinasl.so.1 libcoinblas.so.1.3.11 libcoinmetis.la
libcoinmumps.so libipoptamplinterface.so.1 libipopt.so.1.9.9
libcoinasl.so.1.2.16 libcoinlapack.la libcoinmetis.so
libcoinmumps.so.1 libipoptamplinterface.so.1.9.9 pkgconfig
libcoinblas.la libcoinlapack.so libcoinmetis.so.1
libcoinmumps.so.1.4.13 libipopt.la
"
above is my all operation procedure. but the libipopt.so seem like not
right link Mumps. so I want know how I setup my environment ?or what any
options with when I run configure?
I see also
IPOPT compilation hints:
https://projects.coin-or.org/Ipopt/wiki/CompilationHints
in above document, the section "Compiling Ipopt" and "Compiling/Linking an
Example" i don't understand "CMakelists.txt" what it is.
i read https://projects.coin-or.org/BuildTools/wiki/current-issues
contents.
in it "
On MacOS X 10.9, the default C++ standard library used by the Xcode
compilers has changed to libc++ (LLVM/clang), rather than libstdc++ (GNU).
This can cause strange link errors when linking C++ code into C or Fortran
libraries or executables. The errors may be of the form "Undefined symbols
for architecture x86_64" for many symbols that begin with std::__1::,
which should be coming from libc++. BuildTools? currently assumes the
default C++ library is libstdc++ in most cases, this patch will fix the
issue but may take some time to be ready for release. There are two
workarounds: either let BuildTools? know that the C++ standard library is
libc++ by configuring with CXXLIBS=-lc++, or tell the clang++ compiler to
use libstdc++ as its standard library by configuring with
ADD_CXXFLAGS="-stdlib=libstdc++".
" same as mine ,but I try ../configure ADD_CXXFLAGS="-stdlib=libstdc++"
,when make throws error.
hellp me please! thank you !
--
Ticket URL: <https://projects.coin-or.org/Ipopt/ticket/255>
Ipopt <http://projects.coin-or.org/Ipopt>
Interior-point optimizer for nonlinear programs.
More information about the Ipopt-tickets
mailing list