Giter VIP home page Giter VIP logo

Comments (36)

tkelman avatar tkelman commented on July 17, 2024 1

and

run(`cat $(Pkg.dir("Ipopt","deps","deps.jl"))`)

from ipopt.jl.

mlubin avatar mlubin commented on July 17, 2024 1

This is reproducible on travis.

from ipopt.jl.

tkelman avatar tkelman commented on July 17, 2024
import BinDeps
BinDeps.debug("Ipopt")

from ipopt.jl.

sungsooahn0215 avatar sungsooahn0215 commented on July 17, 2024

I have run the commands and obtain the following results:

julia> BinDeps.debug("Ipopt")
INFO: Reading build script...
The package declares 1 dependencies.
- Library "libipopt"
  - Providers:
    - Simple Build Process
    - Homebrew Bottles staticfloat/juliadeps/ipopt

julia> run(`cat $(Pkg.dir("Ipopt","deps","deps.jl"))`)
cat: /Users/sungsooahn/.julia/v0.4/Ipopt/deps/deps.jl: No such file or directory
ERROR: failed process: Process(`cat /Users/sungsooahn/.julia/v0.4/Ipopt/deps/deps.jl`, ProcessExited(1)) [1]
 in run at /Applications/Julia-0.4.6.app/Contents/Resources/julia/lib/julia/sys.dylib

It seems that there is no deps.jl file.. should I go try to download them?

from ipopt.jl.

tkelman avatar tkelman commented on July 17, 2024

No, the deps.jl file should be autogenerated and contain a path to the library if it was successful. ping @staticfloat for guidance on Homebrew.jl debugging.

from ipopt.jl.

tkelman avatar tkelman commented on July 17, 2024

Also what is your Pkg.status() ?

from ipopt.jl.

sungsooahn0215 avatar sungsooahn0215 commented on July 17, 2024

@staticfloat Thanks! My Pkg.status() is:

julia> Pkg.status()
2 required packages:

  • Ipopt 0.2.4
  • JuMP 0.14.0

14 additional packages:

  • BinDeps 0.4.2
  • Calculus 0.1.15
  • Compat 0.8.8
  • DataStructures 0.4.5
  • ForwardDiff 0.2.3
  • Homebrew 0.3.5
  • JSON 0.7.0
  • Lazy 0.11.0
  • MacroTools 0.3.2
  • MathProgBase 0.5.3
  • NaNMath 0.2.1
  • ReverseDiffSparse 0.5.8
  • SHA 0.2.1
  • URIParser 0.1.6

from ipopt.jl.

2ar0n avatar 2ar0n commented on July 17, 2024

I am also hitting this, here's the output:

julia> Homebrew.add("Ipopt")

julia> BinDeps.debug("Ipopt")
INFO: Reading build script...
The package declares 1 dependencies.
 - Library "libipopt"
    - Providers:
      - Simple Build Process
      - Homebrew Bottles staticfloat/juliadeps/ipopt

julia> Homebrew.add("Ipopt",verbose=true)
translation: beginning for xz
translation: successfully finished for xz
translation: beginning for gmp
translation: successfully finished for gmp
translation: beginning for isl
translation: replacing dependency gmp because it's been translated before
translation: successfully finished for isl
translation: beginning for mpfr
translation: replacing dependency gmp because it's been translated before
translation: successfully finished for mpfr
translation: beginning for gcc
translation: replacing dependency gmp because it's been translated before
translation: replacing dependency mpfr because it's been translated before
translation: replacing dependency isl because it's been translated before
translation: successfully finished for gcc
translation: beginning for staticfloat/juliadeps/libgfortran
translation: successfully finished for staticfloat/juliadeps/libgfortran
translation: beginning for libmpc
translation: replacing dependency gmp because it's been translated before
translation: replacing dependency mpfr because it's been translated before
translation: successfully finished for libmpc
translation: beginning for Ipopt
translation: using staticfloat/juliadeps/Ipopt for the source of our translation
translation: successfully finished for staticfloat/juliadeps/Ipopt

julia> Pkg.build("Ipopt")
INFO: Building Homebrew
Already up-to-date.
Uninstalling mbedtls... (122 files, 2.7M)
==> Installing mbedtls from staticfloat/juliatranslated
==> Downloading https://juliabottles.s3.amazonaws.com/mbedtls-2.1.2.el_capitan.b
Already downloaded: /Users/Aaron/Library/Caches/Homebrew.jl/mbedtls-2.1.2.el_capitan.bottle.tar.gz
==> Pouring mbedtls-2.1.2.el_capitan.bottle.tar.gz
🍺  /Users/Aaron/.julia/v0.4/Homebrew/deps/usr/Cellar/mbedtls/2.1.2: 122 files, 2.7M
Warning: Already linked: /Users/Aaron/.julia/v0.4/Homebrew/deps/usr/Cellar/mbedtls/2.1.2
INFO: Building Ipopt
================================[ ERROR: Ipopt ]================================

LoadError: Provider BinDeps.PackageManager failed to satisfy dependency libipopt
while loading /Users/Aaron/.julia/v0.4/Ipopt/deps/build.jl, in expression starting on line 81

================================================================================

================================[ BUILD ERRORS ]================================

WARNING: Ipopt had build errors.

 - packages with build errors remain installed in /Users/Aaron/.julia/v0.4
 - build the package(s) and all dependencies with `Pkg.build("Ipopt")`
 - build a single package by running its `deps/build.jl` script

================================================================================

from ipopt.jl.

tkelman avatar tkelman commented on July 17, 2024

We should open an issue against Homebrew.jl since it's likely other packages may also be broken.

from ipopt.jl.

tkelman avatar tkelman commented on July 17, 2024

As a temporary fallback, you can try commenting out this line: https://github.com/JuliaOpt/Ipopt.jl/blob/911d68150970c17277296654e3a806431642a070/deps/build.jl#L71

from your local copy at Pkg.dir("Ipopt", "deps", "build.jl") then re-running Pkg.build("Ipopt") to build from source instead of trying to get binaries from Homebrew.jl. Note that you'll need to have a Fortran compiler installed, I recommend doing so via a system-wide homebrew (see http://brew.sh) with brew install gcc.

If that works, keep in mind that having non-git-ignored modifications to your local copy of Ipopt.jl will prevent you from getting future updates via Pkg.update(). Restoring the original version by un-commenting that line of code in build.jl should make things clean again and allow future updates, which you can verify with Pkg.status().

from ipopt.jl.

tkelman avatar tkelman commented on July 17, 2024

Could you open a different issue please, Linux is definitely an entirely separate problem and I'd rather not clutter the discussion here with debugging that won't help Mac users. moved to #62

from ipopt.jl.

staticfloat avatar staticfloat commented on July 17, 2024

I believe I have resolved the issue. Please Pkg.update() and try again.

from ipopt.jl.

tkelman avatar tkelman commented on July 17, 2024

Yay, thanks Elliot! Looks fixed on Travis: https://travis-ci.org/JuliaOpt/Ipopt.jl/jobs/155541191

from ipopt.jl.

mlubin avatar mlubin commented on July 17, 2024

Thanks @staticfloat!

from ipopt.jl.

dpo avatar dpo commented on July 17, 2024

This is still a problem for me on OSX:

dpo:~ $ otool -L ~/.julia/v0.6/Homebrew/deps/usr/lib/libipopt.dylib 
/Users/dpo/.julia/v0.6/Homebrew/deps/usr/lib/libipopt.dylib:
	/Users/dpo/.julia/v0.6/Homebrew/deps/usr/opt/ipopt/lib/libipopt.1.dylib (compatibility version 12.0.0, current version 12.4.0)
	/Users/dpo/.julia/v0.6/Homebrew/deps/usr/Cellar/ipopt/3.12.4_1/lib/libcoinmumps.1.dylib (compatibility version 7.0.0, current version 7.4.0)
	/Users/dpo/.julia/v0.6/Homebrew/deps/usr/opt/gcc/lib/gcc/6/libgfortran.3.dylib (compatibility version 4.0.0, current version 4.0.0)
	/Users/dpo/.julia/v0.6/Homebrew/deps/usr/opt/libgfortran/lib/libquadmath.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.0.0)
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.4.0)
dpo:~ $ ls ~/.julia/v0.6/Homebrew/deps/usr/opt/
ampl-mp     git         ipopt       libgfortran
dpo:~ $ ls ~/.julia/v0.6/Homebrew/deps/usr/opt/libgfortran/lib/
libgcc_s.1.dylib    libgcc_s.dylib      libgfortran.4.dylib libgfortran.dylib   libquadmath.0.dylib libquadmath.dylib

