Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BinDeps.jl does not find a package provided by conda-forge #338

Open
Alexander-Barth opened this issue Nov 21, 2017 · 1 comment
Open

BinDeps.jl does not find a package provided by conda-forge #338

Alexander-Barth opened this issue Nov 21, 2017 · 1 comment

Comments

@Alexander-Barth
Copy link

I have the following build.jl script which installs udunits2.

using BinDeps
using Conda


@BinDeps.setup
libudunits2 = library_dependency("libudunits2", aliases = ["udunits2","udunits"])

Conda.add_channel("conda-forge")
provides(Conda.Manager, "udunits2", libudunits2)
provides(AptGet, "libudunits2-dev", libudunits2, os = :Linux)
provides(Yum, "udunits2-devel", libudunits2, os = :Linux)

@BinDeps.install Dict(:libudunits2 => :libudunits2)

However, on windows, I get the following error:

[...]
The following packages will be SUPERSEDED by a higher-priority channel:
   conda:     4.3.30-py27h55876ee_0             --> 4.3.29-py27_0 conda-forge
   conda-env: 2.6.0-h36134e3_1                  --> 2.6.0-0       conda-forge
   openssl:   1.0.2m-h05bc326_1                 --> 1.0.2l-vc9_0  conda-forge [vc9]
   yaml:      0.1.7-h00170ee_2                  --> 0.1.6-vc9_0   conda-forge [vc9]
conda-env-2.6. 100% |###############################| Time: 0:00:00   0.00  B/s
openssl-1.0.2l 100% |###############################| Time: 0:00:00   5.26 MB/s
yaml-0.1.6-vc9 100% |###############################| Time: 0:00:00   0.00  B/s
expat-2.2.1-vc 100% |###############################| Time: 0:00:00   0.00  B/s
udunits2-2.2.2 100% |###############################| Time: 0:00:00   0.00  B/s
conda-4.3.29-p 100% |###############################| Time: 0:00:00  17.04 MB/s
===============================[ ERROR: UDUnits ]===============================
LoadError: Provider BinDeps.PackageManager failed to satisfy dependency libudunits2
while loading C:\Users\appveyor\.julia\v0.6\UDUnits\deps\build.jl, in expression starting on line 13

(full appveyor build log is here
https://ci.appveyor.com/project/Alexander-Barth/udunits-jl/build/job/oixfj4pyxa7vtlva)

On a Windows 10 laptop, I get the same error message. In Julia's conda folder I actually see a library udunits2.dll, but somehow this library is not found by BinDeps. BinDeps.debug("UDUnits") gives this:

INFO: Reading build script...
Warning: 'conda-forge' already in 'channels' list, moving to the top
The package declares 1 dependencies.
 - Library "libudunits2"
    - Providers:
      - Conda packages: udunits2
      - BinDeps.AptGet package libudunits2-dev (can't provide)
      - BinDeps.Yum package udunits2-devel (can't provide)

I use Julia 0.6.1, BinDeps 0.7.0 and Conda 0.7.0. No deps.jl file is generated. The Linux (using apt-get) and Mac (using conda too) build work fine.

@evetion
Copy link

evetion commented Mar 22, 2018

Try to load the udunits2.dll as an absolute path with Libdl.dlopen(full_path). If that fails it will give a more sensible error message.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants