Comments (16)
Could you paste the lines above this message? Maybe there's a configuration or compiler error?
from ipopt.jl.
Oh, hi Miles! I'll have to wait until I get back to my home computer to paste the earlier part of the error message. On my office computer, I already had Ipopt installed. Ipopt.jl apparently detected that it was already installed, and Pkg.add("Ipopt") generated no errors. But Pkg.test("Ipopt") does generate errors:
/usr/bin/julia: symbol lookup error: /usr/lib/libipopt.so: undefined symbol: dmumps_c
Are these issues related? Any idea what's wrong?
Thanks, Jeff
from ipopt.jl.
Ipopt.jl isn't compatible with most system installations of Ipopt (hopefully this will change soon). If you can, try uninstalling the system version and let julia build its own version with Pkg.build("Ipopt")
.
from ipopt.jl.
There don't seem to be any meaningful error message above the one I pasted earlier. But I'll paste an extended version of the output below. I get this error message on 3 different computers: 2 that run Linux Mint, and 1 that runs Ubuntu 14.
----------------------------------------------------------------------
Libraries have been installed in:
/home/jeff/.julia/v0.3/Ipopt/deps/usr/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/home/jeff/.julia/v0.3/Ipopt/deps/usr/include/coin" || mkdir -p -- "/home/jeff/.julia/v0.3/Ipopt/deps/usr/include/coin"
/usr/bin/install -c -m 644 'IpAlgTypes.hpp' '/home/jeff/.julia/v0.3/Ipopt/deps/usr/include/coin/IpAlgTypes.hpp'
/usr/bin/install -c -m 644 'IpIpoptApplication.hpp' '/home/jeff/.julia/v0.3/Ipopt/deps/usr/include/coin/IpIpoptApplication.hpp'
/usr/bin/install -c -m 644 'IpNLP.hpp' '/home/jeff/.julia/v0.3/Ipopt/deps/usr/include/coin/IpNLP.hpp'
/usr/bin/install -c -m 644 'IpReturnCodes.h' '/home/jeff/.julia/v0.3/Ipopt/deps/usr/include/coin/IpReturnCodes.h'
/usr/bin/install -c -m 644 'IpReturnCodes.hpp' '/home/jeff/.julia/v0.3/Ipopt/deps/usr/include/coin/IpReturnCodes.hpp'
/usr/bin/install -c -m 644 'IpReturnCodes_inc.h' '/home/jeff/.julia/v0.3/Ipopt/deps/usr/include/coin/IpReturnCodes_inc.h'
/usr/bin/install -c -m 644 'IpReturnCodes.inc' '/home/jeff/.julia/v0.3/Ipopt/deps/usr/include/coin/IpReturnCodes.inc'
/usr/bin/install -c -m 644 'IpSolveStatistics.hpp' '/home/jeff/.julia/v0.3/Ipopt/deps/usr/include/coin/IpSolveStatistics.hpp'
/usr/bin/install -c -m 644 'IpStdCInterface.h' '/home/jeff/.julia/v0.3/Ipopt/deps/usr/include/coin/IpStdCInterface.h'
/usr/bin/install -c -m 644 'IpTNLP.hpp' '/home/jeff/.julia/v0.3/Ipopt/deps/usr/include/coin/IpTNLP.hpp'
/usr/bin/install -c -m 644 'IpTNLPAdapter.hpp' '/home/jeff/.julia/v0.3/Ipopt/deps/usr/include/coin/IpTNLPAdapter.hpp'
/usr/bin/install -c -m 644 'IpTNLPReducer.hpp' '/home/jeff/.julia/v0.3/Ipopt/deps/usr/include/coin/IpTNLPReducer.hpp'
make[3]: Leaving directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt/src/Interfaces'
make[2]: Leaving directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt/src/Interfaces'
Making install in src/Apps
make[2]: Entering directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt/src/Apps'
Making install in CUTErInterface
make[3]: Entering directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt/src/Apps/CUTErInterface'
if test -z "$MYCUTER" -o -z "$CUTER"; then \
rm -f ipoma.f; \
cp ./ipoma-dummy.f ipoma.f; \
else \
sed "/#{sizing}/r $MYCUTER/double/config/tools.siz" CUTErInterface.f | sed -f $MYCUTER/double/config/cast.sed | sed "s/C64BIT//" > ipoma.f; \
fi
/bin/bash ../../../../libtool --tag=F77 --mode=compile gfortran -O3 -pipe -c -o ipoma.lo ipoma.f
mkdir .libs
gfortran -O3 -pipe -c ipoma.f -fPIC -o .libs/ipoma.o
/bin/bash ../../../../libtool --tag=F77 --mode=link gfortran -O3 -pipe -o libdummy.la ipoma.lo
ar cru .libs/libdummy.a .libs/ipoma.o
ranlib .libs/libdummy.a
creating libdummy.la
(cd .libs && rm -f libdummy.la && ln -s ../libdummy.la libdummy.la)
make[4]: Entering directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt/src/Apps/CUTErInterface'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt/src/Apps/CUTErInterface'
make[3]: Leaving directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt/src/Apps/CUTErInterface'
make[3]: Entering directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt/src/Apps'
make[4]: Entering directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt/src/Apps'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt/src/Apps'
make[3]: Leaving directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt/src/Apps'
make[2]: Leaving directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt/src/Apps'
make[2]: Entering directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt'
make[3]: Entering directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt'
test -z "/home/jeff/.julia/v0.3/Ipopt/deps/usr/share/coin/doc/Ipopt" || mkdir -p -- "/home/jeff/.julia/v0.3/Ipopt/deps/usr/share/coin/doc/Ipopt"
for file in README AUTHORS LICENSE; do \
if test -f "$file"; then dir=; else dir="./"; fi; \
if test -f "$dir$file"; then /usr/bin/install -c -m 644 "$dir$file" "/home/jeff/.julia/v0.3/Ipopt/deps/usr/share/coin/doc/Ipopt/$file"; fi; \
done
test -z "/home/jeff/.julia/v0.3/Ipopt/deps/usr/lib/pkgconfig" || mkdir -p -- "/home/jeff/.julia/v0.3/Ipopt/deps/usr/lib/pkgconfig"
/usr/bin/install -c -m 644 'ipopt.pc' '/home/jeff/.julia/v0.3/Ipopt/deps/usr/lib/pkgconfig/ipopt.pc'
make install-data-hook
make[4]: Entering directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt'
PKG_CONFIG_PATH=/home/jeff/.julia/v0.3/Ipopt/deps/usr/lib64/pkgconfig:/home/jeff/.julia/v0.3/Ipopt/deps/usr/lib/pkgconfig:/home/jeff/.julia/v0.3/Ipopt/deps/usr/share/pkgconfig: \
pkg-config --libs ipopt > /home/jeff/.julia/v0.3/Ipopt/deps/usr/share/coin/doc/Ipopt/ipopt_addlibs_cpp.txt
addlibs=`cat /home/jeff/.julia/v0.3/Ipopt/deps/usr/share/coin/doc/Ipopt/ipopt_addlibs_cpp.txt` ; \
echo "$addlibs -lstdc++ -lm" > /home/jeff/.julia/v0.3/Ipopt/deps/usr/share/coin/doc/Ipopt/ipopt_addlibs_c.txt ; \
for i in -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. -lgfortran -lm -lquadmath coin_dummy ; do \
addlibs=`echo -n " $addlibs " | sed -e "s! $i ! !g"` ; \
done ; \
echo "$addlibs -lstdc++ -lm" > /home/jeff/.julia/v0.3/Ipopt/deps/usr/share/coin/doc/Ipopt/ipopt_addlibs_f.txt
make[4]: Leaving directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt'
make[3]: Leaving directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt'
make[2]: Leaving directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt'
make[1]: Leaving directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7/Ipopt'
make[1]: Entering directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7'
make[2]: Entering directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7'
Run make install-doxydoc to generate and install Doxygen documentation.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7'
make[1]: Leaving directory `/home/jeff/.julia/v0.3/Ipopt/deps/src/Ipopt-3.11.7'
==========================[ ERROR: Ipopt ]============================
Provider BuildProcess failed to satisfy dependency libipopt
while loading /home/jeff/.julia/v0.3/Ipopt/deps/build.jl, in expression starting on line 81
===========[ BUILD ERRORS ]=======================
WARNING: Ipopt had build errors.
- packages with build errors remain installed in /home/jeff/.julia/v0.3
- build the package(s) and all dependencies with `Pkg.build("Ipopt")`
- build a single package by running its `deps/build.jl` script
================================
INFO: Package database updated
INFO: METADATA is out-of-date — you may not have the latest version of Ipopt
from ipopt.jl.
What's the output of dlopen("/home/jeff/.julia/v0.3/Ipopt/deps/usr/lib/libipopt.so")
?
from ipopt.jl.
$ dlopen("/home/jeff/.julia/v0.3/Ipopt/deps/usr/lib/libipopt.so")
bash: syntax error near unexpected token `"/home/jeff/.julia/v0.3/Ipopt/deps/usr/lib/libipopt.so"'
from ipopt.jl.
Sorry, try running that inside julia.
from ipopt.jl.
ERROR: could not load module /home/jeff/.julia/v0.3/Ipopt/deps/usr/lib/libipopt.so:
/home/jeff/julia/bin/../lib/julia/libgfortran.so.3: version `GFORTRAN_1.4' not found
(required by /home/jeff/.julia/v0.3/Ipopt/deps/usr/lib/libcoinmumps.so.1)
in dlopen at c.jl:19
from ipopt.jl.
Never seen that before. What version of gfortran is installed?
CC @tkelman
from ipopt.jl.
Its version is "GNU Fortran (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1"
from ipopt.jl.
How did you install julia? It may be a conflict with julia's libgfortran and the system libgfortran.
from ipopt.jl.
I just downloaded the generic Linux binaries to my home directory. I could try building from source.
from ipopt.jl.
Yes, that'll do it. Try building from source or using the ubuntu ppa.
from ipopt.jl.
This is JuliaLang/julia#8442 (comment)
You can delete the bundled libgfortran from the generic Linux binaries. We really need to fix that issue, but it's rate limited on @staticfloat's time to fix the buildbots.
from ipopt.jl.
Building Julia from source code solved the problem for me. Thanks for the help Miles.
from ipopt.jl.
Today, I tried "Pkg.add(Ipopt)" and "Pkg.build(Ipopt)". I met the sample problem of say "no Fortran compiler". What I did is to install a "gfortran"'
sudo apt-get install gfortran
Then I "Pkg.build(Ipopt)" again and succeeded.
My OS is Ubuntu 16.04.3 LTS.
Hope will be useful~
from ipopt.jl.
Related Issues (20)
- `max_wall_time` is still not working HOT 5
- Allow user to specify the Ipopt binary HOT 2
- copy_to does not copy attributes for variable bound constraints HOT 6
- Only evaluate QP callbacks if needed HOT 1
- Problem with HSL solvers since updating to MacOS 13.0 HOT 3
- double free or corruption (out) error HOT 20
- Linking full hsl library to Ipopt.jl on ubuntu HOT 19
- julia 0.6.0 install Ipopt cannot connect to mumps dependency HOT 2
- Add support for GetIpoptCurrentViolations
- Incorrect number of Hessian structure (nonzero entries) HOT 10
- Does Ipopt.jl support giving hessian matrix in JuMP directly, without using the C_wrapper? HOT 2
- pointer being freed was not allocated HOT 33
- Invalid number in NLP function or derivative detected. HOT 8
- Issue with non-negative variable tolerance. HOT 2
- does not allow Ipopt_jll current version HOT 2
- Add some pre-built "debugging" callbacks HOT 1
- Crash on Windows when optimizing with SPRAL_jll HOT 11
- Using Ipopt in parallel threads HOT 4
- "double free or corruption" when providing duplicate hessian entries via MathOptInterface HOT 4
- Parsing an NLP HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ipopt.jl.