On 10/17/2017 18:04, Piotr Kubaj via freebsd-ports wrote:
Hi all,
I am preparing a new port. However, I hit an assertion fail when
starting the binary. The developer is willing to help me, provided that
I send him backtrace and values from the structure that hits assertion
failure.
Thing is, recompiling with WITH_DEBUG doesn't help (I only get memory
addresses in gdb), nor does -DCMAKE_BUILD_TYPE=Debug to CMAKE_ARGS (the
port uses CMake).
What should I do to get necessary date?
You should add "WITH_DEBUG=yes" in your make.conf file, then recompile
any port in which you need debugging symbols. It will automatically
disable optimizations, add -g to CFLAGS and add many other common knobs
for any port. Most ports needing special care to get debugging binaries
have extra directives in their Makefiles, enabled by that same flag.
Be aware that compiling a debugging version requires more memory than a
normal version, for big ports it could get REALLY big. I was not able to
compile a debugging version of llvm40 with 16 GiB RAM (one poudriere
jail using make jobs, maybe without parallelization it could be done).
If you're using poudriere to build a whole set of ports you could use
something like this (verbatim from my machine):
WITH_DEBUG= yes
.if ${.CURDIR:M*lang/ruby*} || ${.CURDIR:M*devel/llvm*} ||
${.CURDIR:M*lang/gcc*} || ${.CURDIR:M*devel/gdb*} ||
${.CURDIR:M*www/webkit*}
.undef WITH_DEBUG
.endif
(obviously I'm not debugging any of those which are quite memory hungry
when building debugging versions, but I'm debugging other things
depending on them)
Hope this helps.
--
Guido Falsi <m...@madpilot.net>
_______________________________________________
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"