The default Makefile of Darknet is looking for the libcuda.so in the wrong folder. Here are the fix for most common Darknet versions:

pjreddie/darknet (official) -> Fix the Makefile with code below:

ifeq ($(GPU), 1) 
COMMON+= -DGPU -I/usr/local/cuda/include/
CFLAGS+= -DGPU
LDFLAGS+= -L/usr/local/nvidia/lib64 -lcuda # The fix.
LDFLAGS+= -L/usr/local/cuda/lib64 -lcudart -lcublas -lcurand
endif


AlexeyAB/darknet (famous and well adopted fork) -> Fix the Makefile with code below:

ifeq ($(GPU), 1)
COMMON+= -DGPU -I/usr/local/cuda/include/
CFLAGS+= -DGPU
ifeq ($(OS),Darwin) #MAC
LDFLAGS+= -L/usr/local/cuda/lib -lcuda -lcudart -lcublas -lcurand
else
LDFLAGS+= -L/usr/local/nvidia/lib64 -lcuda # The fix.
LDFLAGS+= -L/usr/local/cuda/lib64 -lcudart -lcublas -lcurand
endif
endif

Did this answer your question?