trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: August 2013

Re: [trinity-devel] tdelibs FTBFS

From: Slávek Banko <slavek.banko@...>
Date: Sat, 17 Aug 2013 01:31:47 +0200
On Friday 16 of August 2013 20:15:31 Fat-Zer wrote:
> 2013/8/16 Slávek Banko <slavek.banko@...>
>
> > Dne pá 16. srpna 2013 Fat-Zer napsal(a):
> > > 2013/8/16 Darrell Anderson <darrella@...>
> > >
> > > > >> Here is propoused patch which checks if demangle.h is present.
> > > > >
> > > > >Darrell, I have demangle.h on my system, so it's up to you to test
> > > > >it.
> > > >
> > > > Actually anybody can test --- just temporarily rename or move
> > > > /usr/include/demangle.h. :-)
> > >
> > > The previous patch makes turning on the debug quite tricky, so better
> > > to remove the ifdef's with NDEBUG in backtrace_symbols.c.
> > >
> > > I've tested the build both with and without demangle.h and seems
> > > everything is ok. so retest
> >
> > It was necessary to add a condition for linking with BFD.
> > Updated patch attached. Please test it.
> >
> > Slavek
> > --
>
> Sorry, I'm a little confused, so, slackware doesn't have libbfq at all or
> just demangle.h is missing?
> If the matter is about linking than IMHO the solution with conditional
> user-defined option is better.
>
> Anyway in a day or two I'll came with a normal patch to move all that to
> kdebug.cpp and provide WITH_LIBBFD for optional linkage... + some
> additional backtrace features.

When there is no demangle.h => not used full backtrace => is unnecessary 
linking libbfd. On Debian / Ubuntu is demangle.h along with libbfd.so 
contained in the package binutils-dev. If binutils-dev is not installed, 
demangle.h is not present and also not be linking to libbfd. Therefore, this 
condition is necessary.

Add WITH_LIBBFD choice is in my opinion nonsense. In this case, it makes more 
sense to me to add choice WITH_TDEIOSLAVE_BACKTRACE or generally 
WITH_BACKTRACE_HANDLER.

Therefore I propose to use either:

1) automatic enabling backtrace handler by HAVE_BACKTRACE and HAVE_DEMANGLE_H 
=> patch from  http://trinity-devel.pearsoncomputing.net/?0::11361

2) add choise WITH_TDEIOSLAVE_BACKTRACE (or WITH_BACKTRACE_HANDLER) to enable 
backtrace handler => patch from 
http://trinity-devel.pearsoncomputing.net/?0::11354

Because, unlike WITH_KDESKTOP_LOCK_BACKTRACE, in this case it was a temporary 
solution for debugging, I personally prefer the first option.

What is your opinion?

Slavek