Okay, I've found the problem, but I'm at a loss as to how to fix it. This gets into deep dark arcane magic with libtool and make that I'm not really up on. The final compile line that the make file generates (on my system) is:
gcc -g -O2 -Wall -Wunused -Wall -Wno-unused -Werror-implicit-function-declaration -I/usr/include/pgsql -I/usr/include/pgsql -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/orbit-1.0 -I/usr/include -o .libs/gnucash MultiLedger.o SplitLedger.o EuroUtils.o FileDialog.o gnc-component-manager.o gnc-exp-parser.o gnc-main.o gnc-ui-util.o messages.o -rdynamic -rdynamic -rdynamic -rdynamic -rdynamic register/libgncregister.a register/gnome/libgncregistergnome.a guile/libgncguile.a gnome/libgncgnome.a calculation/libgnccalc.a engine/.libs/libgncengine.so -L/usr/lib -L/usr/X11R6/lib /usr/lib/libguppitank.so /usr/lib/libguppi.so -lzvt -lutil /usr/lib/libbonobo-print.so /usr/lib/libg-wrap-runtime-guile.so /usr/lib/libguile.so /usr/lib/libgtkhtml.so /usr/lib/libbonobo.so /usr/lib/libbonobox.so /usr/lib/libgal.so /usr/lib/libgnomeprint.so /usr/lib/libfreetype.so /usr/lib/libglade-gnome.so /usr/lib/libglade.so /usr/lib/libxml.so -lz /usr/lib/libgdk_pixbuf.so /usr/lib/libgnomecanvaspixbuf.so -lgnomeui -lart_lgpl /usr/lib/libgdk_imlib.so -lSM -lICE -lgnome -lgnomesupport /usr/lib/libesd.so /usr/lib/libaudiofile.so /usr/lib/libgconf-gtk-1.so /usr/lib/libgconf-1.so /usr/lib/liboaf.so -lORBitCosNaming -lORBit -lIIOP -lORBitutil /usr/lib/libgtk.so /usr/lib/libgdk.so /usr/lib/libgmodule.so /usr/lib/libglib.so -ldl -lXi -lXext -lX11 /usr/lib/libghttp.so -ldb1 /usr/lib/libpopt.so -lm I think (but I'm not sure) that this is actually generated by libtool. The problem is that it's missing a reference to gnome/libgncgnome that should be right after the series of -rdynamic statements. If I manually add it and run the new line: gcc -g -O2 -Wall -Wunused -Wall -Wno-unused -Werror-implicit-function-declaration -I/usr/include/pgsql -I/usr/include/pgsql -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/orbit-1.0 -I/usr/include -o .libs/gnucash MultiLedger.o SplitLedger.o EuroUtils.o FileDialog.o gnc-component-manager.o gnc-exp-parser.o gnc-main.o gnc-ui-util.o messages.o -rdynamic -rdynamic -rdynamic -rdynamic -rdynamic gnome/libgncgnome.a register/libgncregister.a register/gnome/libgncregistergnome.a guile/libgncguile.a gnome/libgncgnome.a calculation/libgnccalc.a engine/.libs/libgncengine.so -L/usr/lib -L/usr/X11R6/lib /usr/lib/libguppitank.so /usr/lib/libguppi.so -lzvt -lutil /usr/lib/libbonobo-print.so /usr/lib/libg-wrap-runtime-guile.so /usr/lib/libguile.so /usr/lib/libgtkhtml.so /usr/lib/libbonobo.so /usr/lib/libbonobox.so /usr/lib/libgal.so /usr/lib/libgnomeprint.so /usr/lib/libfreetype.so /usr/lib/libglade-gnome.so /usr/lib/libglade.so /usr/lib/libxml.so -lz /usr/lib/libgdk_pixbuf.so /usr/lib/libgnomecanvaspixbuf.so -lgnomeui -lart_lgpl /usr/lib/libgdk_imlib.so -lSM -lICE -lgnome -lgnomesupport /usr/lib/libesd.so /usr/lib/libaudiofile.so /usr/lib/libgconf-gtk-1.so /usr/lib/libgconf-1.so /usr/lib/liboaf.so -lORBitCosNaming -lORBit -lIIOP -lORBitutil /usr/lib/libgtk.so /usr/lib/libgdk.so /usr/lib/libgmodule.so /usr/lib/libglib.so -ldl -lXi -lXext -lX11 /usr/lib/libghttp.so -ldb1 /usr/lib/libpopt.so -lm it happily links and compiles. I've tried hacking the makefile, and I can't figure out what I need to do to make it stick the "gnome/libgncgnome" in. If I stick in an arbitrary text string it makes it in there, and of course I get an error because the file doesn't exist. If I stick in "gnome/libgncgnome" it seems to get eaten -- by libtool? Any pointers would be appreciated. At least things are compiling once again, albeit inconveniently. --On Friday, March 29, 2002 12:13:53 PM -0500 "Michael T. Garrison Stuber" <[EMAIL PROTECTED]> wrote: > Greetings! > > Like an idiot I went ahead and upgraded my desktop to Mandrake 8.2. I > am now getting a linking error when I try to build GNUCash. The error is > identical to one reported under Debian Woody back in January. When the > make scripts go to link up the GNUCash executable GCC spits out: > > gnome/libgncgnome.a(dialog-totd.o): In function > `gnc_ui_totd_dialog_create': > /usr/gnucash/gnucash-1.6/src/gnome/dialog-totd.c:110: undefined reference > to `gnc_get_current_tip' > > plus twelve other "undefined reference" errors. All of the undefined > references seem to be in guile/libgncguile.a, which is happily referenced > in the link line. I've tried playing with different make settings. I've > rebuilt from a clean sync from CVS. I'm going out of my skull here. > Help! > > -- > Michael T. Garrison Stuber > _______________________________________________ > gnucash-devel mailing list > [EMAIL PROTECTED] > http://www.gnucash.org/cgi-bin/mailman/listinfo/gnucash-devel _______________________________________________ gnucash-devel mailing list [EMAIL PROTECTED] http://www.gnucash.org/cgi-bin/mailman/listinfo/gnucash-devel