wildart/FLANN.jl

Windows support

paulanalyst opened this issue · 9 comments

What wrong ? _
_ _ ()_ | A fresh approach to technical computing
() | () () | Documentation: http://docs.julialang.org
_ _ | | __ _ | Type "help()" for help.
| | | | | | |/ ` | |
| | |
| | | | (
| | | Version 0.3.3 (2014-11-23 20:19 UTC)
/ |'||_|'_| | Official http://julialang.org/ release
_/ | x86_64-w64-mingw32

julia> Pkg.clone("https://github.com/wildart/FLANN.jl.git")
INFO: Cloning FLANN from https://github.com/wildart/FLANN.jl.git
INFO: Computing changes...
INFO: Installing Distance v0.5.0
INFO: Package database updated

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

None of the selected providers can install dependency libflann.
Use BinDeps.debug(package_name) to see available providers

while loading C:\Users\SAMSUNG2.julia\v0.3\FLANN\deps\build.jl, in expression starting on line

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

WARNING: FLANN had build errors.

  • packages with build errors remain installed in C:\Users\SAMSUNG2.julia\v0.3
  • build a package and all its dependencies with Pkg.build(pkg)
  • build a single package by running its deps/build.jl script

julia> Pkg.add("Distance")
INFO: No packages to install, update or remove
INFO: Package database updated

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

None of the selected providers can install dependency libflann.
Use BinDeps.debug(package_name) to see available providers

while loading C:\Users\SAMSUNG2.julia\v0.3\FLANN\deps\build.jl, in expression starting on line 32

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

WARNING: FLANN had build errors.

  • packages with build errors remain installed in C:\Users\SAMSUNG2.julia\v0.3
  • build a package and all its dependencies with Pkg.build(pkg)
  • build a single package by running its deps/build.jl script

...julia> BinDeps.debug("FLANN")
INFO: Reading build script...
The package declares 1 dependencies.

  • Library "libflann"
    • Providers:
      • AptGet package libflann1.8 (can't provide)
      • Yum package flann-1.8.4-2 (can't provide)
      • Simple Build Process (can't provide)
        Paul

Sorry, but there is no Windows support yet. Any help is appreciated in fixing BinDeps Windows DLL building provider.

@wildart I am facing the same problem. Can you tell me how to fix this? Unfortunately I am new to BinDeps and don't know how to proceed.

@schmrlng You fixed build.jl for OS X. Can you help me here?

Checkout master and build the package. It should work.

Pkg.checkout("FLANN")
Pkg.build("FLANN")
julia> Pkg.checkout("FLANN")
INFO: Checking out FLANN master...
INFO: Pulling FLANN latest master...
INFO: No packages to install, update or remove

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

LoadError: None of the selected providers can install dependency libflann.
Use BinDeps.debug(package_name) to see available providers

while loading C:\Users\Tejus\.julia\v0.5\FLANN\deps\build.jl, in expression starting on line 37

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

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

WARNING: FLANN had build errors.

 - packages with build errors remain installed in C:\Users\Tejus\.julia\v0.5
 - build the package(s) and all dependencies with `Pkg.build("FLANN")`
 - build a single package by running its `deps/build.jl` script

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

@wildart I am still facing the error.

It looks like you're using Windows @tejus-gupta; unfortunately I don't have any experience with BinDeps on Windows but you might look at something like this for ideas: https://github.com/JuliaDiffEq/Sundials.jl/blob/master/deps/build.jl#L21. If you can somehow compile FLANN on Windows yourself, then mimicking the code in that build file should help you point FLANN.jl towards the compiled library.

@tejus-gupta I added support for Windows with precompiled binaries. Try to checkout latest master, and build package.

Pkg.checkout("FLANN")
Pkg.build("FLANN")
Pkg.test("FLANN")

Thanks. It works now 😄. I wanted to use FLANN.jl here - JuliaImages/ImageFeatures.jl#33. Can you also add support for 32 bit windows?

Short answer: No. I don't have time and an environment for win32 testing. I'll add my win64 building scripts to repo later so you'll be able to reconfigure them. I do not see much sense in supporting win32.