Quote:
Originally Posted by Funkygoby
...can I use a .core file produced by a binary without debug symbols ?
|
I don't know. I don't recall ever trying. Normally, if I want symbols I also want a module that is not optimized.
Quote:
...How to make a binary with debug symbols.
|
It depends on the compiler, usually -g (and -O0) are added to CFLAGS or CXXFLAGS. I usually do this by copying Makefile to makefile, then editing the makefile, as make(1) will ignore Makefile if makefile exists. But this is for debugging only. If I need to edit the port to correct a problem after debugging, I rm(1) my temporary debugging makefile and make myedits to the Makefile, as I need to produce a useful diff(1) against the CVS repository to post a patch.
Quote:
... I am sure /usr/local/bin/thunar binary will be replaced ?
|
Only if you make install. You can make fake, which is a pre-packaging step used with every port. It install the port into a private directory structure. See THE FAKE FRAMEWORK in bsd.ports.mk(5).
Quote:
By the way, thunar seems to be a shared library.
|
looking at its PLIST, it includes shared libraries. That seems reasonable, as there are 4 thunar applications in the x11/xfce4 branch of the ports tree.
Quote:
5. How to properly clean the ports tree ?
|
Building a port makes no changes within a port's "leaf" of the tree. There are directory structures used to build the port's package or packages. The upstream distribution source is fetched to the $DISTDIR structure, extracted, built, and readied for packaging in the $WRKDIR structure. There are additional registrations, such as the contents of the packing list ("plist") and in a bulk build, there are bulk-build cookies and log/status files. Any build dependencies that were not already installed will be built or fetched, depending on $FETCH_PACKAGES and whether the $PKG_PATH contains a correct, installable version of the necessary dependency. For x11/xfce4/thunar, by default $DISTDIR and $WRKDIR are /usr/ports/distfiles and
/usr/ports/pobj/thunar-1.6.12 at 6.2-release, or /usr/ports/pobj/thunar-1.6.14 at -current.
Your "clean" example both removed too much and too little. You don't need to delete the package from your system -- unless you install it, which you state you do not want to do. And your clean skipped the plist registration (in /usr/ports/plist).
A terrific resource for port testing and debugging is the Port Testing Guide, a chapter in the Porter's Handbook.
http://www.openbsd.org/faq/ports/testing.html