Skip to content
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

cmake MSYS2 compile error for poco/net project #4018

Closed
srebrnyp opened this issue Apr 25, 2023 · 1 comment
Closed

cmake MSYS2 compile error for poco/net project #4018

srebrnyp opened this issue Apr 25, 2023 · 1 comment
Assignees
Labels

Comments

@srebrnyp
Copy link

Host Environment:
*Host: x64-windows
*Compiler: GNU 12.2.0

I have compile issues when trying to compile poco under mingw/msys2 env under vcpkg manager.

After isolating problem for Net library:
cmake configuration:
-DPOCO_UNBUNDLED=ON # Define linking feature -DPOCO_MT=${POCO_MT} -DENABLE_TESTS=OFF # Allow enabling and disabling components -DENABLE_ENCODINGS=ON -DENABLE_ENCODINGS_COMPILER=OFF -DENABLE_XML=ON -DENABLE_JSON=ON -DENABLE_MONGODB=OFF -DENABLE_DATA_POSTGRESQL=OFF -DENABLE_DATA_SQLITE=OFF -DENABLE_DATA_MYSQL=OFF -DENABLE_DATA_ODBC=OFF -DENABLE_REDIS=OFF -DENABLE_UTIL=ON -DENABLE_NET=OFF -DENABLE_NETSSL=OFF -DENABLE_CRYPTO=ON -DENABLE_PROMETHEUS=OFF -DENABLE_ACTIVERECORD_COMPILER=OFF -DENABLE_ACTIVERECORD=OFF -DENABLE_SEVENZIP=OFF -DENABLE_ZIP=ON -DENABLE_CPPPARSER=ON -DENABLE_POCODOC=ON -DENABLE_PAGECOMPILER=OFF -DENABLE_PAGECOMPILER_FILE2PAGE=OFF -DPOCO_DISABLE_INTERNAL_OPENSSL=ON -DENABLE_APACHECONNECTOR=OFF

This is my change to original config: https://github.com/microsoft/vcpkg/blob/master/ports/poco/portfile.cmake
(just disable more components - not needed at the moment)

This is config output:

