SICKAG / sick_scan_xd

Based on the sick_scan drivers for ROS1, sick_scan_xd merges sick_scan, sick_scan2 and sick_scan_base repositories. The driver supports both Linux (native, ROS1, ROS2) and Windows (native and ROS2).
Apache License 2.0
89 stars 81 forks source link

Issue building the shared generix library on Ubuntu 24.04 #346

Open jashangills opened 3 weeks ago

jashangills commented 3 weeks ago

I am encountering this error while attempting to build the shared generic library on Ubuntu 24.04.

It seems that the compiler is unable to recognize the uint8_t type, which is defined in the header file. The error suggests that the #include directive may be missing from the dataDumper.cpp, dataDumper.h files.

image

I mangaed to do a successful Build for libsick_ldmrs library but cant do the same for generic one

Any help/suggestions will be appreciated.

rostest commented 3 weeks ago

Thank you very much for this error report. Can you include the standard library header <cstdint> in file dataDumper.h for a quick check, i.e. add a line #include <cstdint> at the beginning?

jashangills commented 3 weeks ago

I did try adding it this morning, and It didnt resolve the issue. I have tried it again now to capture the error log. Please see below

image

Just wondering,Could this be a gcc issue? ( gcc version 13.2.0 (Ubuntu 13.2.0-23ubuntu4) )

rostest commented 3 weeks ago

Thanks for following up. We will investigate the error in more detail.

jashangills commented 3 weeks ago

I believe it was the gcc version issue as I successfully built the library on Linux Ubuntu 24.04 by downgrading the GCC compiler to version 12.3.1. After reviewing the release notes for GCC 13.2.0, I discovered that this version requires explicit definitions for headers such as ` and that may have been causing issues while building (https://gcc.gnu.org/gcc-13/porting_to.html)

Downgrading to GCC 12.3.1 resolved this issue and allowed the build to complete successfully.

rostest commented 3 weeks ago

Thank you very much for this interesting information! We will adopt sick_scan_xd to GCC 13 in a future release.