Problems linking to libdb3++
Hi,
I'm about to sponsor a program which uses libdb3++. I have to admit that
I do not know anything about libdb3 and just try to foreward a problem which
occures only on my box - not at the box from the maintainer. I just reduced
the problem to a minimum. The configure script generated a C++ file which looks
like this:
#include <db_cxx.h>
int
main ()
{
int major, minor, patch_level; DbEnv::version(&major, &minor, &patch_level);
;
return 0;
}
This is compiled with the command
g++ -o conftest -g -O2 conftest.cc -ldb3_cxx
The output on my side is:
In file included from /usr/include/c++/3.3/backward/iostream.h:31,
from /usr/include/db_cxx.h:52,
from configure:2975:
/usr/include/c++/3.3/backward/backward_warning.h:32:2: Warnung: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
I wanted to show this here to ask for opinions whether this is a bug in the
libdb3++-dev header files. I regard it not to be related to the problem but
I think we should fix this anyway. Should I file a wishlist bug report here?
So I continue with the real problem which is better visible with the command line
switch mentioned above:
~> g++ -Wno-deprecated -o conftest -g -O2 conftest.cc -ldb3_cxx
g++ -Wno-deprecated -o conftest -g -O2 conftest.cc -ldb3_cxx
/tmp/cc1tyWas.o(.text+0x17): In function `main':
/tmp/conftest.cc:6: undefined reference to `DbEnv::version(int*, int*, int*)'
collect2: ld returned 1 exit status
As I sais I have no idea what might went wrong here. I tried this with g++-2.95,
g++-3.2 and g++-3.3 und er testing and unstable systems. I always got this strange
message and I hope anybody could give me a hint which might solve the trouble.
Kind regards
Andreas.
Reply to: