builworld fails if debugging enabled in usr.sbin/pkg_install/lib

Conrad J. Sabatier conrads at cox.net
Thu Aug 12 16:07:00 PDT 2004


On 12-Aug-2004 Ruslan Ermilov wrote:
> On Thu, Aug 12, 2004 at 02:58:23PM -0500, Conrad J. Sabatier wrote:
>> 
>> I have the following in /etc/make.conf:
>> 
>> .if defined(DEBUG)
>> CFLAGS+=-g
>> .endif
>> 
>> And then use "make -DDEBUG buildworld".
>> 
> I suspected something like this. 
> src/usr.sbin/pkg_install/*/Makefile's added the contents of the
> DEBUG variable to CFLAGS.  By passing the -DDEBUG to make(1), you
> effectively set the value of the DEBUG variable to 1 (see the make(1)
> manpage), so "1" was added to CFLAGS.
> 
> I've "fixed" these makefiles to not add DEBUG to CFLAGS.  Note that
> the name DEBUG is unsafe to use anyway.  Also, there's an
> alternative and standard way to recompile your programs and libraries
> with -g: there's the DEBUG_FLAGS variable, so you could as well do it
> like this:
> 
>       make buildworld DEBUG_FLAGS=-g
> 
> Passing DEBUG_FLAGS=-g to ``make installworld'' will also cause the
> binaries to *not* be stripped when installing, which is essential
> for having the debugger symbols in binaries.  Please consider
> switching to this method of building world with debug infomation.

Ah, great!  I never knew about this before.  Thanks!

-- 
Conrad J. Sabatier <conrads at cox.net> -- "In Unix veritas"


More information about the freebsd-current mailing list