[
https://issues.apache.org/jira/browse/ARTEMIS-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17601900#comment-17601900
]
Clebert Suconic commented on ARTEMIS-3966:
------------------------------------------
I did not know how to call maven from CMake ... and I didn't think it was
important enough to do it..
although I just found an easy way and if the mvn generate-source is not done,
the CmakeList will do it now.
I will keep the Readme as I still prefer the .h generated before calling the
podman or docker as it will download a lot of stuff from maven central to
download maven in case that was missed.
> libaio does not build using ./scripts/compile-native.sh
> -------------------------------------------------------
>
> Key: ARTEMIS-3966
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3966
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: ActiveMQ-Artemis-Native
> Environment: quay.io/fedora/fedora:31-x86_64 docker image
> Reporter: Jiri Daněk
> Assignee: Clebert Suconic
> Priority: Major
>
> {noformat}
> + git clone https://github.com/apache/activemq-artemis-native.git
> Cloning into 'activemq-artemis-native'...
> Coverity Build Capture (64-bit) version 2022.6.0 on Linux
> 5.6.13-100.fc30.x86_64 x86_64
> Internal version numbers: 9501b3bfc3 p-2022.6-push-41
> + pushd activemq-artemis-native
> + ./scripts/compile-native.sh
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native
> /builds/messaging/coverity-static-analysis/activemq-artemis
> CMake Warning (dev) in CMakeLists.txt:
> No project() command is present. The top-level CMakeLists.txt file must
> contain a literal, direct call to the project() command. Add a line of
> code such as
> project(ProjectName)
> near the top of the file, but after cmake_minimum_required().
> CMake is pretending there is a "project(Project)" command on the first
> line.
> This warning is for project developers. Use -Wno-dev to suppress it.
> -- The C compiler identification is GNU 9.3.1
> -- The CXX compiler identification is GNU 9.3.1
> -- Check for working C compiler: /usr/bin/cc
> -- Check for working C compiler: /usr/bin/cc - works
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Detecting C compile features
> -- Detecting C compile features - done
> -- Check for working CXX compiler: /usr/bin/c++
> -- Check for working CXX compiler: /usr/bin/c++ - works
> -- Detecting CXX compiler ABI info
> -- Detecting CXX compiler ABI info - done
> -- Detecting CXX compile features
> -- Detecting CXX compile features - done
> -- Found Java: /usr/bin/java (found version "1.8.0_272")
> -- Found JNI: /usr/lib/jvm/java/jre/lib/amd64/libjawt.so
> --
> JNI_INCLUDE_DIRS=/usr/lib/jvm/java/include;/usr/lib/jvm/java/include/linux;/usr/lib/jvm/java/include
> --
> JNI_LIBRARIES=/usr/lib/jvm/java/jre/lib/amd64/libjawt.so;/usr/lib/jvm/java/jre/lib/amd64/server/libjvm.so
> -- Using cross-compilation
> -- Using the following libaio library for linking: /usr/lib64/libaio.so
> -- Setting up library as artemis-native-32 based on current architecture
> -- Configuring done
> -- Generating done
> -- Build files have been written to:
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native
> /usr/bin/cmake
> -S/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native
>
> -B/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native
> --check-build-system CMakeFiles/Makefile.cmake 0
> /usr/bin/cmake -E cmake_progress_start
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/CMakeFiles
>
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/CMakeFiles/progress.marks
> make -f CMakeFiles/Makefile2 all
> make[1]: Entering directory
> '/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native'
> make -f src/main/c/CMakeFiles/artemis-native.dir/build.make
> src/main/c/CMakeFiles/artemis-native.dir/depend
> make[2]: Entering directory
> '/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native'
> cd
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native
> && /usr/bin/cmake -E cmake_depends "Unix Makefiles"
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native
>
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/src/main/c
>
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native
>
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/src/main/c
>
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/src/main/c/CMakeFiles/artemis-native.dir/DependInfo.cmake
> --color=
> Scanning dependencies of target artemis-native
> make[2]: Leaving directory
> '/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native'
> make -f src/main/c/CMakeFiles/artemis-native.dir/build.make
> src/main/c/CMakeFiles/artemis-native.dir/build
> make[2]: Entering directory
> '/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native'
> [ 50%] Building C object
> src/main/c/CMakeFiles/artemis-native.dir/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c.o
> cd
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/src/main/c
> && /usr/bin/cc -Dartemis_native_EXPORTS
> -I/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/src/main/c/.
> -I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux
> -I/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/src/main/c/../../../target/include
> -O3 -std=c99 -Wall -m32 -fPIC -o
> CMakeFiles/artemis-native.dir/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c.o
> -c
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/src/main/c/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c
> In file included from /usr/include/features.h:474,
> from /usr/include/bits/libc-header-start.h:33,
> from /usr/include/stdio.h:27,
> from /usr/lib/jvm/java/include/jni.h:39,
> from
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/src/main/c/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c:25:
> /usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-32.h: No such file or
> directory
> 7 | # include <gnu/stubs-32.h>
> | ^~~~~~~~~~~~~~~~
> compilation terminated.
> make[2]: Leaving directory
> '/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native'
> make[2]: *** [src/main/c/CMakeFiles/artemis-native.dir/build.make:86:
> src/main/c/CMakeFiles/artemis-native.dir/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c.o]
> Error 1
> make[1]: *** [CMakeFiles/Makefile2:117:
> src/main/c/CMakeFiles/artemis-native.dir/all] Error 2
> make[1]: Leaving directory
> '/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native'
> make: *** [Makefile:107: all] Error 2
> CMake Warning (dev) in CMakeLists.txt:
> No project() command is present. The top-level CMakeLists.txt file must
> contain a literal, direct call to the project() command. Add a line of
> code such as
> project(ProjectName)
> near the top of the file, but after cmake_minimum_required().
> CMake is pretending there is a "project(Project)" command on the first
> line.
> This warning is for project developers. Use -Wno-dev to suppress it.
> -- The C compiler identification is GNU 9.3.1
> -- The CXX compiler identification is GNU 9.3.1
> -- Check for working C compiler: /usr/bin/cc
> -- Check for working C compiler: /usr/bin/cc - works
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Detecting C compile features
> -- Detecting C compile features - done
> -- Check for working CXX compiler: /usr/bin/c++
> -- Check for working CXX compiler: /usr/bin/c++ - works
> -- Detecting CXX compiler ABI info
> -- Detecting CXX compiler ABI info - done
> -- Detecting CXX compile features
> -- Detecting CXX compile features - done
> -- Found Java: /usr/bin/java (found version "1.8.0_272")
> -- Found JNI: /usr/lib/jvm/java/jre/lib/amd64/libjawt.so
> --
> JNI_INCLUDE_DIRS=/usr/lib/jvm/java/include;/usr/lib/jvm/java/include/linux;/usr/lib/jvm/java/include
> --
> JNI_LIBRARIES=/usr/lib/jvm/java/jre/lib/amd64/libjawt.so;/usr/lib/jvm/java/jre/lib/amd64/server/libjvm.so
> -- Using the following libaio library for linking: /usr/lib64/libaio.so
> -- Setting up library as artemis-native-64 based on current architecture
> -- Configuring done
> -- Generating done
> CMake Warning:
> Manually-specified variables were not used by the project:
> ARTEMIS_CROSS_COMPILE_ROOT_PATH
> -- Build files have been written to:
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native
> /usr/bin/cmake
> -S/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native
>
> -B/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native
> --check-build-system CMakeFiles/Makefile.cmake 0
> /usr/bin/cmake -E cmake_progress_start
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/CMakeFiles
>
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/CMakeFiles/progress.marks
> make -f CMakeFiles/Makefile2 all
> make[1]: Entering directory
> '/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native'
> make -f src/main/c/CMakeFiles/artemis-native.dir/build.make
> src/main/c/CMakeFiles/artemis-native.dir/depend
> make[2]: Entering directory
> '/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native'
> cd
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native
> && /usr/bin/cmake -E cmake_depends "Unix Makefiles"
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native
>
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/src/main/c
>
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native
>
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/src/main/c
>
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/src/main/c/CMakeFiles/artemis-native.dir/DependInfo.cmake
> --color=
> make[2]: Leaving directory
> '/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native'
> make -f src/main/c/CMakeFiles/artemis-native.dir/build.make
> src/main/c/CMakeFiles/artemis-native.dir/build
> make[2]: Entering directory
> '/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native'
> [ 50%] Building C object
> src/main/c/CMakeFiles/artemis-native.dir/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c.o
> cd
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/src/main/c
> && /usr/bin/cc -Dartemis_native_EXPORTS
> -I/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/src/main/c/.
> -I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux
> -I/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/src/main/c/../../../target/include
> -O3 -std=c99 -Wall -fPIC -o
> CMakeFiles/artemis-native.dir/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c.o
> -c
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/src/main/c/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c
> /builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native/src/main/c/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c:40:10:
> fatal error: org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.h: No
> such file or directory
> 40 | #include "org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.h"
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> compilation terminated.
> make[2]: *** [src/main/c/CMakeFiles/artemis-native.dir/build.make:86:
> src/main/c/CMakeFiles/artemis-native.dir/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c.o]
> Error 1
> make[2]: Leaving directory
> '/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native'
> make[1]: *** [CMakeFiles/Makefile2:117:
> src/main/c/CMakeFiles/artemis-native.dir/all] Error 2
> make[1]: Leaving directory
> '/builds/messaging/coverity-static-analysis/activemq-artemis/activemq-artemis-native'
> make: *** [Makefile:107: all] Error 2
> [WARNING] Build command ./build_for_analysis.sh exited with code 2. Please
> verify that the build completed successfully.
> [WARNING] Emitted 6 C/C++ compilation units (75%) successfully
> 6 C/C++ compilation units (75%) are ready for analysis
> For more details, please look at:
>
> /builds/messaging/coverity-static-analysis/activemq-artemis/cov-int/build-log.txt
> Cleaning up file based variables
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)