I thought it was built automagically but it's an optional dependency. With 
libdbi-modules config line failing to build if all there clients aren't present 
that's not right. I've pushed a commit that makes them hard dependencies.

Regards,
John Ralls


> On Mar 5, 2020, at 12:25 PM, Jean Laroche <rip...@gmail.com> wrote:
> 
> I am now running into this (again):
> You asked me if I told jhbuild to skip mysql, and the answer is no.
> Where is the library linked by -lmysqlclient to be found, normally?
> Jean
> 
> *** Building libdbi-drivers *** [54/71]
> make -j 9
> make  all-recursive
> make[1]: Entering directory 
> '/Users/gnucash/gnucash-stable/build/libdbi-drivers-0.9.0'
> Making all in drivers
> make[2]: Entering directory 
> '/Users/gnucash/gnucash-stable/build/libdbi-drivers-0.9.0/drivers'
> Making all in mysql
> make[3]: Entering directory 
> '/Users/gnucash/gnucash-stable/build/libdbi-drivers-0.9.0/drivers/mysql'
> /bin/sh ../../libtool  --tag=CC   --mode=link 
> /Applications/Xcode.app/Contents/Developer/usr/bin/gcc  -std=gnu99 -arch 
> x86_64 
> -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include
>  -isysroot 
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
>  -mmacosx-version-min=10.13 -module -avoid-version 
> -L/Users/gnucash/gnucash-stable/lib -lmysqlclient -no-undefined -ldbi 
> -L/Users/gnucash/gnucash-stable/lib -L/Users/gnucash/gnucash-stable/lib 
> -L/Users/gnucash/gnucash-stable/lib -arch x86_64 
> -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/lib
>  -isysroot 
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
>  -mmacosx-version-min=10.13 -Wl,-headerpad_max_install_names -o 
> libdbdmysql.la -rpath /Users/gnucash/gnucash-stable/lib/dbd dbd_mysql.lo
> libtool: link: /Applications/Xcode.app/Contents/Developer/usr/bin/gcc -o 
> .libs/libdbdmysql.so -bundle  .libs/dbd_mysql.o 
> -L/Users/gnucash/gnucash-stable/lib -lmysqlclient -ldbi 
> -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/lib
>   -arch x86_64 -isysroot 
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
>  -mmacosx-version-min=10.13 -arch x86_64 -isysroot 
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
>  -mmacosx-version-min=10.13 -Wl,-headerpad_max_install_names
> ld: library not found for -lmysqlclient
> clang: error: linker command failed with exit code 1 (use -v to see 
> invocation)
> make[3]: *** [Makefile:479: libdbdmysql.la] Error 1
> make[3]: Leaving directory 
> '/Users/gnucash/gnucash-stable/build/libdbi-drivers-0.9.0/drivers/mysql'
> make[2]: *** [Makefile:403: all-recursive] Error 1
> make[2]: Leaving directory 
> '/Users/gnucash/gnucash-stable/build/libdbi-drivers-0.9.0/drivers'
> make[1]: *** [Makefile:454: all-recursive] Error 1
> make[1]: Leaving directory 
> '/Users/gnucash/gnucash-stable/build/libdbi-drivers-0.9.0'
> make: *** [Makefile:384: all] Error 2
> *** Error during phase build of libdbi-drivers: ########## Error running make 
> -j 9  *** [54/71]
> 
> 
> 
> On 3/5/20 11:54 AM, John Ralls wrote:
>> That's because its-tool looks for python and python-config instead of 
>> python3 and python3-config so it finds the virtenv python and of course 
>> libxml2.py isn't installed there. As I said I usually drop to the shell and 
>> create those symlinks then re-run itstool's configure. Your fix installed it 
>> in the virtenv instead and that's fine for GnuCash.
>> Regards,
>> John Ralls
>>> On Mar 5, 2020, at 11:42 AM, Jean Laroche <rip...@gmail.com> wrote:
>>> 
>>> No worries. I fixed the issue manually with the help of others.
>>> 
>>> In jhbuild build, I ran into the libxml2 issue despite the facts that links 
>>> to python3 and python3-config were present in $PREFIX/bin.
>>> 
>>> To fix this, I Dropped to shell, did pip3.6 install libxml2-python3, 
>>> returned to build and pressed [1]. That worked.
>>> The build is continuing, will keep you posted.
>>> 
>>> Jean
>>> 
>>> On 3/5/20 11:29 AM, John Ralls wrote:
>>>> Sorry, I pushed a change I shouldn't have. It's fixed and pushed now.
>>>> 
>>>> Details: There are two include lines in gnucash.modules, one for including 
>>>> the gtk-osx modules from gitlab.gnome.org, the other for including them 
>>>> from my local working repository for when I need to test in GnuCash a 
>>>> change in a module that builds from gtk-osx (I maintain both along with 
>>>> the Quartz backend in Gtk). The local one should be commented out and the 
>>>> gitlab one active, but I'd reversed it to test something and forgot to 
>>>> change it back before my last push.
>>>> 
>>>> Regards,
>>>> John Ralls
>>>> 
>>>>> On Mar 4, 2020, at 9:29 PM, Roger Moore <rip...@gmail.com> wrote:
>>>>> 
>>>>> mmm I'm running into a new problem now, which I really don't understand...
>>>>> 
>>>>> Teds-iMac:~ gnucash$ jhbuild build
>>>>> Loading .env environment variables…
>>>>> jhbuild build: failed to parse 
>>>>> /Users/gnucash/Source/jhbuild/modulesets/file:/Users/john/Development/GTK-OSX/gtk-osx-build/modulesets-stable/gtk-osx.modules:
>>>>>  [Errno 2] No such file or directory: 
>>>>> u'/Users/gnucash/Source/jhbuild/modulesets/file:/Users/john/Development/GTK-OSX/gtk-osx-build/modulesets-stable/gtk-osx.modules'
>>>>> 
>>>>> Where does this /Users/john path comes from?
>>>>> I didn't change anything to my setup, came back 5 days later, and I'm 
>>>>> getting this error now... Does jhbuild run git in the background?
>>>>> 
>>>>> Any idea what I should do now?
>>>>> Jean
>>>>> On Wed, Mar 4, 2020 at 8:11 PM jean laroche <rip...@gmail.com> wrote:
>>>>> Thanks John,
>>>>> Of course, I know it's never a good option to press [3] and skip, but
>>>>> this way you could see all errors that weren't caused by previous errors.
>>>>> 
>>>>>  > Did you tell jhbuild to skip mysql?
>>>>> No, I don't even know how to do that! :)
>>>>> 
>>>>>> You have a bad boost download so you'll have to delete the downloaded 
>>>>>> file and try again.
>>>>> OK.
>>>>> I'm going to try your recommendations and report.
>>>>> Thanks!
>>>>> Jean
>>>>> 
>>>>> On 2/29/2020 12:42 PM, John Ralls wrote:
>>>>>> Skipping the itstool module caused the gtk-doc failure, and skipping 
>>>>>> that caused the gtk+ failure, and so on. When a build fails you have to 
>>>>>> fix it, so don't *ever* use [3] give up on module.
>>>>>> 
>>>>>> The itstool failure itself is because python3 when built from scratch 
>>>>>> doesn't create a python or python-config symlink so itstool looks in the 
>>>>>> wrong place for the the python libxml2 module. I usually drop to the 
>>>>>> shell (option 4 on the jhbuild failure menu) cd to $PREFIX/bin, create 
>>>>>> the two symlinks, exit the shell and pick [1] from the menu to try again.
>>>>>> 
>>>>>> For xmlsec use either [2] ignore and continue to build or [6] wipe 
>>>>>> directory and start over.
>>>>>> 
>>>>>> Did you tell jhbuild to skip mysql?
>>>>>> 
>>>>>> You have a bad boost download so you'll have to delete the downloaded 
>>>>>> file and try again.
>>>>>> 
>>>>>> I pushed fixes for libgpg-error and libdbi-drivers tests/cgreen include 
>>>>>> problem. The latter involves a patch so you need to delete the source 
>>>>>> directory for it to apply.
>>>>>> 
>>>>>> Regards,
>>>>>> John Ralls
>>>>>> 
>>>>>> 
>>>>>>> On Feb 29, 2020, at 9:00 AM, jean laroche <rip...@gmail.com> wrote:
>>>>>>> 
>>>>>>> I started from a fresh user, with no trace of brew. I'm getting many 
>>>>>>> fails.
>>>>>>> I created a pastebin with the messages of a re-run of jhbuild build, so 
>>>>>>> you can see the details:
>>>>>>> https://pastebin.com/293FMgVk
>>>>>>> 
>>>>>>> Let me know what you think. I'll be away from the mac until next Wed, 
>>>>>>> but I'll be within email contact.
>>>>>>> 
>>>>>>> A million thanks for the help!
>>>>>>> Cheers,
>>>>>>> Jean
>>>>>>> 
>>>>>>> 
>>>>>>> On 2/28/2020 8:06 PM, John Ralls wrote:
>>>>>>>> Jean,
>>>>>>>> 
>>>>>>>> Please remember to copy the list on all replies.
>>>>>>>> 
>>>>>>>>> On Feb 28, 2020, at 8:26 PM, jean laroche <rip...@gmail.com> wrote:
>>>>>>>>> 
>>>>>>>>> Thanks for the pointers John! Very useful! As a newbie building this, 
>>>>>>>>> I have no idea what's important and what not. Here are my notes.
>>>>>>>>> 
>>>>>>>>> Note that a lot of this is hacking, trying to get to a point where I 
>>>>>>>>> can build. The solutions are just band-aids, and they may not be good 
>>>>>>>>> ones either!
>>>>>>>>> 
>>>>>>>>>    • Build complained about perl XML parser. I started a shell at the 
>>>>>>>>> point where it failed and followed this.  perl -MCPAN -e shell, 
>>>>>>>>> followed by install XML::Parser. This fixed it.
>>>>>>>> xml-parser, along with several other critical infrastructure packages, 
>>>>>>>> is installed by `jhbuild bootstrap-gtk-osx`, which you need to run 
>>>>>>>> before starting the build proper. I wonder how you were able to 
>>>>>>>> proceed without that.
>>>>>>>> 
>>>>>>>>>    • There was an error finding gpg-error.h, which is here: 
>>>>>>>>> /usr/local/Cellar/libgpg-error/1.37/include/gpg-error.h so I did ln 
>>>>>>>>> -s -> /Users/gnucash/gnucash-stable/include/gpg-error.h
>>>>>>>> Gtk-OSX is incompatible with Home-brew. Not only must you not try to 
>>>>>>>> install into /usr/local/Cellar, you must purge your environment of any 
>>>>>>>> paths (PATH, DYLD_LIBRARY_PATH, PKG_CONFIG_PATH, etc.) pointing into 
>>>>>>>> it. Same for MacPorts.
>>>>>>>> 
>>>>>>>> Note that the Home-brew recipe for GnuCash simply downloads and 
>>>>>>>> installs the Mac release bundle from our distribution repository: Even 
>>>>>>>> they don't support building GnuCash from source. MacPorts does, but 
>>>>>>>> you have to decide to use either MacPorts or Gtk-OSX.
>>>>>>>> 
>>>>>>>>>    • Had to do brew install postgresql
>>>>>>>> See above.
>>>>>>>> 
>>>>>>>>>    • Got: “configure.ac: No such file or directory” Went into shell 
>>>>>>>>> copied everything from 
>>>>>>>>> /Users/gnucash/gnucash-stable/src/libgpg-error-1.27 locally, and 
>>>>>>>>> retried. It worked.
>>>>>>>> That's the wrong thing to do. Instead cd to the source dir and run 
>>>>>>>> either `autoreconf -fis` or `./autogen.sh`.
>>>>>>>> 
>>>>>>>>>    • Xmlsec refused because of “dirty” dir. I removed the entire 
>>>>>>>>> xmlsec directory. But then I get an error with cp -u which does not 
>>>>>>>>> work on macos, which I fixed by removing -ru in line 749 of 
>>>>>>>>> docs/Makefile.* and 619 in docs/api/Makefile.*
>>>>>>>> How did you remove the directory? The correct way is to use selection 
>>>>>>>> 6, "delete directory and start over" from the jhbuild error menu. It 
>>>>>>>> should take care of getting the build restarted. OTOH I usually pick 
>>>>>>>> 2, "ignore the error and continue to configure" because it's frankly 
>>>>>>>> not that important to have the latest xmlsec code.
>>>>>>>> 
>>>>>>>>>    • Ran into a problem with libdbi-drivers: Had to add 
>>>>>>>>> -L/Users/gnucash/gnucash-stable/build/libdbi-drivers-0.9.0/drivers/mysql
>>>>>>>>>  to the Makefile located there, and link 
>>>>>>>>> /usr/local/Cellar/mysql@5.6/5.6.46_2/lib/libmysqlclient.18.dylib 
>>>>>>>>> there as well.
>>>>>>>> See above about Home-brew.
>>>>>>>> 
>>>>>>>>>    • Ran into: “can’t find cgreen/parameters.h” for 
>>>>>>>>> libdbi-drivers-0.9.0. I linked 
>>>>>>>>> /Users/gnucash/gnucash-stable/src/libdbi-drivers-0.9.0/tests/cgreen/include/cgreen
>>>>>>>>>  to the target dir. That fixed it.
>>>>>>>> I've been meaning to write a patch about that.
>>>>>>>> 
>>>>>>>>>    • Intltool complained about version. I have the right version, so 
>>>>>>>>> I removed check in the configure file.
>>>>>>>> It probably couldn't find the right version because of Home-brew.
>>>>>>>>>    • Then I was missing aclocal-1.15 … Ran  autoreconf -f -i as 
>>>>>>>>> suggested.
>>>>>>>>>    • For libsoup same complaint about intltool version. Same action.
>>>>>>>>>    • Building shared-mime-info: manuallly ran configure 
>>>>>>>>> --disable-dependency-tracking, then skipped to build, but hit 
>>>>>>>>> Makefile 1161: *** missing separator. Edited. Also changed 
>>>>>>>>> INTNL-UPDATE to intnl-update in Makefile.in.in in po. Also remove 
>>>>>>>>> everything after “check” at line 149 same file.
>>>>>>>>> Then I get a hard crash:
>>>>>>>>> OSError: [Errno 2] No such file or directory: 
>>>>>>>>> '/Users/gnucash/gnucash-stable/_jhbuild/root-shared-mime-info/Users/gnucash/gnucash-stable'
>>>>>>>>> File 
>>>>>>>>> "/Users/gnucash/Source/jhbuild/jhbuild/frontends/buildscript.py", 
>>>>>>>>> line 172, in build error, altphases = module.run_phase(self, phase)
>>>>>>>>> I added a pdb.set_trace() in the python script and created the dirs, 
>>>>>>>>> then continued the command. That worked.
>>>>>>>>> It would be great if you could tell me if these errors ring a bell 
>>>>>>>>> for you, and what better steps I should have taken to fix them... Not 
>>>>>>>>> knowing anything about this build process I went for the most 
>>>>>>>>> expedient solution I could find, chances are, not the best!
>>>>>>>>> 
>>>>>>>>> Thanks! I appreciate the help!
>>>>>>>>> 
>>>>>>>>> Jean
>>>>>>>>> 
>>>>>>>>> BTW: swig-unittest-support-guile.c  is nowhere to be found in the 
>>>>>>>>> tree, neither built nor src, so something's not right.
>>>>>>>> Unfortunately you've probably screwed up your Cellar on top of 
>>>>>>>> everything else so you might have to wipe it and reinstall Home-brew.
>>>>>>>> 
>>>>>>>> The easiest way to get a clean environment for building GnuCash is to 
>>>>>>>> create a new user and switch to that user for building with Gtk-OSX. 
>>>>>>>> Unfortunately there's no way to stop bash from reading the environment 
>>>>>>>> it's launched from so I think that the only other option is to create 
>>>>>>>> a different .bash_profile and .bashrc with no Home-brew configuration 
>>>>>>>> and play name-swap, then open a new terminal session. IMO switching 
>>>>>>>> users would be easier.
>>>>>>>> 
>>>>>>>> Regards,
>>>>>>>> John Ralls
>>>>>>>> 
>>> 

_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to