Missing glib/gobject when compiling

Edward Bridges ebridges at eqbridges.com
Mon Nov 6 21:27:33 EST 2017


On Mon, Nov 6, 2017, at 08:40 PM, Edward Bridges wrote:
> 
> On Sun, Nov 5, 2017, at 10:39 PM, John Ralls wrote:
> > 
> > 
> > > On Nov 5, 2017, at 6:07 PM, Edward Bridges <ebridges at eqbridges.com> wrote:
> > > 
> > > I've built libdbdpgsql.so using jhbuild build libdbi-drivers, then run:
> > > 
> > > cp gnucash-stable/lib/dbd/libdbdpgsql.so \
> > >    /Applications/Gnucash.app/Contents/Resources/lib/dbd
> > > 
> > > 
> > > install_name_tool -change gnucash-stable/lib/libdbi.1.dylib \
> > >    /Applications/Gnucash.app/Contents/Resources/lib/libdbi.1.dylib \
> > >    /Applications/Gnucash.app/Contents/Resources/lib/dbd/libdbdpgsql.so
> > > 
> > > I'm assuming that, then, when I start up Gnucash (v2.6.15) I would have
> > > the
> > > option to "Save As..." to a Postgresql database option under "Data
> > > Format"
> > > but it's not appearing, and am not seeing any logs under Console.
> > > 
> > > Thanks for your quick response earlier.  Am I missing a step somewhere
> > > here?
> > 
> > I think you also need the pgsql client dylib in the bundle and it would
> > be better to use @executable_path/../Resources/lib/libdbi.1.dylib rather
> > than /Applications/Gnucash.app/Contents as that will allow you to move
> > the bundle.
> > 
> > Use `otool -L
> > /Applications/Gnucash.app/Contents/Resources/lib/dbd/libdbdpgsql.so` to
> > make sure that your install_name_tool invocation did what you want. I’m
> > suspicious of the relative path in your install_name_tool invocation.
> > 
> > Console doesn’t catch stderr anymore and hasn’t since Lion (10.7). You
> > can check the trace file (`sudo find /var/private/Temp -name
> > gnucash.trace` to get the path) but link errors might not get into there
> > either, so best to run GnuCash from a Terminal session:
> > /Applications/Gnucash.app/Contents/MacOS/Gnucash
> > so the stderr output goes where you can see it.
> > 
> > Regards,
> > John Ralls
> 
> Hi John --
> 
> Thanks for your help on this.  
> 
> When I run according to your instructions I get a brief error message
> that libdbi is unable to load the driver -- and it still is not working
> (see below).  I could not find a gnucash.trace file under /var as well.
> 
> ```
> ~ $ /Applications/Gnucash.app/Contents/MacOS/Gnucash
> Application Path /Applications/Gnucash.app/Contents/MacOS/Gnucash-bin
> 
> (process:4934): gnc.gui-WARNING **: [mac_set_languages()] Language list:
> en:en_US:C
> (null)
> libdbi: Failed to load driver:
> /Applications/Gnucash.app/Contents/Resources/lib/dbd/libdbdpgsql.so
> ^C
> 
> ~ $ otool -L
> /Applications/Gnucash.app/Contents/Resources/lib/dbd/libdbdpgsql.so
> /Applications/Gnucash.app/Contents/Resources/lib/dbd/libdbdpgsql.so:
> 	/Users/gnucash/gnucash-stable/lib/libpq.5.dylib (compatibility
> 	version 5.0.0, current version 5.9.0)
> 	/Users/gnucash/gnucash-stable/lib/libdbi.1.dylib (compatibility
> 	version 3.0.0, current version 3.0.0)
> 	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
> 	version 1252.0.0)
> ```
> 
> Cheers, 
> Ed

Just noticed that `otool` is reporting that `libdbdpgsql.so` under 
/Applications/Guncash.app is depending on `libdbi` and `libpq` 
that live under the `gnucash` user home directory (i.e. that were built
along with libdbdpgsql.

That may explain the failure to load the shared library (as the user I
ran
Gnucash as does not have access to the gnucash user home directory).

However, I tried running it as root as well, and still get the same
error
message.

Cheers,
Ed


More information about the gnucash-devel mailing list