-
-
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
Closed
berndgassmann
wants to merge
18
commits into
carla-simulator:dev
from
berndgassmann:berndgassmann/compile_ros2_against_unreal_dependencies
Closed
Changes from 11 commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
1116b1c
Cleanup and harmonize Carla build
24d67ca
Remove deletion of Cdr.h until new ROS2 commit
9459d72
Revert not required changes in UE4 project settings
e3ad358
Merge branch 'dev' into berndgassmann/compile_ros2_against_unreal_dep…
3b411c0
Merge remote-tracking branch 'origin/dev' into berndgassmann/compile_…
31bd246
Merge remote-tracking branch 'origin/dev' into berndgassmann/compile_…
b176e85
Merge branch 'dev' into berndgassmann/compile_ros2_against_unreal_dep…
Blyron 1e3168b
Update Linux Build instructions
berndgassmann c3cff03
Fix of docu
berndgassmann 9bf02bc
Merge remote-tracking branch 'origin/dev' into berndgassmann/compile_…
berndgassmann 71c4e95
Some cleanup
berndgassmann e06708d
Merge remote-tracking branch 'origin/dev' into berndgassmann/compile_…
ec94119
Cleanup and fixes
18cdc78
(Re-)Added g++13 to build_linux.md
cb2dc8a
Merge branch 'dev' into berndgassmann/compile_ros2_against_unreal_dep…
Blyron cdd9970
Squashed commit of the following:
843dde9
Merge branch 'dev' into berndgassmann/compile_ros2_against_unreal_dep…
940271a
Merge branch 'dev' into berndgassmann/compile_ros2_against_unreal_dep…
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,95 @@ | ||
| --- | ||
| Language: Cpp | ||
| # BasedOnStyle: Google | ||
| AccessModifierOffset: -2 | ||
| AlignAfterOpenBracket: Align | ||
| AlignConsecutiveAssignments: false | ||
| AlignConsecutiveDeclarations: false | ||
| AlignEscapedNewlinesLeft: true | ||
| AlignOperands: true | ||
| AlignTrailingComments: true | ||
| AllowAllParametersOfDeclarationOnNextLine: true | ||
| AllowShortBlocksOnASingleLine: false | ||
| AllowShortCaseLabelsOnASingleLine: false | ||
| AllowShortFunctionsOnASingleLine: Empty | ||
| AllowShortIfStatementsOnASingleLine: true | ||
| AllowShortLoopsOnASingleLine: true | ||
| AlwaysBreakAfterDefinitionReturnType: None | ||
| AlwaysBreakAfterReturnType: None | ||
| AlwaysBreakBeforeMultilineStrings: true | ||
| AlwaysBreakTemplateDeclarations: true | ||
| BinPackArguments: true | ||
| BinPackParameters: true | ||
| BraceWrapping: | ||
| AfterClass: false | ||
| AfterControlStatement: false | ||
| AfterEnum: false | ||
| AfterFunction: false | ||
| AfterNamespace: false | ||
| AfterObjCDeclaration: false | ||
| AfterStruct: false | ||
| AfterUnion: false | ||
| BeforeCatch: false | ||
| BeforeElse: false | ||
| IndentBraces: false | ||
| BreakBeforeBinaryOperators: None | ||
| BreakBeforeBraces: Attach | ||
| BreakBeforeTernaryOperators: true | ||
| BreakConstructorInitializersBeforeComma: false | ||
| BreakAfterJavaFieldAnnotations: false | ||
| BreakStringLiterals: true | ||
| ColumnLimit: 120 | ||
| CommentPragmas: '^ IWYU pragma:' | ||
| ConstructorInitializerAllOnOneLineOrOnePerLine: true | ||
| ConstructorInitializerIndentWidth: 2 | ||
| ContinuationIndentWidth: 4 | ||
| Cpp11BracedListStyle: true | ||
| DerivePointerAlignment: true | ||
| DisableFormat: false | ||
| ExperimentalAutoDetectBinPacking: false | ||
| ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ] | ||
| IncludeCategories: | ||
| - Regex: '^<.*\.h>' | ||
| Priority: 1 | ||
| - Regex: '^<.*' | ||
| Priority: 2 | ||
| - Regex: '.*' | ||
| Priority: 3 | ||
| IncludeIsMainRegex: '([-_](test|unittest))?$' | ||
| IndentCaseLabels: true | ||
| IndentWidth: 2 | ||
| IndentWrappedFunctionNames: false | ||
| JavaScriptQuotes: Leave | ||
| JavaScriptWrapImports: true | ||
| KeepEmptyLinesAtTheStartOfBlocks: false | ||
| MacroBlockBegin: '' | ||
| MacroBlockEnd: '' | ||
| MaxEmptyLinesToKeep: 1 | ||
| NamespaceIndentation: None | ||
| ObjCBlockIndentWidth: 2 | ||
| ObjCSpaceAfterProperty: false | ||
| ObjCSpaceBeforeProtocolList: false | ||
| PenaltyBreakBeforeFirstCallParameter: 1 | ||
| PenaltyBreakComment: 300 | ||
| PenaltyBreakFirstLessLess: 120 | ||
| PenaltyBreakString: 1000 | ||
| PenaltyExcessCharacter: 1000000 | ||
| PenaltyReturnTypeOnItsOwnLine: 200 | ||
| PointerAlignment: Left | ||
| ReflowComments: true | ||
| SortIncludes: true | ||
| SpaceAfterCStyleCast: false | ||
| SpaceBeforeAssignmentOperators: true | ||
| SpaceBeforeParens: ControlStatements | ||
| SpaceInEmptyParentheses: false | ||
| SpacesBeforeTrailingComments: 2 | ||
| SpacesInAngles: false | ||
| SpacesInContainerLiterals: true | ||
| SpacesInCStyleCastParentheses: false | ||
| SpacesInParentheses: false | ||
| SpacesInSquareBrackets: false | ||
| Standard: Auto | ||
| TabWidth: 8 | ||
| UseTab: Never | ||
| ... | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 :)