The problem seems to be that /Users/dpo/.julia/v0.6/Homebrew/deps/usr/opt/gcc doesn't exist.

from ipopt.jl.

mlubin avatar mlubin commented on July 17, 2024

I noticed a similar failure on travis recently but I didn't have a mac to try and reproduce. @staticfloat, any ideas?

from ipopt.jl.

dpo avatar dpo commented on July 17, 2024

ps: If I brew install ipopt outside of Julia, Pkg.build("Ipopt") succeeds and I can use the package.

from ipopt.jl.

mlubin avatar mlubin commented on July 17, 2024

Is it sufficient to change "staticfloat/juliadeps/ipopt" to "ipopt" here?

from ipopt.jl.

joehuchette avatar joehuchette commented on July 17, 2024

@mlubin that change failed with

configure: error: user supplied LAPACK library "/Users/huchette/.julia/v0.6/Ipopt/deps/usr/lib/libcoinlapack.a /Users/huchette/.julia/v0.6/Ipopt/deps/usr/lib/libcoinblas.a -lgfortran  -L/usr/local/Cellar/gcc/5.3.0/lib/gcc/5/gcc/x86_64-apple-darwin16.1.0/5.3.0 -L/usr/local/Cellar/gcc/5.3.0/lib/gcc/5/gcc/x86_64-apple-darwin16.1.0/5.3.0/../../.. -lgfortran -lSystem -lquadmath -lm" does not work
configure: error: /bin/sh './configure' failed for Ipopt

from ipopt.jl.

staticfloat avatar staticfloat commented on July 17, 2024

This happened because we had to upgrade the libgfortran, so we have to rebuild our ipopt bottles.

from ipopt.jl.

joehuchette avatar joehuchette commented on July 17, 2024

What's the fix?

from ipopt.jl.

staticfloat avatar staticfloat commented on July 17, 2024

We need to build new ipopt bottles.

from ipopt.jl.

mlubin avatar mlubin commented on July 17, 2024

@staticfloat, when do you expect that to be completed?

from ipopt.jl.

staticfloat avatar staticfloat commented on July 17, 2024

Can you try again now? I just uploaded some new Ipopt bottles for OSX 10.10, 10.11, and 10.12.

from ipopt.jl.

joehuchette avatar joehuchette commented on July 17, 2024

Just tried on OSX 10.12.6, Julia v0.6.0, Homebrew 0.6.0, and Ipopt 0.2.6, and I'm still getting:

julia> Pkg.build("Ipopt")
INFO: Building Homebrew
INFO: Building Ipopt
===================================================[ ERROR: Ipopt ]===================================================

LoadError: Provider BinDeps.PackageManager failed to satisfy dependency libipopt
while loading /Users/huchette/.julia/v0.6/Ipopt/deps/build.jl, in expression starting on line 89

======================================================================================================================

===================================================[ BUILD ERRORS ]===================================================

WARNING: Ipopt had build errors.

 - packages with build errors remain installed in /Users/huchette/.julia/v0.6
 - build the package(s) and all dependencies with `Pkg.build("Ipopt")`
 - build a single package by running its `deps/build.jl` script

======================================================================================================================

from ipopt.jl.

staticfloat avatar staticfloat commented on July 17, 2024

from ipopt.jl.

joehuchette avatar joehuchette commented on July 17, 2024

I did, same result

from ipopt.jl.

