Error When Attempting to Use portmanager

Gerard Seibert gerard-seibert at rcn.com
Thu Aug 26 02:45:07 PDT 2004


On Thursday, August 26, 2004 4:45:00 AM Matthew Seaman <m.seaman at infracaninophile.co.uk> wrote:

|>On Wed, Aug 25, 2004 at 06:30:17PM -0400, Gerard Seibert wrote:
|>
|>> OK, I am not that knowledgable about compiling programs, etc. Exactly how
|>> do I recompile with ("-g" flag on cc). Does this cause it to get a
|>> backtrace? If not, then how do I go about it?
|>
|>To compile a program from ports with '-g' you should be able to use
|>the CFLAGS make variable from /etc/make.conf (ideally, you should be
|>able to override it from the environment or the command line and avoid
|>having to fiddle with that file at all, but YMMV).  Taking portmanager as the
|>example:
|>
|>    # cd /usr/ports/sysutils/portmanager
|>    # make clean
|>    # make CFLAGS='-g -O' all
|>
|>This will leave you with a copy of the portmanager executable in
|>
|>    ${WRKDIRPREFIX}/sysutils/portmanager/work/portmanager-0.2.0/portmanager
|>
|>(${WRKDIRPREFIX} will be /usr/ports, unless you've deliberately changed it)
|>
|>    % file portmanager 
|>    portmanager: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 4.9.1, dynamically linked (uses shared libs), not stripped
|>
|>That 'not stripped' part is important: it means that this copy of the
|>executable contains all of the debug symbols the '-g' puts in.
|>However, if you go ahead and install the port, all of those symbols
|>will be stripped out -- debug symbols generally take up a huge amount
|>of space, and that's a waste unless you are actually debugging things.
|>
|>All is not lost though: go ahead and install the portmanager port, and
|>do whatever it was that you did which caused it to dump core.  Do
|>*not* run 'make clean' in the port directory.
|>
|>You should have a file portmanager.core To obtain a stack trace with
|>useful information, run:
|>
|>    # gdb ${WRKDIRPREFIX}/sysutils/portmanager/work/portmanager-0.2.0/portmanager/portmanager -c portmanager.core
|>
|>(ie. tell gdb to use the unstripped copy of the program, and match it
|>against the core dump.)
|>
|>Then when it has loaded all of the symbols etc., type:
|>
|>    > where
|>
|>Cut'n'paste that output into your e-mail report to the developers, but
|>make sure you keep the corefile and the unstripped version of
|>portmanager to hand, as you may well be asked to run some other gdb(1)
|>commands to extract further information.
|>
|>	Cheers,
|>
|>	Matthew
|>
|>
|>
|>-- 
|>Dr Matthew J Seaman MA, D.Phil.                       26 The Paddocks
|>                                                      Savill Way
|>PGP: http://www.infracaninophile.co.uk/pgpkey         Marlow
|>Tel: +44 1628 476614                                  Bucks., SL7 1TH UK


********** Reply Separator **********
Thursday, August 26, 2004 5:43:00 AM

Thanks for you reply. I will try it this evening.

It is amassing what I learn just reading this mail forum.



More information about the freebsd-questions mailing list