Autotools, libraries and man pages: oh my!

Polytropon freebsd at edvax.de
Fri Nov 2 09:49:16 UTC 2012


On Thu, 01 Nov 2012 22:01:16 -0700, James Colannino wrote:
> On 11/01/12 21:44, James Colannino wrote:
> > [...]I'm able to use autotools on FreeBSD to
> > generate configure and Makefile.in, and can use gmake to compile and
> > install it.
> >
> > Unfortunately, the man pages are installed to /usr/local/share/man
> > instead of to /usr/local/man, which I thought the tools would've taken
> > care of.  Also, even though I see my library was successfully compiled
> > and installed to /usr/local/lib, when I try to compile a program with
> > gcc source.c -ldstring, I get:
> >
> > /usr/bin/ld: cannot find -ldstring
> 
> Update: I can compile against my dstring library by using the following
> line:
> gcc source.c -L/usr/local/lib -ldstring.  I guess it didn't know to
> search /usr/local/lib.  Still having trouble figuring out how to install
> the man pages properly, though :(

The easiest way to do it is to have a look at the porter's
handbook (part of the FreeBSD documentation) and use the
predefined target locations for the generated components.

http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/

However, I always thought /usr/local/lib would be one of
the default search paths for ld, so -l<library> for any
library residing there should be fine - except of course
you override default options of cc...

For your project, you could create a Makefile containing
the required CFLAGS and LDFLAGS, define a rule for building
the target and then just use "make".




-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...


More information about the freebsd-questions mailing list