[1/1] "C:/Program Files/CMake/bin/cmake.exe" -E chdir ".." "C:/Program Files/CMake/bin/cmake.exe" "C:/msys64/home/psrebrny/one/bt/poco/src/cd25ece3b9-a268e1a6d9.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=C:/msys64/home/psrebrny/one/packages/poco_x64-mingw" "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" "-DENABLE_CRYPTO=OFF" "-DENABLE_NETSSL=OFF" "-DENABLE_PDF=OFF" "-DENABLE_DATA_SQLITE=OFF" "-DENABLE_DATA_POSTGRESQL=OFF" "-DPOCO_UNBUNDLED=ON" "-DPOCO_MT=0" "-DENABLE_TESTS=OFF" "-DENABLE_ENCODINGS=ON" "-DENABLE_ENCODINGS_COMPILER=OFF" "-DENABLE_XML=ON" "-DENABLE_JSON=ON" "-DENABLE_MONGODB=OFF" "-DENABLE_DATA_POSTGRESQL=OFF" "-DENABLE_DATA_SQLITE=OFF" "-DENABLE_DATA_MYSQL=OFF" "-DENABLE_DATA_ODBC=OFF" "-DENABLE_REDIS=OFF" "-DENABLE_UTIL=ON" "-DENABLE_NET=ON" "-DENABLE_NETSSL=OFF" "-DENABLE_CRYPTO=ON" "-DENABLE_PROMETHEUS=OFF" "-DENABLE_ACTIVERECORD_COMPILER=OFF" "-DENABLE_ACTIVERECORD=OFF" "-DENABLE_SEVENZIP=OFF" "-DENABLE_ZIP=ON" "-DENABLE_CPPPARSER=ON" "-DENABLE_POCODOC=ON" "-DENABLE_PAGECOMPILER=OFF" "-DENABLE_PAGECOMPILER_FILE2PAGE=OFF" "-DPOCO_DISABLE_INTERNAL_OPENSSL=ON" "-DENABLE_APACHECONNECTOR=OFF" "-DCMAKE_MAKE_PROGRAM=C:/msys64/home/psrebrny/one/downloads/tools/ninja/1.10.2-windows/ninja.exe" "-DCMAKE_SYSTEM_NAME=MinGW" "-DBUILD_SHARED_LIBS=ON" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=C:/msys64/home/psrebrny/one/scripts/toolchains/mingw.cmake" "-DVCPKG_TARGET_TRIPLET=x64-mingw" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=external" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=C:/msys64/home/psrebrny/one/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=-std=gnu++20 -m64" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=-m64" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=C:/msys64/home/psrebrny/one" "-D_VCPKG_INSTALLED_DIR=C:/msys64/home/psrebrny/one/onespin/2023.2/install" "-DVCPKG_MANIFEST_INSTALL=OFF"
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/msys64/mingw64/bin/x86_64-w64-mingw32-gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/msys64/mingw64/bin/x86_64-w64-mingw32-g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Checking for C++14 compiler
-- Checking for C++14 compiler - available
-- Found message compiler: C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x64/mc.exe
-- Found OpenSSL: C:/msys64/home/psrebrny/one/onespin/2023.2/install/x64-mingw/lib/libcrypto.dll.a (found version "3.0.7")  
-- Could NOT find APR (missing: APR_INCLUDE_DIR APR_LIBRARY) 
-- Could NOT find APRUTIL (missing: APRUTIL_INCLUDE_DIR APRUTIL_LIBRARY) 
-- Could NOT find Apache2 (missing: APACHE2_INCLUDE_DIR) 
-- Found ODBC: C:/msys64/mingw64/lib/libodbc32.a  
-- Building without tests & samples
-- Using external sqlite, zlib, pcre2, expat, ...
-- Found ZLIB: C:/msys64/home/psrebrny/one/onespin/2023.2/install/x64-mingw/lib/libzlib.dll.a (found version "1.2.13") 
-- CMake 3.25.1 successfully configured Poco using Ninja generator
-- Poco package version: 1.12.4
-- Building dynamic libraries
-- [cmake] Installation target path: C:/msys64/home/psrebrny/one/packages/poco_x64-mingw
-- [cmake] Use toolchain file:		C:/msys64/home/psrebrny/one/scripts/buildsystems/vcpkg.cmake
-- [cmake] Build for OS type:      Windows
-- [cmake] Build for OS version:   
-- [cmake] Build for CPU type:     x86_64
-- [cmake] Build type:             Release
-- [cmake] Build with cxx flags:   -O3 -DNDEBUG -std=gnu++20 -m64
-- [cmake] Build with c flags:     -O3 -DNDEBUG -m64
-- Building: Encodings
-- Building: XML
-- Building: JSON
-- Building: Util
-- Building: Net
-- Building: JWT
-- Building: Crypto
-- Building: Zip
-- Building: CppParser
-- Building: PocoDoc
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    FETCHCONTENT_FULLY_DISCONNECTED
    POCO_MT
    VCPKG_PLATFORM_TOOLSET
    VCPKG_SET_CHARSET_FLAG
    _VCPKG_ROOT_DIR


-- Build files have been written to: C:/msys64/home/psrebrny/one/bt/poco/x64-mingw-rel

And the compile errors:

