[GNC-dev] Noob: setup and build master

John Ralls jralls at ceridwen.us
Fri Mar 13 18:58:16 EDT 2020


Indeed, I mixed up perl and python syntax. The line should be
module_cmakeargs['boost'] = '-DCMAKE_CXX_FLAGS="' + os.environ['CXXFLAGS'] + ' -std=c++17"'

Note the single quotes around the python arguments and the double quotes setting off the string value passed to -DCMAKE_CXX_FLAGS.

John Ralls

> On Mar 13, 2020, at 12:13 PM, Jean Laroche <ripngo at gmail.com> wrote:
> John
> Something must be wrong with the syntax you suggested. Since I don't know my jhbuild at all, I don't know how to fix this.
> Traceback (most recent call last):
>  File "/Users/jlaroche/Source/jhbuild/jhbuild/config.py", line 194, in load
>    execfile(filename, config)
>  File "/Users/jlaroche/.config/jhbuildrc", line 462, in <module>
>    execfile(_user_rc)
>  File "/Users/jlaroche/.config/jhbuildrc-custom", line 54
>    module_cmakeargs["boost"] = "-DCMAKE_CXX_FLAGS=" . os.environ["CXXFLAGS"] . " -std=c++17"
>                    ^
> SyntaxError: invalid syntax
> jhbuild: could not load config file
> On 3/13/20 11:49 AM, John Ralls wrote:
>>> On Mar 13, 2020, at 11:20 AM, Jean Laroche <ripngo at gmail.com> wrote:
>>>> It's because C++17 is set in GnuCash's CMakeLists.txt and boost defaults to building for C++14. I'd forgotten that I'd pushed that to the public master branch. I think the simplest way to rebuild it for you would be to add
>>>>    module_cmakeargs['boost'] = '-DCMAKE_CXX_FLAGS=' . os.environ['CXXFLAGS'] . ' -std=c++17'
>>>> to jhbuildrc-custom then run
>>>>    jhbuild buildone --force --clean boost
>>>> If that doesn't work on its own try doing the buildone again but stop it and tell it to wipe the directory and start over.
>>> John, is this going to work with xcode?
>>> Also, will that affect my maint branch (I have two separate build dirs for maint and master)?
>>> Jean
>> Jean,
>> If you mean can you do that in Xcode, no you can't.
>> Boost needs to be built to the highest standard you want to use, so it will still link with maint, which is built to C++11.
>> Regards,
>> John Ralls

More information about the gnucash-devel mailing list