BinaryProvider.jl icon indicating copy to clipboard operation
BinaryProvider.jl copied to clipboard

Unable to install Ipopt using BinaryProvider.jl

Open kdheepak opened this issue 6 years ago • 7 comments

Hi all,

I'm unable to install Ipopt and need some assistance. When I run build Ipopt (I get the same error with add Ipopt and add Ipopt#master), I get the following error on a fresh julia install:

               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.0.1 (2018-09-29)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

(v1.0) pkg> add Ipopt
   Cloning default registries into /Users/$USER/.julia/registries
   Cloning registry General from "https://github.com/JuliaRegistries/General.git"
  Updating registry at `~/.julia/registries/General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
 Resolving package versions...
 Installed BinDeps ────────── v0.8.10
 Installed Compat ─────────── v1.3.0
 Installed Ipopt ──────────── v0.4.2
 Installed MathProgBase ───── v0.7.7
 Installed BinaryProvider ─── v0.5.2
 Installed MathOptInterface ─ v0.6.1
 Installed URIParser ──────── v0.4.0
  Updating `~/.julia/environments/v1.0/Project.toml`
  [b6b21f68] + Ipopt v0.4.2
  Updating `~/.julia/environments/v1.0/Manifest.toml`
  [9e28174c] + BinDeps v0.8.10
  [b99e7846] + BinaryProvider v0.5.2
  [34da2185] + Compat v1.3.0
  [b6b21f68] + Ipopt v0.4.2
  [b8f27783] + MathOptInterface v0.6.1
  [fdba3010] + MathProgBase v0.7.7
  [30578b45] + URIParser v0.4.0
  [2a0f44e3] + Base64
  [ade2ca70] + Dates
  [8bb1440f] + DelimitedFiles
  [8ba89e20] + Distributed
  [b77e0a4c] + InteractiveUtils
  [76f85450] + LibGit2
  [8f399da3] + Libdl
  [37e2e46d] + LinearAlgebra
  [56ddb016] + Logging
  [d6f4376e] + Markdown
  [a63ad114] + Mmap
  [44cfe95a] + Pkg
  [de0858da] + Printf
  [3fa0cd96] + REPL
  [9a3f8284] + Random
  [ea8e919c] + SHA
  [9e88b42a] + Serialization
  [1a1011a3] + SharedArrays
  [6462fe0b] + Sockets
  [2f01184e] + SparseArrays
  [10745b16] + Statistics
  [8dfed614] + Test
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode
  Building Ipopt → `~/.julia/packages/Ipopt/5a2PI/deps/build.log`
┌ Error: Error building `Ipopt`:
│ ┌ Warning: platform_key() is deprecated, use platform_key_abi() from now on
│ │   caller = ip:0x0
│ └ @ Core :-1
│ ┌ Warning: Could not extract the platform key of https://github.com/staticfloat/IpoptBuilder/releases/download/v3.12.8-9/Ipopt.x86_64-apple-darwin14.tar.gz; continuing...
│ └ @ BinaryProvider ~/.julia/packages/BinaryProvider/1nGWd/src/Prefix.jl:185
│ [ Info: Downloading https://github.com/staticfloat/IpoptBuilder/releases/download/v3.12.8-9/Ipopt.x86_64-apple-darwin14.tar.gz to /Users/$USER/.julia/packages/Ipopt/5a2PI/deps/usr/downloads/Ipopt.x86_64-apple-darwin14.tar.gz...
│ ERROR: LoadError: LibraryProduct(nothing, ["libipopt"], :libipopt, "Prefix(/Users/$USER/.julia/packages/Ipopt/5a2PI/deps/usr)") is not satisfied, cannot generate deps.jl!
│ Stacktrace:
│  [1] error(::String) at ./error.jl:33
│  [2] #write_deps_file#152(::Bool, ::Function, ::String, ::Array{Product,1}) at /Users/$USER/.julia/packages/BinaryProvider/1nGWd/src/Products.jl:408
│  [3] write_deps_file(::String, ::Array{Product,1}) at /Users/$USER/.julia/packages/BinaryProvider/1nGWd/src/Products.jl:395
│  [4] top-level scope at /Users/$USER/.julia/packages/Ipopt/5a2PI/deps/build.jl:51
│  [5] include at ./boot.jl:317 [inlined]
│  [6] include_relative(::Module, ::String) at ./loading.jl:1041
│  [7] include(::Module, ::String) at ./sysimg.jl:29
│  [8] include(::String) at ./client.jl:388
│  [9] top-level scope at none:0
│ in expression starting at /Users/$USER/.julia/packages/Ipopt/5a2PI/deps/build.jl:13
[12:32:07] ######################################################################## 100.0%
└ @ Pkg.Operations /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Operations.jl:1069

(v1.0) pkg>

Question 1: What is /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Operations.jl:1069? I don't have a osx user on my machine. Where is this hardcoded message coming from? The Julia base image?

This tar.gz file that is being downloaded in this process is located here.

If I cd into the Ipopt folder and run otool on the libraries, I see the following:

otool -L ~/.julia/packages/Ipopt/5a2PI/deps/usr/lib/libipopt.dylib
/Users/$USER/.julia/packages/Ipopt/5a2PI/deps/usr/lib/libipopt.dylib:
        /workspace/destdir/lib/libipopt.1.dylib (compatibility version 12.0.0, current version 12.8.0)
        @loader_path/libcoinmumps.1.dylib (compatibility version 8.0.0, current version 8.0.0)
        @rpath/libgfortran.4.dylib (compatibility version 5.0.0, current version 5.0.0)
        @rpath/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 1213.0.0)
        /opt/x86_64-apple-darwin14/x86_64-apple-darwin14/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.24.0)

Question 2: Why is there a /opt/x86_64-apple-darwin14/x86_64-apple-darwin14/lib/libstdc++.6.dylib? Shouldn't this also use @rpath? Or at least point to /usr/lib/libc++.1.dylib instead?

This is what happens when I run julia and try to load the library.

               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.0.1 (2018-09-29)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> import Libdl

julia> Libdl.dlopen("./libipopt.dylib")
ERROR: could not load library "./libipopt.dylib"
dlopen(./libipopt.dylib, 1): Library not loaded: /opt/x86_64-apple-darwin14/x86_64-apple-darwin14/lib/libstdc++.6.dylib
  Referenced from: /Users/$USER/.julia/packages/Ipopt/5a2PI/deps/usr/lib/libipopt.1.10.8.dylib
  Reason: image not found
Stacktrace:
 [1] dlopen(::String, ::UInt32) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.0/Libdl/src/Libdl.jl:97 (repeats 2 times)
 [2] top-level scope at none:0

julia>

Any thoughts on how to fix this issue? It appears to work on other colleagues' Mac machines.

kdheepak avatar Oct 16 '18 18:10 kdheepak

More information that doesn't seem to make sense.

This is what happens when I run ipython and try to load the library.

Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 12:04:33)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.5.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import ctypes

In [2]: ctypes.CDLL("./libipopt.dylib")
---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-2-740afbd5e982> in <module>()
----> 1 ctypes.CDLL("./libipopt.dylib")

~/miniconda3/lib/python3.6/ctypes/__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error)
    346
    347         if handle is None:
--> 348             self._handle = _dlopen(self._name, mode)
    349         else:
    350             self._handle = handle

OSError: dlopen(./libipopt.dylib, 6): Library not loaded: @rpath/libgfortran.4.dylib
  Referenced from: /Users/$USER/.julia/packages/Ipopt/5a2PI/deps/usr/lib/libipopt.1.10.8.dylib
  Reason: image not found

In [3]:

Question 3: Why does Python give me a different error?

kdheepak avatar Oct 16 '18 18:10 kdheepak

This is related to https://github.com/JuliaOpt/Ipopt.jl/issues/117

kdheepak avatar Oct 16 '18 18:10 kdheepak

I'm using macOS Sierra 10.12.6.

kdheepak avatar Oct 16 '18 18:10 kdheepak

I also ran the same commands on a colleague's computer, and interestingly there's no issue on that computer when running it in Julia. That is to say, when running dlopen it does not throw an error. And the libc++ path from otool -L ./libipopt.dylib still gives the same result and there's no path that exists like /opt/x86_64-apple-darwin14/x86_64-apple-darwin14/lib/libstdc++.6.dylib on that computer.

So I have no idea why it works on that machine! Or why this ever works on anyone's machine! This should not work, right? I'm now genuinely curious why it works on other people's computers.

Running it in Python still results in the same error that it did for me. Because I think when running it in Julia the dlopen is able to find the libgfortran.dylib from Julia itself (?). So I think question 3 can be ignored, if my understanding is correct.

kdheepak avatar Oct 16 '18 19:10 kdheepak

I don't know why this worked, but I had the following in my ~/.bashrc

export DYLD_FALLBACK_LIBRARY_PATH=/path/to/some/custom/lib

If I run unset DYLD_FALLBACK_LIBRARY_PATH then everything works.

I ran the following command: DYLD_PRINT_LIBRARIES=YES julia-1.0.1

dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/bin/julia
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/bin/../lib/libjulia.dylib
dyld: loaded: /usr/lib/libSystem.B.dylib
dyld: loaded: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
dyld: loaded: /usr/lib/libc++.1.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/lib/julia/libLLVM.dylib
dyld: loaded: /usr/lib/system/libcache.dylib
dyld: loaded: /usr/lib/system/libcommonCrypto.dylib
dyld: loaded: /usr/lib/system/libcompiler_rt.dylib
dyld: loaded: /usr/lib/system/libcopyfile.dylib
dyld: loaded: /usr/lib/system/libcorecrypto.dylib
dyld: loaded: /usr/lib/system/libdispatch.dylib
dyld: loaded: /usr/lib/system/libdyld.dylib
dyld: loaded: /usr/lib/system/libkeymgr.dylib
dyld: loaded: /usr/lib/system/liblaunch.dylib
dyld: loaded: /usr/lib/system/libmacho.dylib
dyld: loaded: /usr/lib/system/libquarantine.dylib
dyld: loaded: /usr/lib/system/libremovefile.dylib
dyld: loaded: /usr/lib/system/libsystem_asl.dylib
dyld: loaded: /usr/lib/system/libsystem_blocks.dylib
dyld: loaded: /usr/lib/system/libsystem_c.dylib
dyld: loaded: /usr/lib/system/libsystem_configuration.dylib
dyld: loaded: /usr/lib/system/libsystem_coreservices.dylib
dyld: loaded: /usr/lib/system/libsystem_coretls.dylib
dyld: loaded: /usr/lib/system/libsystem_dnssd.dylib
dyld: loaded: /usr/lib/system/libsystem_info.dylib
dyld: loaded: /usr/lib/system/libsystem_kernel.dylib
dyld: loaded: /usr/lib/system/libsystem_m.dylib
dyld: loaded: /usr/lib/system/libsystem_malloc.dylib
dyld: loaded: /usr/lib/system/libsystem_network.dylib
dyld: loaded: /usr/lib/system/libsystem_networkextension.dylib
dyld: loaded: /usr/lib/system/libsystem_notify.dylib
dyld: loaded: /usr/lib/system/libsystem_platform.dylib
dyld: loaded: /usr/lib/system/libsystem_pthread.dylib
dyld: loaded: /usr/lib/system/libsystem_sandbox.dylib
dyld: loaded: /usr/lib/system/libsystem_secinit.dylib
dyld: loaded: /usr/lib/system/libsystem_symptoms.dylib
dyld: loaded: /usr/lib/system/libsystem_trace.dylib
dyld: loaded: /usr/lib/system/libunwind.dylib
dyld: loaded: /usr/lib/system/libxpc.dylib
dyld: loaded: /usr/lib/libobjc.A.dylib
dyld: loaded: /usr/lib/libc++abi.dylib
dyld: loaded: /usr/lib/libDiagnosticMessagesClient.dylib
dyld: loaded: /usr/lib/libicucore.A.dylib
dyld: loaded: /usr/lib/libz.1.dylib
dyld: loaded: /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
dyld: loaded: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList
dyld: loaded: /usr/lib/libauto.dylib
dyld: loaded: /usr/lib/libbsm.0.dylib
dyld: loaded: /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
dyld: loaded: /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
dyld: loaded: /System/Library/Frameworks/Security.framework/Versions/A/Security
dyld: loaded: /usr/lib/libsqlite3.dylib
dyld: loaded: /usr/lib/libxml2.2.dylib
dyld: loaded: /usr/lib/libnetwork.dylib
dyld: loaded: /usr/lib/libenergytrace.dylib
dyld: loaded: /usr/lib/system/libkxld.dylib
dyld: loaded: /usr/lib/libpcap.A.dylib
dyld: loaded: /usr/lib/libcoretls.dylib
dyld: loaded: /usr/lib/libcoretls_cfhelpers.dylib
dyld: loaded: /usr/lib/libOpenScriptingUtil.dylib
dyld: loaded: /usr/lib/libpam.2.dylib
dyld: loaded: /usr/lib/libxar.1.dylib
dyld: loaded: /usr/lib/libbz2.1.0.dylib
dyld: loaded: /usr/lib/liblzma.5.dylib
dyld: loaded: /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
dyld: loaded: /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
dyld: loaded: /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
dyld: loaded: /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
dyld: loaded: /System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport
dyld: loaded: /usr/lib/libarchive.2.dylib
dyld: loaded: /usr/lib/liblangid.dylib
dyld: loaded: /usr/lib/libCRFSuite.dylib
dyld: loaded: /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
dyld: loaded: /usr/lib/libmecabra.dylib
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
dyld: loaded: /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
dyld: loaded: /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
dyld: loaded: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
dyld: loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
dyld: loaded: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
dyld: loaded: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
dyld: loaded: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
dyld: loaded: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
dyld: loaded: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
dyld: loaded: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
dyld: loaded: /usr/lib/libcompression.dylib
dyld: loaded: /System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG
dyld: loaded: /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
dyld: loaded: /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
dyld: loaded: /usr/lib/libcups.2.dylib
dyld: loaded: /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
dyld: loaded: /System/Library/Frameworks/GSS.framework/Versions/A/GSS
dyld: loaded: /usr/lib/libresolv.9.dylib
dyld: loaded: /usr/lib/libiconv.2.dylib
dyld: loaded: /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
dyld: loaded: /usr/lib/libheimdal-asn1.dylib
dyld: loaded: /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
dyld: loaded: /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
dyld: loaded: /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
dyld: loaded: /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
dyld: loaded: /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
dyld: loaded: /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
dyld: loaded: /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
dyld: loaded: /usr/lib/libmarisa.dylib
dyld: loaded: /usr/lib/libChineseTokenizer.dylib
dyld: loaded: /usr/lib/libcmph.dylib
dyld: loaded: /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
dyld: loaded: /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji
dyld: loaded: /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
dyld: loaded: /usr/lib/libxslt.1.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/lib/julia/sys.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/bin/../lib/julia/libpcre2-8.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/bin/../lib/julia/libgmp.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/bin/../lib/julia/libmpfr.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/bin/../lib/julia/libdSFMT.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/bin/../lib/julia/libopenblas64_.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/lib/julia/libgfortran.4.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/lib/julia/libquadmath.0.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/lib/julia/libgcc_s.1.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/bin/../lib/julia/libcholmod.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/lib/julia/libcolamd.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/lib/julia/libamd.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/lib/julia/libcamd.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/lib/julia/libccolamd.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/lib/julia/libsuitesparseconfig.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/bin/../lib/julia/libsuitesparse_wrapper.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/lib/julia/libumfpack.dylib
dyld: loaded: /Users/$USER/Applications/Julia-1.0.1.app/Contents/Resources/julia/lib/julia/libspqr.dylib
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.0.1 (2018-09-29)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |


julia> import Libdl

julia> Libdl.dlopen("./libipopt.dylib")
dyld: loaded: ./libipopt.dylib
dyld: loaded: ./libcoinmumps.1.dylib
dyld: loaded: /usr/lib/libstdc++.6.dylib
Ptr{Nothing} @0x00007f8c1c465e60

julia>

It appears that if DYLD_FALLBACK_LIBRARY_PATH is not set, then macOS sets some /usr/lib (and possibly other paths?) as the default fallback for loading dynamic libraries.

I'm going to leave this issue open, if any changes need to be made to the way libraries are being built. If not, we can close this issue.

kdheepak avatar Oct 16 '18 19:10 kdheepak

I had this same issue on MacOS 10.12.6. Having something in DYLD_FALLBACK_LIBRARY_PATH causes a failure during the build of Ipopt, at the part that uses BinaryProvider, exactly the same as quoted in the original entry above. Using DYLD_LIBRARY_PATH instead (for the same purpose) resolved the issue.

jjstickel avatar Nov 07 '18 15:11 jjstickel

I had the same issue on MacOS 10.13.4. Spent 2+ hours and finally resolve it by

delete!(ENV, "DYLD_FALLBACK_LIBRARY_PATH")
Pkg.build("Ipopt")

Hopefully this bug will be fixed at some point.

hondong avatar Jan 17 '19 01:01 hondong