Building unstable on Mac
John Ralls
jralls at ceridwen.us
Thu Feb 1 17:32:55 EST 2018
Yes, "refusing to switch a dirty tree" comes from xmlsec because it has configuration products committed into its repo. You can actually just 2 -- ignore and continue to configure.
The boost line should be "for i in `ls $PREFIX\lib\libboost*.dylib`..." just like the one underneath it. I changed that in git 2 months ago but forgot to change the wiki page. Fixed now.
glib-networking is in the list of modules that should be built. What happened that it wasn't?
Regards,
John Ralls
> On Feb 1, 2018, at 2:02 PM, R. Victor Klassen <rvklassen at gmail.com> wrote:
>
> 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
>
> [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> 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> 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 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> 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
>>>>> 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
>>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
More information about the gnucash-devel
mailing list