Giter VIP home page Giter VIP logo

Comments (16)

mlubin avatar mlubin commented on August 16, 2024

Could you paste the lines above this message? Maybe there's a configuration or compiler error?

from ipopt.jl.

jeff-regier avatar jeff-regier commented on August 16, 2024

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.

mlubin avatar mlubin commented on August 16, 2024

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.

jeff-regier avatar jeff-regier commented on August 16, 2024

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.

mlubin avatar mlubin commented on August 16, 2024

What's the output of dlopen("/home/jeff/.julia/v0.3/Ipopt/deps/usr/lib/libipopt.so")?

from ipopt.jl.

jeff-regier avatar jeff-regier commented on August 16, 2024
$ 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.

mlubin avatar mlubin commented on August 16, 2024

Sorry, try running that inside julia.

from ipopt.jl.

jeff-regier avatar jeff-regier commented on August 16, 2024
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.

mlubin avatar mlubin commented on August 16, 2024

Never seen that before. What version of gfortran is installed?

CC @tkelman

from ipopt.jl.

jeff-regier avatar jeff-regier commented on August 16, 2024

Its version is "GNU Fortran (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1"

from ipopt.jl.

mlubin avatar mlubin commented on August 16, 2024

How did you install julia? It may be a conflict with julia's libgfortran and the system libgfortran.

from ipopt.jl.

jeff-regier avatar jeff-regier commented on August 16, 2024

I just downloaded the generic Linux binaries to my home directory. I could try building from source.

from ipopt.jl.

mlubin avatar mlubin commented on August 16, 2024

Yes, that'll do it. Try building from source or using the ubuntu ppa.

from ipopt.jl.

tkelman avatar tkelman commented on August 16, 2024

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.

jeff-regier avatar jeff-regier commented on August 16, 2024

Building Julia from source code solved the problem for me. Thanks for the help Miles.

from ipopt.jl.

zhoutianli90 avatar zhoutianli90 commented on August 16, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.