Building unstable on Mac

R. Victor Klassen rvklassen at gmail.com
Thu Feb 1 17:02:34 EST 2018


At some point I got the “refusing to switch to a dirty tree” error.  I followed the instructions at 
https://lists.gnucash.org/pipermail/gnucash-devel/2015-March/038616.html <https://lists.gnucash.org/pipermail/gnucash-devel/2015-March/038616.html>

[git reset --hard HEAD]

Hope that’s OK.

Next thing I remember is Boost.   That was almost impossible to check out.  For whatever reason, it would abort somewhere between 2% and 92% of the way through the download.   Then finally it worked.

I followed the instructions on getting Boost to compile; at the instruction:

for i in `ls $PREFIX/lib/libboost*`; do install_name_tool -id $i $i; done 

I encountered a long series of errors of the form:

error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: input file: /Users/gnucashdev/gnucash-unstable/lib/libboost_atomic.a is not a Mach-O file
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: input file: /Users/gnucashdev/gnucash-unstable/lib/libboost_chrono.a is not a Mach-O file
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: input file: /Users/gnucashdev/gnucash-unstable/lib/libboost_container.a is not a Mach-O file
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: input file: /Users/gnucashdev/gnucash-unstable/lib/libboost_coroutine.a is not a Mach-O file

I continued, but I do wonder whether that was OK.

It did crash on the second ‘2’, as predicted, so I ran 

jhbuild build --start-at=googletest

Which picked up from there.  This failed in configure:

checking for glib-networking (glib TLS implementation)... no
configure: error: libsoup requires glib-networking for TLS support.

If you are building a package, you can pass --disable-tls-check to
allow building libsoup anyway (since glib-networking is not actually
required at compile time), but you should be sure to add a runtime
dependency on it.
*** Error during phase configure of libsoup: ########## Error running ./configure --prefix /Users/gnucashdev/gnucash-unstable set_more_warnings=no   *** [6/8]

I think it’s getting close...

