struggles building 1.78 on NetBSD (link path, intl problems)

Greg Troxel gdt at ir.bbn.com
Mon Jan 27 10:09:03 CST 2003


I got 1.7.8 to build on NetBSD (i386, 1.6), and had a few problems.

I started out with guile 1.6.0 in /usr/quist, and planned to build
g-wrap and gnucash into /usr/y0.   I had gnome/etc. in the usual
place for NetBSD pkgsrc, some /usr/X11R6 and some /usr/pkg.
I had guile 1.4.1 in /usr/pkgsrc as well.

1) Until I did --disable-nls, I was having conflicts between NetBSD's
   builtin libintl and gettext 0.10.35 in /usr/pkg in terms of which
   header file and then which library got linked.  I gave up and did
   --disable-nls.

2) With --disable-nls, in src/gnome-utils/gnc-menu-extensions.c,
   dgettext is used.  src/engine/messages.h defines gettext and
   ngettext, but not dgettext.

3) After the above, plus or minus other minor stuff, I got everything
   to build (i.e., 'gmake' ran to completion).  When starting gnucash,
   I had problems linking gw-gnc.  It turns out I had managed to link
   with the wrong guile.  I rebuilt g-wrap.

4) Due to the above dynamic linking problems, I upgraded guile 1.6 to
   1.6.1.  I'm not sure if this was necessary, but I know 1.6.1 has
   some dynlinking/libltdl fixes.

5) gnucash still would not start, failing to link gw-gnc.  The error
   messages (this is guile/libtool's fault) are not helpful - if the
   requested libary can be found but a dependency fails the
   problematic lib is not identified.  After much reading of ktrace
   output, I discovered that there were no .so versions of a number of
   libs, only .a versions.

   It seems that libtool doesn't build the .so if a dependent library
   cannot be found, and prints a warning, but doesn't consider this
   fatal.  The patches below add ${GNOME_LIBDIR} to a number of
   libraries; the problem is theat GNOME_LIBS and GNOMEUI_LIBS don't
   include the -L lines.

   It would be nice to be able to tell libtool to return an error
   rather than a warning if it can't build shlibs.  This would have
   located the leaf-node failure that caused all the rest of the
   failures to make .so versions, and would be consistent with the
   -Werror strategy (that found the gettext problems at compile
   time).
 

After all this, I was able to look at data I had saved from 1.6.8, and
assign a few txns from Expense:unspecified to particular categories,
and run a few reports.

        Greg Troxel <gdt at ir.bbn.com>

It may be that GNOME_LIBDIR belongs on LIBADD, or rather that may be
consistent with the use of variables that have both -L and -l.
Alternatively, it may be that GNOME_LIBS should include GNOME_LIBDIR
as well.

Index: src/business/business-gnome/Makefile.am
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-gnome/Makefile.am,v
retrieving revision 1.31
diff -u -r1.31 Makefile.am
--- src/business/business-gnome/Makefile.am	20 Jan 2003 17:09:32 -0000	1.31
+++ src/business/business-gnome/Makefile.am	27 Jan 2003 13:32:50 -0000
@@ -58,7 +58,7 @@
   search-owner.h \
   gw-business-gnome.h
 
-libgncmod_business_gnome_la_LDFLAGS = -module
+libgncmod_business_gnome_la_LDFLAGS = -module ${GNOME_LIBDIR}
 
 libgncmod_business_gnome_la_LIBADD = \
   ${top_builddir}/src/business/business-core/libgncmod-business-core.la \
Index: src/register/register-gnome/Makefile.am
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/register/register-gnome/Makefile.am,v
retrieving revision 1.16
diff -u -r1.16 Makefile.am
--- src/register/register-gnome/Makefile.am	8 Dec 2002 22:25:40 -0000	1.16
+++ src/register/register-gnome/Makefile.am	27 Jan 2003 13:33:00 -0000
@@ -2,7 +2,7 @@
 
 pkglib_LTLIBRARIES = libgncmod-register-gnome.la
 
-libgncmod_register_gnome_la_LDFLAGS = -module 
+libgncmod_register_gnome_la_LDFLAGS = -module ${GNOME_LIBDIR}
 libgncmod_register_gnome_la_LIBADD = \
   ${top_builddir}/src/register/register-core/libgncmod-register-core.la \
   ${top_builddir}/src/gnc-module/libgncmodule.la \


More information about the gnucash-devel mailing list