On Wed, Nov 8, 2017, at 11:00 PM, John Ralls wrote: > > >> 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> >>>> 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> 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> 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.d- >>>>>>>>> ylib \>>>>>>>>> >>>>>>>>> /Applications/Gnucash.app/Contents/Resources/lib/dbd/libdbd- >>>>>>>>> pgsql.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/libdbdpgs- >>>>>>>> ql.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/libdbdpgsq- >>>>>>> l.so>>>>>>> ^C >>>>>>> >>>>>>> ~ $ otool -L >>>>>>> /Applications/Gnucash.app/Contents/Resources/lib/dbd/libdbdpgsq- >>>>>>> l.so>>>>>>> >>>>>>> /Applications/Gnucash.app/Contents/Resources/lib/dbd/libdbdpgsq- >>>>>>> l.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.s- >>>> o[1]: 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/libdbdpgsq- >>> l.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/Develope- >> r/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/lib/l- >> ibpq.tbd[2], missing required architecture i386 in file /Application- >> s/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/S- >> DKs/MacOSX10.13.sdk/usr/lib/libpq.tbd[3]>> 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 >
Hi John, Using this .modules file: https://github.com/Gnucash/gnucash-on-osx/blob/master/modulesets/gnucash.modules It was not clear which module would satisfy the missing i386 libraries, so I tried meta-gtk-osx-core, as that "sounded" right (LoL). That did not work (`jhbuild build meta-gtk-osx-core`), ultimately failing with the error: "Neither GTK+-2.0 nor GTK+-3.0 was found" Before I go down the path of trying 2.7.1 -- would you clarify more specifically what's meant by "there's a module for it in gnucash-on- osx/modules, so just build it"? Thanks! Ed Links: 1. http://gnucash.app/Contents/Resources/lib/dbd/libdbdpgsql.so 2. http://xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/lib/libpq.tbd 3. http://xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/lib/libpq.tbd _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel