-
Notifications
You must be signed in to change notification settings - Fork 34
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
Fix build for Ubuntu 24.04 #30
Conversation
Oh, possible duplicate of this, although I didn't seem to need to add cc @carlatcrown |
Yes - same base cause - Noble updates :). We are iwyu so the was probably a cppcheck info warning (haven't double checked). Not sure any owners are monitoring this repo currently - my PR was from Feb, might need to go through the company rep process for a prod etc. |
@puck-fzi , please see this fix to help with your release into Jazzy: |
* Add compile option -Wno-error=pessimizing-move * Add <cstdint> header SICKAG/sick_safetyscanners_base#30 Signed-off-by: CHEN Xuan <[email protected]>
* Add compile option -Wno-error=pessimizing-move * Add <cstdint> header SICKAG/sick_safetyscanners_base#30 Signed-off-by: CHEN Xuan <[email protected]>
* Add compile option -Wno-error=pessimizing-move * Add <cstdint> header SICKAG/sick_safetyscanners_base#30 Signed-off-by: CHEN Xuan <[email protected]>
Closing since #25 was merged |
* Add compile option -Wno-error=pessimizing-move * Add <cstdint> header SICKAG/sick_safetyscanners_base#30 Signed-off-by: CHEN Xuan <[email protected]>
* Add compile option -Wno-error=pessimizing-move * Add <cstdint> header SICKAG/sick_safetyscanners_base#30 Signed-off-by: CHEN Xuan <[email protected]>
* Add compile option -Wno-error=pessimizing-move * Add <cstdint> header SICKAG/sick_safetyscanners_base#30 Signed-off-by: CHEN Xuan <[email protected]>
When building from source for ROS 2 Jazzy via Ubuntu 24.04, one may encounter undefined
uint8_t
types:The difference in behavior between GCC 11.4.0 and GCC 13.2.0 may likely be due to changes in the C++ standard version used by default by the compiler, or changes in the implementation of the standard library. I think in C++11 and onwards, uint8_t is defined in the header. However, some older versions of GCC, or some configurations, might have allowed uint8_t to be used without explicitly including , possibly because another standard library header included indirectly?
In GCC 13.2.0, it seems that this is no longer the case, and we need to explicitly include to use uint8_t. But perhaps this is more in line with the C++ standard, which requires explicit inclusion of the headers defining the types used.