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