linking .a lib with another library

pluknet pluknet at gmail.com
Thu Feb 5 03:01:42 PST 2009


Hi.

The problem is:

I have a program which is statically linked to my static lib during a build.
The lib is in turn uses kvm*() calls, hence it should be linked with libkvm.

During the build of my binaries which are linked to my libucron.a I
get the following:

/usr/home/pluknet/svn/ucron/ksucron/crond/../lib/libucron.a(misc.o)(.text+0x6e):
In function `check_pidfile':
: undefined reference to `kvm_open'
/usr/home/pluknet/svn/ucron/ksucron/crond/../lib/libucron.a(misc.o)(.text+0x8b):
In function `check_pidfile':
: undefined reference to `kvm_getprocs'
/usr/home/pluknet/svn/ucron/ksucron/crond/../lib/libucron.a(misc.o)(.text+0xbe):
In function `check_pidfile':
: undefined reference to `kvm_getprocs'
/usr/home/pluknet/svn/ucron/ksucron/crond/../lib/libucron.a(misc.o)(.text+0x106):
In function `check_pidfile':
: undefined reference to `kvm_close'
*** Error code 1

Ok, if I add SHLIB_MAJOR directive in lib/Makefile (or remove any kvm*
references) then all is ok.
But the lib is used to be static. So the question is can I somehow
link two .a libraries?
e.g. libkvm.a + libucron.a + my binaries.

Thanks.

-- 
wbr,
pluknet


More information about the freebsd-hackers mailing list