CLFFT.jl
CLFFT.jl copied to clipboard
Cannot build on Ubuntu 14.04
julia> Pkg.build("CLFFT")
INFO: Building CLFFT
================================================================[ ERROR: CLFFT ]===============================================================
LoadError: None of the selected providers can install dependency libCLFFT.
Use BinDeps.debug(package_name) to see available providers
while loading /home/luyao/.julia/v0.5/CLFFT/deps/build.jl, in expression starting on line 40
===============================================================================================================================================
================================================================[ BUILD ERRORS ]===============================================================
WARNING: CLFFT had build errors.
- packages with build errors remain installed in /home/luyao/.julia/v0.5
- build the package(s) and all dependencies with `Pkg.build("CLFFT")`
- build a single package by running its `deps/build.jl` script
===============================================================================================================================================
```
Can you give your versioninfo()
? And are you by any chance on 32bit?
julia> versioninfo()
Julia Version 0.5.2
Commit f4c6c9d (2017-05-06 16:34 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz
WORD_SIZE: 64
BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
LAPACK: libopenblas64_
LIBM: libopenlibm
LLVM: libLLVM-3.7.1 (ORCJIT, haswell)
Ubuntu 14.04 is quite old, not sure it provides libCLFFT at all. Can you run the following from the command line?
sudo apt-get install libclfft-dev
@dfdx
E: Unable to locate package libclfft-dev
Maybe I have to manually download the binary. It'll be better if this can be handled in the build process of this package.
Can you please modify this block from deps/build.jl
:
if is_linux()
provides(AptGet, "libclfft-dev", libCLFFT)
if Sys.ARCH == :x86_64
uri = URI(baseurl * "Linux-x64.tar.gz")
basedir = joinpath(@__DIR__, "clFFT-$(version)-Linux-x64")
provides(
Binaries, uri,
libCLFFT, unpacked_dir = basedir,
installed_libpath = joinpath(basedir, "bin"), os = :Linux
)
end
end
to looks like this:
if is_linux()
# provides(AptGet, "libclfft-dev", libCLFFT) -- commented out
if Sys.ARCH == :x86_64
uri = URI(baseurl * "Linux-x64.tar.gz")
basedir = joinpath(@__DIR__, "clFFT-$(version)-Linux-x64")
provides(
Binaries, uri,
libCLFFT, unpacked_dir = basedir,
installed_libpath = joinpath(basedir, "bin"), os = :Linux
)
else
error("Architecture $(Sys.ARCH) is not supported")
end
end
and post the output?
Is @__DIR__
a julia 0.5 macro?
It's in Compat
, so it should work fine on Julia 0.5. Please checkout master branch before testing or modifying anything.
julia> Pkg.build("CLFFT")
INFO: Building CLFFT
================================================================[ ERROR: CLFFT ]================================================================
LoadError: None of the selected providers can install dependency libCLFFT.
Use BinDeps.debug(package_name) to see available providers
while loading /home/luyao/.julia/v0.5/CLFFT/deps/build.jl, in expression starting on line 47
================================================================================================================================================
================================================================[ BUILD ERRORS ]================================================================
WARNING: CLFFT had build errors.
- packages with build errors remain installed in /home/luyao/.julia/v0.5
- build the package(s) and all dependencies with `Pkg.build("CLFFT")`
- build a single package by running its `deps/build.jl` script
================================================================================================================================================