-
-
Notifications
You must be signed in to change notification settings - Fork 4.3k
Cleanup and harmonize Carla server build to use Unreal sysroot #7151
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
Changes from 9 commits
1116b1c
24d67ca
9459d72
e3ad358
3b411c0
31bd246
b176e85
1e3168b
c3cff03
9bf02bc
71c4e95
e06708d
ec94119
18cdc78
cb2dc8a
cdd9970
843dde9
940271a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -14,14 +14,14 @@ | |
| #ifdef BOOST_NO_EXCEPTIONS | ||
|
|
||
| namespace boost { | ||
|
|
||
|
||
| void throw_exception(const std::exception &e) { | ||
| carla::throw_exception(e); | ||
| } | ||
|
|
||
| void throw_exception( | ||
| const std::exception &e, | ||
| boost::source_location const & loc) { | ||
| boost::source_location const & ) { | ||
|
||
| throw_exception(e); | ||
| } | ||
|
|
||
|
|
@@ -54,4 +54,33 @@ namespace detail { | |
| } // namespace detail | ||
| } // namespace clmdep_asio | ||
|
|
||
| namespace asio { | ||
| namespace detail { | ||
|
|
||
| template <typename Exception> | ||
| void throw_exception(const Exception& e) { | ||
| carla::throw_exception(e); | ||
| } | ||
|
|
||
| template void throw_exception<std::bad_cast>(const std::bad_cast &); | ||
| template void throw_exception<std::exception>(const std::exception &); | ||
| template void throw_exception<std::system_error>(const std::system_error &); | ||
|
|
||
| } // namespace detail | ||
| } // namespace asio | ||
|
|
||
| #endif // ASIO_NO_EXCEPTIONS | ||
|
|
||
| #ifndef LIBCARLA_NO_EXCEPTIONS | ||
|
|
||
| namespace carla { | ||
| template | ||
| #ifndef __clang__ | ||
| // clang doesn't support C++11 attributes in template explicit instantiation, since attributes in each case cannot be changed here | ||
| // MSVC requires it (might be a bit too conservative and requires the attributes also in explicit instanciation) | ||
| [[ noreturn ]] | ||
| #endif | ||
| void throw_exception<std::exception>(const std::exception &); | ||
| } | ||
|
|
||
| #endif | ||
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
g++ is required to build modules like ROS2 and pytorch.
Why do you think we should remove it from package installation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
only the additional g++-7 is removed (as not required) and the corresponding update alternatives call
build-essentials should bring already the default system g++ with it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch about the build-essential package!
I have addicional worries about this change:
If we define the g++ version as system default one, this implies CARLA could be possibly build with huge number of g++ versions, as many users are building CARLA and we don't have any info about what distro are the using. On my understanding, define g++ version as system default adds the next risks:
What are your thoughts about it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see, yes your fears make sense.
I would then approach from that side. Standard supported linux system is Ubuntu. Then I would go with the active LTS versions and support their standard g++ versions. Taking their EOL dates as supporting dates might be a bit too much as Ubuntu 14.04 goes EOL right now. So taking their "End of Standard Support" as basis might be more meaningful:
Ubuntu 22.04 LTS: June 2027, gcc-11
Ubuntu 20.04 LTS: April 2025, gcc-9
Therefore, I'd either define gcc-9 or gcc-11 as gold standard for now.
On pytorch, I don't know since I have to admit that I never worked so far with it on my own. On ROS2 the respective Ubuntu default compiler for sure works.
But if CARLA supports both active Ubuntu systems (and maybe have a build job for both of them in the background to ensure), then you don't need to install a specific version here. One should then rewrite the docu in the sense that the two active Ubuntu systems are supported. And if someone else with nother Linux-Distro wants to compile CALRA he/she should install either gcc-9 or gcc-11 (at the current point in time for sure ;-)
Still, then you don't need to change the build instructions for 22.04 and 20.04, and why not making the live harder for the restistent guys who are still using 18.04 or older; If they do use such old systems they should be aware of that and be able to handle to install other gcc versions on their own if they run into problems. Or they should just upgrade their system -- which is from system security perspective in each case adviceable.
The supported clang version is in each case clear, since it's the Unreal one... which will also change soon when swithing to Unreal 5.xx engine.
So you see: you might want to extend the notes in the docu around that topic a bit and "degrade" also 18.04 to a not adviced Linux -Distro, since it has some years "on the back" (don't know if one says that also in UK like that ... it's some German slang ;-)
Please discuss with the team and adapt the commit as you decide on your own. You should have the rights to do so, I believe.
Ah, so now it's Easter in Germany: Happy searching of Easter Eggs.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Happy Easter!
We also celebrate Easter here at Barcelona :)