[GNC-dev] Noob: setup and build master
ripngo at gmail.com
Fri Mar 13 20:12:02 EDT 2020
Thanks John, that did it. I had to interrupt and wipe the directory but
after that, the build completed successfully!
Thanks a bunch!
On 3/13/20 3:58 PM, John Ralls wrote:
> 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:
>> 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>
>> 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)?
>>> 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.
>>> John Ralls
More information about the gnucash-devel