How to build program with debug symbols

Gabor Kovesdan gabor at
Thu Feb 22 21:46:04 UTC 2007

Giorgos Keramidas schrieb:
> On 2007-02-22 16:03, Gerard <gerard at> wrote:
>> FreeBSD-6.2
>> I need to know how to build a program with debugging symbols. The
>> problem I am having is that claws-mail-2.7.2 continually crashes but
>> does not display any debug symbols. I talked with the claws-mail
>> people, and they advised me to build a version with debug symbols
>> since the output I supplied them was useless without it. Their
>> suggestion was that I build from a tarball and use the proper ‘config’
>> flags to get debug symbols included in the program. The problem is
>> that I would rather not mess with that scenario, but rather use the
>> port version instead. The port version does have an option to build a
>> debug version, but apparently, the symbols are stripped out when the
>> program is installed.
>> The port maintainer suggested that I use this is the Makefile:
>> 	"STRIP= #empty"
>> However, he is not even sure if it will work. I just want to find out
>> what the best way to go about this is so that I can get this problem
>> resolved.
> I think it's much better to avoid tweaking ${STRIP} and set DEBUG_FLAGS
> instead.  You have to make sure that at least the claws-mail-2.7.2 port
> is *rebuilt* from source.  The following should work fine:
>     # cd /usr/ports/mail/claws-mail
>     # make deinstall
>     # env DEBUG_FLAGS='-ggdb' make install
> The STRIP variable is explicitly set to an empty value when DEBUG_FLAGS
> is defined, so you get both a debugging *and* non-stripped binary by
> setting DEBUG_FLAGS.

Or you can just define the newly introduced WITH_DEBUG macro, which will 
does the trick for you:

make -DWITH_DEBUG install

Still, you can customize the DEBUG_FLAGS to set which flags you want to 
add. Besides, the flags that can do harm (-O[123s] and such) will be 
stripped out from CFLAGS.


More information about the freebsd-questions mailing list