[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libdb ??



A program (viewmol) I'm trying to package has some problems finding some db
library. It doesn't specify this library explicitly, the makefile just says

viewmol_: $(OBJ) ; cc -o viewmol $(LDFLAGS) $(OBJ) $(LIBRARY) $(LIBS) 

LIBS is not defined in the makefile, it just has the default values for make.
When make is run, this line gets translated to:

cc -o viewmol  annotate.o [..snip..] zoom.o -L/usr/lib/python1.5/config
-L/usr/local/lib -lpython1.5 -ltiff -lGLU -lGL -L/usr/X11R6/lib -lXm -lXp
-lXi -lXext -lXt -lX11 -lpthread -ldb -lutil -ldl -lm

and then the following error appears:

/usr/bin/ld: cannot find -ldb
collect2: ld returned 1 exit status
make[1]: *** [viewmol_] Error 1

Now /usr/lib has a libdb1.so and a libdb2.so, but no libdb.so.  There is,
however, a libdb.so in /lib (/lib/libdb-2.2.2.so to be precise). libdb1 and libdb are both provided by
libc6[-dev]. If I make a symlink at /usr/lib/libdb.so to this library file
in /lib, then compilation is successful and the program runs fine.

But I shouldn't have to make my own symlinks like that.  I could put /lib
into /etc/ld.so.config, but is that really the "correct" solution?  That
won't work for general Debian building of the package.

Is the absence of libdb.so in /usr/lib a bug in libc6-dev?

What is the proper way to solve this question?

Drew

-- 
PGP public key available at http://dparsons.webjump.com/drewskey.txt
Fingerprint: A110 EAE1 D7D2 8076 5FE0  EC0A B6CE 7041 6412 4E4A



Reply to: