sowson/darknet

Cannot compile libdarknet.so

rcastill opened this issue · 4 comments

When using makefile:

make -j8
...
make: *** No rule to make target 'obj/gaussian_yolo4_layer.o', needed by 'libdarknet.so'.  Stop.

Fails as well with cmake build:

make[2]: *** No rule to make target '/opt/AMDAPPSDK-3.0/lib/x86_64/libOpenCL.so', needed by 'liblibdarknet.so'.  Stop

try

git pull && make -j8

is ok now?

Almost:

It fixed that error, and this one appeared:

/usr/bin/ld: /usr/local/lib/libOpenCL.a(libopencl.c.o): undefined reference to symbol 'dlclose@@GLIBC_2.2.5'

I tried changing:

ifeq ($(ARM), 1)
LDFLAGS= -lm -lpthread
else
LDFLAGS= -lm -lz -lpthread
endif

to

ifeq ($(ARM), 1)
LDFLAGS= -ldl -lm -lpthread
else
LDFLAGS= -ldl -lm -lz -lpthread
endif

but it didn't work.

The solution was to add -ldl after -lOpenCL (in my case, for GPU=1 AMD=1):

LDFLAGS+= -L/usr/lib/x86_64-linux-gnu/ -lOpenCL -ldl -lclBLAS -L/usr/local/lib

Thanks to find a solution!