(Posted earlier in IRC, but I'm told this is considerably more active.)
So in the recent past (a few weeks ago), on 0.2 on Ubuntu trusty, I could
pre-install the binary dependencies of ICU, HttpParser, Nettle, ZMQ, etc.
and the Julia package install would proceed smoothly without trying to
download the deps I already had. Now when I try to add the same packages,
an attempt is made to download and build those dependencies, even though I
already have them. This is a major pain, especially when trying to use
these packages in a minimal environment (no build tools, for example). Any
ideas what changed, and if this behaviour is intentional. I see a lot of
activity in the BinDeps repo, but I can't interpret what might be the
relevant change. If I roll back METADATA.jl a couple of weeks (to
6058d11), things "work" (no attempts to build and install already-present
binary deps.
Any ideas?
Old:
dev@3e9693d449ff:~$ rm -rf .julia
dev@3e9693d449ff:~$ julia -e 'Pkg.init()'
INFO: Initializing package repository /home/dev/.julia/v0.2
INFO: Cloning METADATA from git://github.com/JuliaLang/METADATA.jl
dev@3e9693d449ff:~$ cd /home/dev/.julia/v0.2/METADATA/
dev@3e9693d449ff:~/.julia/v0.2/METADATA$ git reset --hard 6058d11
HEAD is now at 6058d11 Merge branch 'metadata-v2' of
git://github.com/JuliaLang/METADATA.jl into metadata-v2
dev@3e9693d449ff:~/.julia/v0.2/METADATA$ cd
dev@3e9693d449ff:~$ sudo apt-get -q install -y libicu52
Reading package lists...
Building dependency tree...
Reading state information...
libicu52 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
dev@3e9693d449ff:~$ julia -e 'Pkg.add("ICU")'
INFO: Cloning cache of BinDeps from
git://github.com/JuliaLang/BinDeps.jl.git
INFO: Cloning cache of ICU from git://github.com/nolta/ICU.jl.git
INFO: Cloning cache of URIParser from git://github.com/Keno/URIParser.jl.git
INFO: Cloning cache of UTF16 from git://github.com/nolta/UTF16.jl.git
INFO: Installing BinDeps v0.2.14
INFO: Installing ICU v0.0.4
INFO: Installing URIParser v0.0.2
INFO: Installing UTF16 v0.2.0
INFO: Building ICU
INFO: REQUIRE updated.
New:
dev@3e9693d449ff:~$ rm -rf .julia
dev@3e9693d449ff:~$ julia -e 'Pkg.init()'
INFO: Initializing package repository /home/dev/.julia/v0.2
INFO: Cloning METADATA from git://github.com/JuliaLang/METADATA.jl
dev@3e9693d449ff:~$ sudo apt-get -q install -y libicu52
Reading package lists...
Building dependency tree...
Reading state information...
libicu52 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
dev@3e9693d449ff:~$ julia -e 'Pkg.add("ICU")'
INFO: Cloning cache of BinDeps from
git://github.com/JuliaLang/BinDeps.jl.git
INFO: Cloning cache of ICU from git://github.com/nolta/ICU.jl.git
INFO: Cloning cache of SHA from git://github.com/staticfloat/SHA.jl.git
INFO: Cloning cache of URIParser from git://github.com/Keno/URIParser.jl.git
INFO: Cloning cache of UTF16 from git://github.com/nolta/UTF16.jl.git
INFO: Installing BinDeps v0.3.2
INFO: Installing ICU v0.0.4
INFO: Installing SHA v0.0.2
INFO: Installing URIParser v0.0.2
INFO: Installing UTF16 v0.2.0
INFO: Building ICU
=================================[ ERROR: ICU
]=================================
None of the selected providers can install dependency icu.
Use BinDeps.debug(package_name) to see available providers
at /home/dev/.julia/v0.2/ICU/deps/build.jl:28
================================================================================
================================[ BUILD ERRORS
]================================
WARNING: ICU had build errors.
- packages with build errors remain installed in /home/dev/.julia/v0.2
- build a package and all its dependencies with `Pkg.build(pkg)`
- build a single package by running its `deps/build.jl` script
================================================================================
INFO: REQUIRE updated.