COVESA / capicxx-someip-runtime

Common API C++ SOMEIP runtime
Mozilla Public License 2.0
111 stars 81 forks source link

QNX compilation breaking #38

Open akashbwj opened 9 months ago

akashbwj commented 9 months ago

Hi, There are no steps for QNX compilation. I'd like to know if there is going to be support for compilation of this library in qnx?

Since currently there are no steps for compilation for QNX, I made a common.mk file and Makefile, and added vsomeip's .so files (https://github.com/COVESA/vsomeip) and capicxx-core-runtime's .so file( https://github.com/COVESA/capicxx-core-runtime) as its dependencies in the common.mk. BTW I was able to compile vsomeip and capicxx-core-runtime in QNX.

1)

When I compiled it, at first I got these several similar types of errors:

capicxx-someip-runtime/include/CommonAPI/SomeIP/OutputStream.hpp:571:18: error: '__BYTE_ORDER' was not declared in this scope
             if ((__BYTE_ORDER == __LITTLE_ENDIAN) != isLittleEndian_) {
                  ^~~~~~~~~~~~
/home/saurabh.m22/project/cccmx/sources/qnx/kernel/src/hardware/camera/capicxx-someip-runtime/include/CommonAPI/SomeIP/OutputStream.hpp:571:34: error: '__LITTLE_ENDIAN' was not declared in this scope
             if ((__BYTE_ORDER == __LITTLE_ENDIAN) != isLittleEndian_) {
                                              ^~~~~~~~~~~~~~~

I resolved these by replacing "BYTE_ORDER " in place of "BYTE_ORDER" and "ORDER_LITTLE_ENDIAN " in place of "LITTLE_ENDIAN".

2)

Next, now that I compile this library, I get the error:

capicxx-someip-runtime/src/CommonAPI/SomeIP/Watch.cpp:19:10: fatal error: sys/eventfd.h: No such file or directory
 #include <sys/eventfd.h>
          ^~~~~~~~~~~~~~~
compilation terminated.

This eventfd seems to be linux specific package. Any clue how to circumvent this error for successful compilation in QNX?

P.S. - I need the compilation to be successful for arm architecture and not for x86.