Hi, I am trying to install c library using BinDeps. But I am getting error: 
ERROR: LoadError: Could not load library triangle. Try running Pkg.build() 
to install missing dependencies!

I followed its github manual:

*Directory structure:*

deps/
  build.jl
  builds/     
    Makefile
    src/        
      triangle.c
      triangle.h
    usr/
      lib/
src/
 test.jl

*The Makefile content:*

SRC = ./../src/
LIB = ./../usr/lib/
BUILD = ./
CC = gcc
CSWITCHES = -O -DLINUX -DANSI_DECLARATORS -fpic
TRILIBDEFS = -DTRILIBRARY

all: $(LIB)triangle.so

$(LIB)triangle.so: $(BUILD)triangle.o
        $(CC) -shared -o $@ $^

$(BUILD)triangle.o: $(SRC)triangle.c $(SRC)triangle.h
        $(CC) $(CSWITCHES) $(TRILIBDEFS) -o $@ -c $(SRC)triangle.c

clean:
        rm -rf $(BUILD)triangle.o 


*build.jl content:*

using BinDeps

@BinDeps.setup
    triangle = library_dependency("triangle", aliases = ["triangle.so"])
    prefix = joinpath(BinDeps.depsdir(triangle), "usr")
    triangle_build = joinpath(BinDeps.depsdir(triangle), "builds")
    provides(SimpleBuild,
       (@build_steps begin
            ChangeDirectory(triangle_build)
             FileRule(joinpath(prefix, "lib", "triangle.so"),
                (@build_steps begin
                    `make`
                    `make clean`
                end))
        end), triangle)
@BinDeps.install

*test.jl content:*

using BinDeps
@BinDeps.load_dependencies

Did anyone have this problem? Basically the make command puts triangle.so 
to the lib folder. But it seems, that julia cant find it.
Thanks for your advices. Martin

Reply via email to