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