jdechalendar avatar jdechalendar commented on July 17, 2024

Hi @staticfloat I get the same result as @joehuchette - just tried this on OSX 10.13.1 (was also failing on 10.12 a couple days ago), Julia 0.6.0, Homebrew 0.2.6, Ipopt 0.2.6

julia> Pkg.build("Ipopt")
INFO: Building Homebrew
INFO: Building Ipopt
WARNING: The following packages do not have relocatable bottles, installation may fail!
Please report these packages to https://github.com/JuliaLang/Homebrew.jl:
staticfloat/juliadeps/libgfortran
staticfloat/juliadeps/ipopt
========================================[ ERROR: Ipopt ]=========================================

LoadError: Provider BinDeps.PackageManager failed to satisfy dependency libipopt
while loading /Users/jacquesdechalendar/.julia/v0.6/Ipopt/deps/build.jl, in expression starting on line 89

=================================================================================================

========================================[ BUILD ERRORS ]=========================================

WARNING: Ipopt had build errors.

  • packages with build errors remain installed in /Users/jacquesdechalendar/.julia/v0.6
  • build the package(s) and all dependencies with Pkg.build("Ipopt")
  • build a single package by running its deps/build.jl script

=================================================================================================

from ipopt.jl.

jd-lara avatar jd-lara commented on July 17, 2024

@staticfloat is the problem fixed? I just updated Homebrew julia package and updated homebrew also. Same Problem

Error: staticfloat/juliadeps/libgfortran 7.2 did not build

I am using julia 0.6, macOS: 10.13.1-x86_64 and this is the info of running homebrew.versioninfo()

