problem with GCC search path on FreeBSD5.3 AMD64

Ted Mittelstaedt tedm at
Sat Feb 19 08:06:23 GMT 2005

> -----Original Message-----
> From: owner-freebsd-questions at
> [mailto:owner-freebsd-questions at]On Behalf Of Kris Kennaway
> Sent: Tuesday, February 15, 2005 1:31 PM
> To: Maicon Stihler
> Cc: freebsd-questions at; Ted Mittelstaedt
> Subject: Re: problem with GCC search path on FreeBSD5.3 AMD64
> On Tue, Feb 15, 2005 at 03:55:00PM -0300, Maicon Stihler wrote:
> > > this isn't a gcc problem.
> > Hm, maybe I used the wrong terms to define the situation. I 
> agree that
> > its not gcc's fault, its some kind of (mis)configuration issue.
> Didn't you ask this question a few weeks ago?  I certainly answered it
> then.
> > > ldconfig
> > 
> > I used ldconfig to generete te hints file, and then when I do a
> > "ldconfig -r" all the libs I need appears there... the strange thing
> > is that if I try to include them in my own programs it doesnt work.
> ldconfig is for the runtime linker, it's not used by gcc when linking
> object files.
> > Im using the CFLAGS="-B /usr/local/lib -L/usr/local/include" as a
> > workaround, but im searching for a more elegant way to solve this
> > issue.
> Those flags look completely wrong.  You want "-L /usr/local/lib -I
> /usr/local/include" - either in CFLAGS, or otherwise passed into your
> gcc commandline.
> This is the correct way to address the issue.

Kris, a lot of systems don't like the spaces, the more portable way
to set those flags should be:

"-L/usr/local/lib -I/usr/local/include"

And this only sets it up for linking the binary, not runtime linking.
He still needs to specify either "-R/usr/local/lib" to the linker
(ld,) to get a binary that finds it's libraries, or use one of
the other tricks (ldconfig, softlinks, etc.)

gcc -B/usr/local/lib  as near as I can tell makes gcc look for the
linker in /usr/local/lib which as you observe is completely wrong.


More information about the freebsd-questions mailing list