guid_g_hash_table_equal

Donald Allen donaldcallen at gmail.com
Thu Nov 18 13:29:23 EST 2010


On Thu, Nov 18, 2010 at 12:53 PM, Donald Allen <donaldcallen at gmail.com>wrote:

>
>
> On Thu, Nov 18, 2010 at 10:22 AM, John Ralls <jralls at 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
>> >
>> > dca at octavian:~/Software/Gnucash/gnucash$ export
>> > LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib/gnucash
>> > dca at 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.
>>
>
> dca at octavian:~$ ldd /usr/local/lib/gnucash/libgncmod-app-utils.so | fgrep
> libgnc-qof
>         libgnc-qof.so.1 => /usr/lib64/libgnc-qof.so.1 (0x00007ffbc0dcd000)
> dca at octavian:~$ find /usr/local -name libgnc-qof.so.1 -print
> /usr/local/lib/libgnc-qof.so.1
> dca at octavian:~$ nm /usr/local/lib/libgnc-qof.so.1 | fgrep
> guid_g_hash_table_equal
> 0000000000014510 T guid_g_hash_table_equal
> dca at 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?

/Don


>> Regards,
>> John Ralls
>>
>>
>


More information about the gnucash-devel mailing list