[libmodbus] Build error on x64-linux
balamuruganky opened this issue · comments
Balamurugan Kandan commented
Copy issue body from /root/build/build/.vcpkg/installed/vcpkg/issue_body.md
Package: libmodbus:x64-linux@3.1.10
Host Environment
- Host: x64-linux
- Compiler: GNU 4.8.5
- vcpkg-tool version: 2024-04-23-d6945642ee5c3076addd1a42c331bbf4cfc97457
vcpkg-scripts version: b323a59 2024-05-07 (12 hours ago)
To Reproduce
vcpkg install libmodbus
Failure logs
-- Downloading https://github.com/stephane/libmodbus/archive/v3.1.10.tar.gz -> stephane-libmodbus-v3.1.10.tar.gz...
-- Extracting source /root/build/build/.vcpkg/downloads/stephane-libmodbus-v3.1.10.tar.gz
-- Applying patch fix-static-linkage.patch
-- Using source at /root/build/build/.vcpkg/buildtrees/libmodbus/src/v3.1.10-48a62997ab.clean
-- Configuring x64-linux
-- Building x64-linux-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message):
Command failed: /root/build/build/.vcpkg/downloads/tools/cmake-3.29.2-linux/cmake-3.29.2-linux-x86_64/bin/cmake --build . --config Debug --target install -- -v -j7
Working Directory: /root/build/build/.vcpkg/buildtrees/libmodbus/x64-linux-dbg
See logs for more information:
/root/build/build/.vcpkg/buildtrees/libmodbus/install-x64-linux-dbg-out.log
Call Stack (most recent call first):
installed/x64-linux/share/vcpkg-cmake/vcpkg_cmake_build.cmake:74 (vcpkg_execute_build_process)
installed/x64-linux/share/vcpkg-cmake/vcpkg_cmake_install.cmake:16 (vcpkg_cmake_build)
ports/libmodbus/portfile.cmake:20 (vcpkg_cmake_install)
scripts/ports.cmake:175 (include)
/root/build/build/.vcpkg/buildtrees/libmodbus/install-x64-linux-dbg-out.log
Change Dir: '/root/build/build/.vcpkg/buildtrees/libmodbus/x64-linux-dbg'
Run Build Command(s): /root/build/build/.vcpkg/downloads/tools/ninja/1.10.2-linux/ninja -v -v -j7 install
[1/6] /usr/bin/cc -I/root/build/build/.vcpkg/buildtrees/libmodbus/x64-linux-dbg -fPIC -g -DLIBBUILD=ON -D_GNU_SOURCE -MD -MT CMakeFiles/modbus.dir/src/modbus.c.o -MF CMakeFiles/modbus.dir/src/modbus.c.o.d -o CMakeFiles/modbus.dir/src/modbus.c.o -c /root/build/build/.vcpkg/buildtrees/libmodbus/src/v3.1.10-48a62997ab.clean/src/modbus.c
FAILED: CMakeFiles/modbus.dir/src/modbus.c.o
/usr/bin/cc -I/root/build/build/.vcpkg/buildtrees/libmodbus/x64-linux-dbg -fPIC -g -DLIBBUILD=ON -D_GNU_SOURCE -MD -MT CMakeFiles/modbus.dir/src/modbus.c.o -MF CMakeFiles/modbus.dir/src/modbus.c.o.d -o CMakeFiles/modbus.dir/src/modbus.c.o -c /root/build/build/.vcpkg/buildtrees/libmodbus/src/v3.1.10-48a62997ab.clean/src/modbus.c
/root/build/build/.vcpkg/buildtrees/libmodbus/src/v3.1.10-48a62997ab.clean/src/modbus.c: In function ‘read_io_status’:
/root/build/build/.vcpkg/buildtrees/libmodbus/src/v3.1.10-48a62997ab.clean/src/modbus.c:1202:9: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (unsigned int i = offset; i < offset_end; i++) {
^
/root/build/build/.vcpkg/buildtrees/libmodbus/src/v3.1.10-48a62997ab.clean/src/modbus.c:1202:9: note: use option -std=c99 or -std=gnu99 to compile your code
[2/6] /usr/bin/cc -I/root/build/build/.vcpkg/buildtrees/libmodbus/x64-linux-dbg -fPIC -g -DLIBBUILD=ON -D_GNU_SOURCE -MD -MT CMakeFiles/modbus.dir/src/modbus-data.c.o -MF CMakeFiles/modbus.dir/src/modbus-data.c.o.d -o CMakeFiles/modbus.dir/src/modbus-data.c.o -c /root/build/build/.vcpkg/buildtrees/libmodbus/src/v3.1.10-48a62997ab.clean/src/modbus-data.c
[3/6] /usr/bin/cc -I/root/build/build/.vcpkg/buildtrees/libmodbus/x64-linux-dbg -fPIC -g -DLIBBUILD=ON -D_GNU_SOURCE -MD -MT CMakeFiles/modbus.dir/src/modbus-rtu.c.o -MF CMakeFiles/modbus.dir/src/modbus-rtu.c.o.d -o CMakeFiles/modbus.dir/src/modbus-rtu.c.o -c /root/build/build/.vcpkg/buildtrees/libmodbus/src/v3.1.10-48a62997ab.clean/src/modbus-rtu.c
[4/6] /usr/bin/cc -I/root/build/build/.vcpkg/buildtrees/libmodbus/x64-linux-dbg -fPIC -g -DLIBBUILD=ON -D_GNU_SOURCE -MD -MT CMakeFiles/modbus.dir/src/modbus-tcp.c.o -MF CMakeFiles/modbus.dir/src/modbus-tcp.c.o.d -o CMakeFiles/modbus.dir/src/modbus-tcp.c.o -c /root/build/build/.vcpkg/buildtrees/libmodbus/src/v3.1.10-48a62997ab.clean/src/modbus-tcp.c
ninja: build stopped: subcommand failed.
Cheney Wang commented
I'm unable to reproduce this issue locally. It seems that the problem arises from the older version of the compiler you're using. You might want to try using a more recent version of GNU compiler.
Balamurugan Kandan commented
I am on CentOS 7. I switched to other version. All good now. Thank you.