On Thu, Nov 18, 2010 at 1:29 PM, Donald Allen <donaldcal...@gmail.com>wrote:
> > > On Thu, Nov 18, 2010 at 12:53 PM, Donald Allen <donaldcal...@gmail.com>wrote: > >> >> >> On Thu, Nov 18, 2010 at 10:22 AM, John Ralls <jra...@ceridwen.us> wrote: >> >>> >>> On Nov 18, 2010, at 6:23 AM, Donald Allen wrote: >>> >>> > I've just obtained 2.3.16 via svn to try to test the fix to a postgres >>> issue >>> > John Ralls, Geert, and I have been discussing. I ran autogen.sh, >>> configure, >>> > make -j 3, make install and gnucash will not run, probably an oversight >>> on >>> > my part. The error I get is >>> > >>> > d...@octavian:~/Software/Gnucash/gnucash$ export >>> > LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib/gnucash >>> > d...@octavian:~/Software/Gnucash/gnucash$ gnucash >>> > gnucash: symbol lookup error: >>> /usr/local/lib/gnucash/libgncmod-app-utils.so: >>> > undefined symbol: guid_g_hash_table_equal >>> > >>> > That function appears to be defined in src/libqof/qof/guid.c and I >>> verified >>> > that that file got compiled. I also looked at >>> /usr/local/lib/libgnc-qof.so >>> > with nm and guid_g_hash_table_equal is defined in that library. That's >>> as >>> > far as I've gotten. Any idea what's going on here? >>> >>> Do `ldd /usr/local/lib/gnucash/libgncmod-app-utils.so` and make sure that >>> libgnc-qof.so is in the list. >>> >> >> d...@octavian:~$ ldd /usr/local/lib/gnucash/libgncmod-app-utils.so | fgrep >> libgnc-qof >> libgnc-qof.so.1 => /usr/lib64/libgnc-qof.so.1 (0x00007ffbc0dcd000) >> d...@octavian:~$ find /usr/local -name libgnc-qof.so.1 -print >> /usr/local/lib/libgnc-qof.so.1 >> d...@octavian:~$ nm /usr/local/lib/libgnc-qof.so.1 | fgrep >> guid_g_hash_table_equal >> 0000000000014510 T guid_g_hash_table_equal >> d...@octavian:~$ >> > > I have a guess about what's going on here. I'm not sure what the output of > ldd is saying (the ld man page is amazingly unhelpful, a reminder of the bad > old 4.1BSD days on overloaded Vax 780s, where we joked "it was hard to > build, it ought to be hard to use"), but I'm guessing that it's saying that > the dynamic loading of libgnc-qof.so.1 is going to come from > /usr/lib64/libgnc-qof.so.1, which is there courtesy the Slackware 2.2.9 > package that is installed. If I'm right, that's the wrong version of that > library. I suspect that having 2.2.9 installed has confused things. Does > this sound plausible or am I tilting at windmills? If I'm right, then I > should remove the 2.2.9 package and re-link? > I'm not sure if the above analysis is quite right (I suspect that it was crucial to have set LD_LIBRARY_PATH to point to /usr/local/lib:/usr/local/gnucash before doing the ldd and I'm not sure I did, but it's moot now; read on), but it was close enough. I removed the 2.2.9 package and uninstalled the svn head that I compiled earlier and started over with a make clean. It runs now. /Don > > /Don > > >>> Regards, >>> John Ralls >>> >>> >> > _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel