Bug 611936 and the 2.4.0 release

Geert Janssens janssens-geert at telenet.be
Thu Aug 12 07:55:40 EDT 2010

On Thursday 12 August 2010, Mike Evans wrote:
> On Wednesday August 11 2010 22:17:24 Geert Janssens wrote:
> > I just finished building GC trunk on Fedora 13, 32-bit.
> >
> > Like for Alex, F13 gives me libdbi-dbd-sqlite-0.8.3-5.fc12.i686, although
> > for me it's the 32bit version. With this setup, the bug is still present
> > on my system.
> >
> > I'll dig a bit further later.
> >
> > Geert
> Fedora12
> Ran yum remove libdbi to get rid of all relevant  libs in /usr/lib/...
> Obtained libdbi-0.8.3-3.fc12.src.rpm and
>  libdbi-drivers-0.8.3-5.fc12.src.rpm Extracted both using  rpmbuild
>  --rebuild --nodeps  libdbi...
> Build both using ./configure --disable-docs and make clean;make
> Result:  No numerical data in transactions.
> Build again using make clean;make debug;
> Result:  All data present and correct.
> There are obviously differences in the CFLAGS per build and source, from
> configure.in,
> Fedora:
> DEBUG="-g -Wall -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char -std=gnu99"
> CFLAGS="-ffast-math -D_REENTRANT -fsigned-char -std=gnu99 $RPM_OPT_FLAGS"
> PROFILE="-pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char -std=gnu99";;
> libdbi source:
> DEBUG="-g -Wall -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char -std=gnu99"
> CFLAGS="-O20 -ffast-math -D_REENTRANT -fsigned-char -std=gnu99"
> PROFILE="-pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char -std=gnu99";;
> MikeE

Thanks for the additional tests. Just to be sure I draw proper conclusions 
from them:
* The tests you did on Tuesday 10, did you start from the libdbi source 
tarballs from the libdbi website ? And with normal make, it fails while with 
make debug it works ?
* Today's test, you start from the SRPM for both tests ? Or was only the 
failing one using the SRPM sources.

Adding to your tests, I also started from the libdbi source rpms on F13. I 
extracted the rpms using rpm -ivh and then built the packages with
rpmbuild -ba <spec-file>
where <spec-file> can be the spec file for libdbi and libdbi-drivers

I did this two times:
1. with the unmodified spec files
2. with the spec files modified to run make debug instead of make (to 
reproduce your tests).

Case 1 results in the same rpms as you can install directly from the F13 
repositories and fail to show amounts.

After installing the case 2 rpms, the values and amounts pop up. So this seems 
to confirm your tests.

Additionally, this test suggests that the problem is not in the code patch 
Fedora adds. So I come to your conclusion as well that it should have 
something to do with the CFLAGS. With "make debug" the CFLAGS are set to the 
value of the DEBUG parameter, being
"-g -Wall -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char -std=gnu99"
This set of CFLAGS seems to work.

However from your first test with the original libdbi sources we can conclude 
that dbi's default set of CFLAGS is not good, at least not on Fedora.

The only (relevant) differences I see are
-ffast-math vs -D__NO_MATH_INLINES
-O20 vs nothing.

Anyway, I think it's safe to assume the bug is not in GnuCash indeed, so we 
don't have to block our release on it.


More information about the gnucash-devel mailing list