C:\msys64\mingw64\bin\x86_64-w64-mingw32-g++.exe -DNet_EXPORTS -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_NO_AUTOMATIC_LIBS -DPOCO_OS_FAMILY_WINDOWS -DPOCO_UNBUNDLED -DUNICODE -D_UNICODE -IC:/msys64/home/psrebrny/one/bt/poco/src/cd25ece3b9-a268e1a6d9.clean/Net/include -IC:/msys64/home/psrebrny/one/bt/poco/src/cd25ece3b9-a268e1a6d9.clean/Net/src -IC:/msys64/home/psrebrny/one/bt/poco/src/cd25ece3b9-a268e1a6d9.clean/Foundation/include -isystem C:/msys64/home/psrebrny/one/onespin/2023.2/install/x64-mingw/include -std=gnu++20 -m64 -O3 -DNDEBUG -std=gnu++14 -MD -MT Net/CMakeFiles/Net.dir/src/PollSet.cpp.obj -MF Net\CMakeFiles\Net.dir\src\PollSet.cpp.obj.d -o Net/CMakeFiles/Net.dir/src/PollSet.cpp.obj -c C:/msys64/home/psrebrny/one/bt/poco/src/cd25ece3b9-a268e1a6d9.clean/Net/src/PollSet.cpp
C:/msys64/home/psrebrny/one/bt/poco/src/cd25ece3b9-a268e1a6d9.clean/Net/src/PollSet.cpp: In destructor 'Poco::Net::PollSetImpl::~PollSetImpl()':
C:/msys64/home/psrebrny/one/bt/poco/src/cd25ece3b9-a268e1a6d9.clean/Net/src/PollSet.cpp:94:30: error: ordered comparison of pointer with integer zero ('std::atomic<void*>::__pointer_type' {aka 'void*'} and 'int')
   94 |                 if (_epollfd >= 0) close(_epollfd);
      |                     ~~~~~~~~~^~~~
C:/msys64/home/psrebrny/one/bt/poco/src/cd25ece3b9-a268e1a6d9.clean/Net/src/PollSet.cpp: In member function 'void Poco::Net::PollSetImpl::clear()':
C:/msys64/home/psrebrny/one/bt/poco/src/cd25ece3b9-a268e1a6d9.clean/Net/src/PollSet.cpp:149:38: error: ordered comparison of pointer with integer zero ('std::atomic<void*>::__pointer_type' {aka 'void*'} and 'int')
  149 |                         if (_epollfd < 0) SocketImpl::error();
      |                             ~~~~~~~~~^~~
C:\msys64\mingw64\bin\x86_64-w64-mingw32-g++.exe -DNet_EXPORTS -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_NO_AUTOMATIC_LIBS -DPOCO_OS_FAMILY_WINDOWS -DPOCO_UNBUNDLED -DUNICODE -D_UNICODE -IC:/msys64/home/psrebrny/one/bt/poco/src/cd25ece3b9-a268e1a6d9.clean/Net/include -IC:/msys64/home/psrebrny/one/bt/poco/src/cd25ece3b9-a268e1a6d9.clean/Net/src -IC:/msys64/home/psrebrny/one/bt/poco/src/cd25ece3b9-a268e1a6d9.clean/Foundation/include -isystem C:/msys64/home/psrebrny/one/onespin/2023.2/install/x64-mingw/include -std=gnu++20 -m64 -O3 -DNDEBUG -std=gnu++14 -MD -MT Net/CMakeFiles/Net.dir/src/SocketImpl.cpp.obj -MF Net\CMakeFiles\Net.dir\src\SocketImpl.cpp.obj.d -o Net/CMakeFiles/Net.dir/src/SocketImpl.cpp.obj -c C:/msys64/home/psrebrny/one/bt/poco/src/cd25ece3b9-a268e1a6d9.clean/Net/src/SocketImpl.cpp
C:/msys64/home/psrebrny/one/bt/poco/src/cd25ece3b9-a268e1a6d9.clean/Net/src/SocketImpl.cpp: In member function 'virtual bool Poco::Net::SocketImpl::poll(const Poco::Timespan&, int)':
C:/msys64/home/psrebrny/one/bt/poco/src/cd25ece3b9-a268e1a6d9.clean/Net/src/SocketImpl.cpp:649:21: error: ordered comparison of pointer with integer zero ('HANDLE' {aka 'void*'} and 'int')
  649 |         if (epollfd < 0)
      |             ~~~~~~~~^~~

Any ideas how can i solve that issue?

@aleks-f aleks-f added this to the Release 1.13.1 milestone Jan 6, 2024
@matejk
Copy link
Contributor

matejk commented Jan 10, 2024

Poco version 1.13 and MinGW 10:

Poco::Net compiles. Need to check with newer version of MinGW.

@matejk matejk added the fixed label Jan 14, 2024
@aleks-f aleks-f closed this as completed Feb 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

No branches or pull requests

3 participants