> On Feb 1, 2018, at 10:12 AM, John Ralls <jralls at ceridwen.us> wrote:
> 
> You didn’t build gtk-doc and Pango requires at least the macros for it.
> 
> As to your question, it depends. It’s telling you on the line just below your question that pango is the seventeenth out of sixty-five packages, but it doesn’t know that some of them build in a couple of seconds and others (webkit and guile in particular) take hours.
> 
> Regards,
> John Ralls
> 
>> On Feb 1, 2018, at 5:55 AM, R. Victor Klassen <rvklassen at gmail.com <mailto:rvklassen at gmail.com>> wrote:
>> 
>> Broke in pango - errors below:
>> 
>> [Is there a file or other accessible reference that I can look into to get some idea of what fraction of the way through I am?]
>> 
>> 
>> *** Configuring pango *** [17/65]
>> autoreconf -fi
>> acinclude.m4:68: warning: the serial number must appear before any macro definition
>> libtoolize: putting auxiliary files in '.'.
>> libtoolize: copying file './ltmain.sh'
>> libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
>> libtoolize: and rerunning libtoolize and aclocal.
>> libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
>> acinclude.m4:68: warning: the serial number must appear before any macro definition
>> configure.ac:115: installing './compile'
>> configure.ac:52: installing './missing'
>> gtk-doc.make:7: error: GTK_DOC_USE_LIBTOOL does not appear in AM_CONDITIONAL
>> docs/Makefile.am:101:   'gtk-doc.make' included from here
>> gtk-doc.make:60: error: GTK_DOC_BUILD_HTML does not appear in AM_CONDITIONAL
>> docs/Makefile.am:101:   'gtk-doc.make' included from here
>> gtk-doc.make:65: error: GTK_DOC_BUILD_PDF does not appear in AM_CONDITIONAL
>> docs/Makefile.am:101:   'gtk-doc.make' included from here
>> gtk-doc.make:74: error: ENABLE_GTK_DOC does not appear in AM_CONDITIONAL
>> docs/Makefile.am:101:   'gtk-doc.make' included from here
>> gtk-doc.make:280: error: HAVE_GTK_DOC does not appear in AM_CONDITIONAL
>> docs/Makefile.am:101:   'gtk-doc.make' included from here
>> docs/Makefile.am:142: error: ENABLE_GTK_DOC does not appear in AM_CONDITIONAL
>> docs/Makefile.am:54: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
>> examples/Makefile.am:6: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
>> examples/Makefile.am: installing './depcomp'
>> pango-view/Makefile.am:30: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
>> pango/Makefile.am:16: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
>> pango/mini-fribidi/Makefile.am:3: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
>> tools/Makefile.am:3: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
>> win32/Makefile-newvs.am:23: warning: MSVC_TOOLSET was already defined in condition TRUE, which includes condition MSVC_NO_TOOLSET_SET ...
>> win32/vs15/Makefile.am:30:   'win32/Makefile-newvs.am' included from here
>> win32/vs15/Makefile.am:28: ... 'MSVC_TOOLSET' previously defined here
>> autoreconf: automake failed with exit status: 1
>> *** Error during phase configure of pango: ########## Error running autoreconf -fi *** [17/65]
>> 
>>   [1] Rerun phase configure
>>   [2] Ignore error and continue to build
>>   [3] Give up on module
>>   [4] Start shell
>>   [5] Reload configuration
>>   [6] Go to phase "wipe directory and start over"
>>   [7] Go to phase "clean"
>>   [8] Go to phase "distclean"
>> choice: 
>> 
>> 
>>> On Jan 29, 2018, at 11:02 PM, John Ralls <jralls at ceridwen.us <mailto:jralls at ceridwen.us>> wrote:
>>> 
>>> To build unstable:
>>> 
>>> 1. Retrieve the latest .jhbuildrc-custom from the gnucash-on-osx repository.
>>> 2. Edit ~/.jhbuildrc-custom to comment out the gnucash-stable prefix and modules and to uncomment the gnucash-unstable ones.
>>> 3. Run jhbuild bootstrap
>>> 4. Run jhbuild build
>>> 
>>> If you want a git checkout, uncomment the gnucash-git module instead of the gnucash-unstable module. That will build ‘master’, though be sure to look at https://github.com/jralls/gnucash-on-osx/blob/master/modulesets/gnucash.modules <https://github.com/jralls/gnucash-on-osx/blob/master/modulesets/gnucash.modules> and note the instructions for boost; jhbuild doesn’t know how to build that. After running `jhbuild build` you can
>>> 
>>> 1. cd ~/gtk/source/gnucash-git
>>> 2. git clean -fdx
>>> 2. git checkout -b unstable -t origin/unstable
>>> 3. jhbuild shell
>>> 4. cd $PREFIX/..
>>> 5. mkdir build/gnucash-git && cd build/gnucash-git
>>> 6. cmake -DCMAKE_INSTALL_PREFIX=$PREFIX -DGTEST_ROOT=$JHBUILD_SOURCE/googletest/googletest -DGMOCK_ROOT=$JHBUILD_SOURCE/googletest/googlemock $JHBUILD_SOURCE/gnucash-git
>>> 7. make && make install
>>> 
>>> To run tests, run 
>>>   make check
>>> 
>>> Regards,
>>> John Ralls
>>> 
>>>> On Jan 29, 2018, at 3:33 PM, R. Victor Klassen <rvklassen at gmail.com <mailto:rvklassen at gmail.com>> wrote:
>>>> 
>>>> So, the wiki is less than clear on how to do this.
>>>> 
>>>> First I tried going through the instructions under Building for Development beginning with
>>>> 
>>>> jhbuild shell
>>>> cd $PREFIX/../src/gnucash-2.6.17
>>>> But it turned out that there was no path with the prefix $PREFIX/../src
>>>> 
>>>> No src directory had yet been created under $PREFIX - this is a clean user account, with most of an attempt at building stable as the only thing in it.
>>>> 
>>>> So I skipped the uninstall, and made a guess as to where I was supposed to go with the cd ..
>>>> 
>>>> Then I ran
>>>> 
>>>> git clone -b maint https://github.com/Gnucash/gnucash.git <https://github.com/Gnucash/gnucash.git>
>>>> Nearly giving up after a dozen or so failures to get the whole thing in one gulp.  Early morning seems best.
>>>> 
>>>> When I tried the autopen.sh && configure, it became clear that many dependencies weren’t in place.
>>>> Many of the early dependencies complained about were to be found in my gnucash-stable tree, and as they were external tools I just linked them to the corresponding location, which got me somewhat further, but not everything was found still.
>>>> 
>>>> So I skipped to “Building Unstable Versions” and did the commenting and uncommenting recommended. 
>>>> 
>>>> I did a 
>>>> 
>>>> Jhbuild bootstrap
>>>> 
>>>> And then jhbuild build.
>>>> 
>>>> Which complained:
>>>> 
>>>> jhbuild build: A module called ''meta-gnucash-unstable'' could not be found.
>>>> 
>>>> 
>>>> At this point I tried 
>>>> 
>>>> $ jhbuild shell
>>>> $ echo $PREFIX
>>>> /Users/gnucashdev/gnucash-unstable
>>>> $ cd $PREFIX/gnucash
>>>> 
>>>> $ ./configure --prefix=$PREFIX --enable-ofx --enable-aqbanking --enable-binreloc --enable-dbi --with-dbi-dbd-dir=$PREFIX/lib/dbd
>>>> 
>>>> This worked for awhile, but then I got a configure error:
>>>> 
>>>> configure: error: 
>>>>    You are building from git but swig was not found or too old.
>>>>    To build gnucash you need at least swig version 2.0.10.
>>>> 
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> gnucash-devel mailing list
>>>> gnucash-devel at gnucash.org <mailto:gnucash-devel at gnucash.org>
>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-devel <https://lists.gnucash.org/mailman/listinfo/gnucash-devel>
>>> 
>> 
> 



More information about the gnucash-devel mailing list