homebrew/core git revision 170e3ea8bc; last commit 23 minutes ago
staticfloat/juliadeps revision 4b605d5; last commit 2 weeks ago```

from ipopt.jl.

jd-lara avatar jd-lara commented on July 17, 2024

@joehuchette I have managed to get around the problem with libgfortran by running

Homebrew.brew(`install --verbose libgfortran`), this took forever but now the error about that requirement doesn't show up anymore. Later on, I ran Homebrew.add("Ipopt",verbose=true) to check that Ipopt could be installed and the result is:

runtime_deps: String["libgfortran"]
translation: beginning for gmp
translation: successfully finished for gmp
translation: beginning for isl
translation: replacing dependency gmp because it's been translated before
translation: successfully finished for isl
translation: beginning for mpfr
translation: replacing dependency gmp because it's been translated before
translation: successfully finished for mpfr
translation: beginning for gcc
translation: replacing dependency gmp because it's been translated before
translation: replacing dependency mpfr because it's been translated before
translation: replacing dependency isl because it's been translated before
translation: successfully finished for gcc
translation: beginning for staticfloat/juliadeps/libgfortran
translation: bailing because staticfloat/juliadeps/libgfortran has no bottles
translation: beginning for libmpc
translation: replacing dependency gmp because it's been translated before
translation: replacing dependency mpfr because it's been translated before
translation: successfully finished for libmpc
sorted_deps: AbstractString["staticfloat/juliadeps/libgfortran"]
build_deps only: AbstractString["staticfloat/juliatranslated/gmp", "staticfloat/juliatranslated/isl", "staticfloat/juliatranslated/mpfr", "staticfloat/juliatranslated/gcc", "staticfloat/juliatranslated/libmpc"]
translation: beginning for Ipopt
translation: using staticfloat/juliadeps/Ipopt for the source of our translation
translation: bailing because staticfloat/juliadeps/Ipopt has no bottles
WARNING: The following packages do not have relocatable bottles, installation may fail!
Please report these packages to https://github.com/JuliaLang/Homebrew.jl:
  staticfloat/juliadeps/libgfortran
  staticfloat/juliadeps/Ipopt

Now, if I run Pkg.build("Ipopt") the following error show up

INFO: Building Homebrew
INFO: Building Ipopt
WARNING: The following packages do not have relocatable bottles, installation may fail!
Please report these packages to https://github.com/JuliaLang/Homebrew.jl:
  staticfloat/juliadeps/libgfortran
  staticfloat/juliadeps/ipopt
==============================================================[ ERROR: Ipopt ]===============================================================

LoadError: Provider BinDeps.PackageManager failed to satisfy dependency libipopt
while loading /Users/jdlara/.julia/v0.6/Ipopt/deps/build.jl, in expression starting on line 89

=============================================================================================================================================

==============================================================[ BUILD ERRORS ]===============================================================

WARNING: Ipopt had build errors.

 - packages with build errors remain installed in /Users/jdlara/.julia/v0.6
 - build the package(s) and all dependencies with `Pkg.build("Ipopt")`
 - build a single package by running its `deps/build.jl` script

=============================================================================================================================================

Checking for depedencies, I ran run(`cat $(Pkg.dir("Ipopt","deps","deps.jl"))`) and this was the result:

# This is an auto-generated file; do not edit

# Pre-hooks

# Macro to load a library
macro checked_lib(libname, path)
    ((VERSION >= v"0.4.0-dev+3844" ? Base.Libdl.dlopen_e : Base.dlopen_e)(path) == C_NULL) && error("Unable to load \n\n$libname ($path)\n\nPlease re-run Pkg.build(package), and restart Julia.")
    quote const $(esc(libname)) = $path end
end

# Load dependencies
@checked_lib libipopt "/Users/jdlara/.julia/v0.6/Homebrew/deps/usr/lib/libipopt.dylib"

# Load-hooks

from ipopt.jl.

M-Roveto avatar M-Roveto commented on July 17, 2024

Hi All,

New to Julia and having a similar issue with the "CoinOptServices" Package. When I run
Pkg.add("CoinOptServices") it says it is installed

julia> Pkg.add("CoinOptServices")
INFO: Package CoinOptServices is already installed

But when I run Pkg.build("CoinOptServices") I have errors as follows

julia> Pkg.build("CoinOptServices")
INFO: Building Homebrew
Already up-to-date.
INFO: Building Cbc
INFO: Building Ipopt
INFO: Building LightXML
INFO: Building CoinOptServices
WARNING: Method definition @checked_lib(ANY, ANY) in module anon at /Users/matthewroveto/.julia/v0.6/Cbc/deps/deps.jl:7 overwritten at /Users/matthewroveto/.julia/v0.6/Ipopt/deps/deps.jl:7.
Warning: Use cppad instead of deprecated homebrew/science/cppad
===========================[ ERROR: CoinOptServices ]===========================

LoadError: Provider BinDeps.PackageManager failed to satisfy dependency libOS
while loading /Users/matthewroveto/.julia/v0.6/CoinOptServices/deps/build.jl, in expression starting on line 71

================================================================================

================================[ BUILD ERRORS ]================================

WARNING: CoinOptServices had build errors.

  • packages with build errors remain installed in /Users/matthewroveto/.julia/v0.6
  • build the package(s) and all dependencies with Pkg.build("CoinOptServices")
  • build a single package by running its deps/build.jl script

================================================================================

julia>

Not sure what to do, I have tried all of the solutions posted on this page for "Ipopt." Please let me know if you have any suggestions, thanks I appreciate it a lot.

Also sorry for different formatting, I am new to GitHub.

from ipopt.jl.

ccoffrin avatar ccoffrin commented on July 17, 2024

Just tried on OSX 10.12.6, Julia v0.6.1, Homebrew 0.6.0, and Ipopt 0.2.6 and getting the same result as @joehuchette.

from ipopt.jl.

joehuchette avatar joehuchette commented on July 17, 2024

FWIW I managed to work around my issues by installing the requisite bottles in my system Homebrew.

from ipopt.jl.

mlubin avatar mlubin commented on July 17, 2024

Should we post a workaround in the README?

from ipopt.jl.

joehuchette avatar joehuchette commented on July 17, 2024

I'm not sure how reliable or desirable of a workaround it is, but yes, probably.

from ipopt.jl.

ccoffrin avatar ccoffrin commented on July 17, 2024

Any workaround is better than none, but if you don't have root system Homebrew is not an option. :-/

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.