Build problem: linking against convenience libs

From: Daniel Macks <dmacks_at_netspace.org>
Date: Mon, 27 Aug 2007 20:59:21 -0400

genius-0.7.7 builds some static convenience libraries that are linked
by the various genius binaries. For example, it builds
ve/libviscious.a and then genius is linked with -L$(top_builddir)/ve
-lviscious. Unfortunately, I have an unrelated libviscious on my
system in a location whose -L is passed before this local one, so the
linker resolves "-lviscious" to be the wrong library file. Since you
know the actual path to the actual library file you know you want,
much safer to specify an explicit path to the .a instead of relying on
-L and -l flags. That is, in the various Makefile.am, replace:

  -LFOO -lBAR

with

  FOO/libBAR.a

As a bonus, I think this will give more reliable dependency tracking
by 'make' (binaries will depend on the lib files).

dan

-- 
Daniel Macks
dmacks_at_netspace.org
http://www.netspace.org/~dmacks
Received on Mon Aug 27 2007 - 18:33:17 CDT

This archive was generated by hypermail 2.2.0 : Sun Apr 17 2011 - 21:00:02 CDT