Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI C++17 #3878

Merged
merged 8 commits into from
Jan 3, 2023
Merged

CI C++17 #3878

merged 8 commits into from
Jan 3, 2023

Conversation

nilsnolde
Copy link
Member

start with #3877 , still wait for more feedback. more a quick test.

@nilsnolde
Copy link
Member Author

nilsnolde commented Dec 26, 2022

hm, of course some -WError kicks in.

on linux, seems like the date library has an uncaught_exception warning which some of our source files catch onto. it was apparently fixed for windows, but seems to be an issue for unix as well, as someone says it should say if __cplusplus >= 201703 here, at least that's what locally works. worth warming up probably and PR upstream, right? reading the author's answer again, it seems that's actually intentional, so we can keep defining it for ourselves.

on macos, there's a few others in meili mostly apparently, mostly error: 'iterator<std::forward_iterator_tag, const valhalla::meili::Label>' is deprecated [-Werror,-Wdeprecated-declarations]. at least that's in our control.. but also some in libosmium with error: 'result_of<osmium::io::detail::SerializeBlob ()>' is deprecated [-Werror,-Wdeprecated-declarations], which doesn't seem to be reported anywhere upstream. kinda weird, considering c++17 is in wide use, I'd have expected someone else to build with -Werror. but then again, seems to be macos(/xcode?) issue, builds fine on linux locally with the quick fix to overcome the date issue, hope CI will agree.

@nilsnolde
Copy link
Member Author

ah good, the libosmium issue was already fixed in osmcode/libosmium@e933414. and was release with 2.17.2. we're on 2.16.0. so I guess moving up the version should solve that. might as well go all the way to 2.18.0 (lots of deprecated stuff was removed there, but 2.17.x should work for us).

@nilsnolde
Copy link
Member Author

Back on my office machine, it also failed with gcc 12.2.0 with the same std::iterator deprecations when building the tests. Strange it works on CI Linux machines. There's a nice post about the why: https://www.fluentcpp.com/2018/05/08/std-iterator-deprecated/. I (tentatively) fixed it quickly and I could build the test locally.

Also upgraded to the latest libosmium release which went pretty smooth.

valhalla/meili/routing.h Outdated Show resolved Hide resolved
@nilsnolde nilsnolde marked this pull request as ready for review December 28, 2022 23:07
@nilsnolde nilsnolde merged commit ea7d44a into master Jan 3, 2023
@nilsnolde nilsnolde deleted the nn-cpp17-ci branch January 3, 2023 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants