Subject: Re: gnucash issues
To: None <tech-pkg@netbsd.org>
From: Martin J. Laubach <mjl@netbsd.org>
List: tech-pkg
Date: 02/07/2004 20:25:18
| Yes they do come from gnucash, they appear to be generated though due to
| a lack of symbols in binaries IE this is something to do with the
| linker/libtool options we use.
In fact it has to do with ld.so and devel/glib. Here's what I just
appended to PR/21452.
mjl
--- snip ---
From: "Martin J. Laubach" <mjl@emsi.priv.at>
To: gnats-bugs@gnats.netbsd.org
Subject: Re: pkg/21452
I think I tracked it down and as a result have now a gnucash that
doesn't complain about not finding callbacks and has working buttons.
To make a long story short, it seems our ld.so does not work quite
the way the linux version does (see for example the "kgsrc/mail/evolution
1.2.x -> 1.4.x upgrade time" thread on tech-pkg from january 2004) in
that it does not search the "right" modules when given RTLD_GLOBAL.
The problem actually is in devel/glib, not in gnucash. Our glib
package has indeed a patch-ag that is supposed to fix the problem
under FreeBSD, but it has two problems: (a) the fix is under #ifdef
__FreeBSD__, and (b) it won't work for non-current because it uses
RTLD_DEFAULT which our ld.so only has grown recently.
So my ugly fix includes:
* Build a -current ld.so_elf and install it on your 1.6 system.
* Also install /usr/include/dlfcn.h
* Modify patch-ag for devel/glib to also apply to NetBSD (I just
removed the not-relevant part, but that's lazyness).
* Rebuild devel/glib and install it (make replace is fine).
That's it.
Regards,
mjl