> On Nov 8, 2017, at 6:57 PM, Edward Bridges <ebrid...@eqbridges.com> wrote: > > On Wed, Nov 8, 2017, at 09:59 AM, John Ralls wrote: >> >> >>> On Nov 7, 2017, at 8:42 PM, Edward Bridges <ebrid...@eqbridges.com >>> <mailto:ebrid...@eqbridges.com>> wrote: >>> >>> On Tue, Nov 7, 2017, at 10:26 AM, John Ralls wrote: >>>> >>>> >>>>> On Nov 6, 2017, at 6:27 PM, Edward Bridges <ebrid...@eqbridges.com >>>>> <mailto:ebrid...@eqbridges.com>> wrote: >>>>> >>>>> 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 <ebrid...@eqbridges.com >>>>>>>> <mailto:ebrid...@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. >>>> >>>> >>>> What does `file >>>> /Applications/Gnucash.app/Contents/Resources/lib/dbd/libdbdpgsql.so` >>>> return? >>>> >>>> Regards, >>>> John Ralls >>>> >>> >>> It returns: >>> >>> /Applications/Gnucash.app/Contents/Resources/lib/dbd/libdbdpgsql.so >>> <http://gnucash.app/Contents/Resources/lib/dbd/libdbdpgsql.so>: Mach-O >>> 64-bit bundle x86_64 >> >> That’s the problem: Everything else is 32-bit. Change the setup_sdk() call >> in ~/.jhbuildrc-custom to >> setup_sdk(architectures=[‘i386’]) >> and rebuild everything. >> >> Another issue: Be sure to run >> install_name_tool -change /Users/gnucash/gnucash-stable/lib/libdbi.1.dylib >> \ >> @executable_path/../Resources/lib/libdbi.1.dylib \ >> /Applications/Gnucash.app/Contents/Resources/lib/dbd/libdbdpgsql.so >> >> (That’s all one command, note the ‘\’ at the end of the first two lines) so >> that GnuCash and libdbdpgsql are using the same instance of the library; >> weird memory errors are likely if they don’t. >> >> Regards, >> John Ralls > > It appears that I don't have i386 MacOS development libraries installed on my > x86_64 system: > > ld: warning: ignoring file > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/lib/libpq.tbd > > <http://xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/lib/libpq.tbd>, > missing required architecture i386 in file > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/lib/libpq.tbd > > <http://xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/lib/libpq.tbd> > Undefined symbols for architecture i386: > . > . > . > ld: symbol(s) not found for architecture i386 > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > > Is that something that's readily available for download somewhere?
No, but there’s a module for it in gnucash-on-osx/modules, so just build it. Or try out 2.7.1 which is 64-bit and already has libdbd-pgsql in the bundle… but try it on a copy as it’s not even beta yet. Regards, John Ralls _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel