artyom-beilis/cppcms

[Docker] Tests fails at aio_socket IPV6 and locale_format/boundary

theGitpster45 opened this issue · 1 comments

Hi
I'm trying to create a Dockerfile that runs a CppCMS application in a NGINX web server.
However, the command make tests always returns that the tests fail at test_locale_format , test_locale_boundary and test_aio_socket . The two first are solved by applying the option -DDISABLE_ICU_LOCALE=ON.
I checked if the image has some services using the port 8080, but it's not the case.

cppcms_test_fail

Specifications:

  • OS: nginx:1.19.7 : Docker image with nginx in Debian OS
  • Docker-Compose file
version: "3.9"
services: 
  app:    
    build:
      context: "./app"
      dockerfile: ".docker/Dockerfile"
    volumes:
      - ./app:/etc/nginx/sites-available/
    ports: 
      - "8090:8080"
  • Dockerfile:
FROM nginx:1.19.7


RUN apt-get update && \
   apt-get install -y --no-install-recommends \
   build-essential git cmake libpcre3-dev zlib1g-dev libgcrypt20-dev libicu-dev python 

ENV CTEST_OUTPUT_ON_FAILURE=1

WORKDIR /etc/nginx/sites-available/app/

COPY /cppcms ./lib/cppcms

RUN cd ./lib/cppcms/build && \
   cmake -DDISABLE_ICU_LOCALE=ON .. && \
   make && \
   make test && \
   make install


RUN c++ hello.cpp -lcppcms -o hello

CMD ["./hello" "-c" "config/config.js"]
  • CMAKE output

-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- 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
-- Looking for newlocale
-- Looking for newlocale - found
-- Performing Test LIBC_ICONV
-- Performing Test LIBC_ICONV - Success
-- Performing Test GCC_IS_GCC4
-- Performing Test GCC_IS_GCC4 - Success
-- Looking for dlopen
-- Looking for dlopen - not found
-- Looking for socket
-- Looking for socket - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Performing Test BOOSTER_HAS_GCC_SYNC
-- Performing Test BOOSTER_HAS_GCC_SYNC - Success
-- Performing Test BOOSTER_HAVE_GCC_BITS_EXCHANGE_AND_ADD
-- Performing Test BOOSTER_HAVE_GCC_BITS_EXCHANGE_AND_ADD - Failed
-- Performing Test BOOSTER_HAVE_GCC_EXT_EXCHANGE_AND_ADD
-- Performing Test BOOSTER_HAVE_GCC_EXT_EXCHANGE_AND_ADD - Success
-- Performing Test BOOSTER_HAVE_FREEBSD_ATOMIC
-- Performing Test BOOSTER_HAVE_FREEBSD_ATOMIC - Failed
-- Performing Test BOOSTER_HAVE_EXECINFO
-- Performing Test BOOSTER_HAVE_EXECINFO - Success
-- Performing Test BOOSTER_HAVE_UNWIND_BACKTRACE
-- Performing Test BOOSTER_HAVE_UNWIND_BACKTRACE - Success
-- Performing Test BOOSTER_HAVE_UNWIND_BACKTRACE_BUILTIN
-- Performing Test BOOSTER_HAVE_UNWIND_BACKTRACE_BUILTIN - Failed
-- Performing Test BOOSTER_HAVE_SOLARIS_ATOMIC
-- Performing Test BOOSTER_HAVE_SOLARIS_ATOMIC - Failed
-- Performing Test BOOSTER_HAVE_MAC_OS_X_ATOMIC
-- Performing Test BOOSTER_HAVE_MAC_OS_X_ATOMIC - Failed
-- Performing Test BOOSTER_HAVE_STDINT_H
-- Performing Test BOOSTER_HAVE_STDINT_H - Success
-- Performing Test BOOSTER_HAVE_INTTYPES_H
-- Performing Test BOOSTER_HAVE_INTTYPES_H - Success
-- Performing Test BOOSTER_AIO_HAVE_PF_INET6
-- Performing Test BOOSTER_AIO_HAVE_PF_INET6 - Success
-- Performing Test HAVE_WINDOWS6_API
-- Performing Test HAVE_WINDOWS6_API - Failed
-- Performing Test CPPCMS_HAVE_STDINT_H
-- Performing Test CPPCMS_HAVE_STDINT_H - Success
-- Performing Test CPPCMS_HAVE_INTTYPES_H
-- Performing Test CPPCMS_HAVE_INTTYPES_H - Success
-- Looking for atoll
-- Looking for atoll - found
-- Looking for _atoi64
-- Looking for _atoi64 - not found
-- Looking for snprintf
-- Looking for snprintf - found
-- Looking for stat
-- Looking for stat - found
-- Looking for _stat
-- Looking for _stat - not found
-- Performing Test CPPCMS_HAVE_STD_WSTRING
-- Performing Test CPPCMS_HAVE_STD_WSTRING - Success
-- Performing Test CPPCMS_HAVE_BSD_TM
-- Performing Test CPPCMS_HAVE_BSD_TM - Success
-- Performing Test CPPCMS_HAVE_CPP0X_UXSTRING
-- Performing Test CPPCMS_HAVE_CPP0X_UXSTRING - Success
-- Performing Test CPPCMS_HAVE_CPP_0X_AUTO
-- Performing Test CPPCMS_HAVE_CPP_0X_AUTO - Success
-- Performing Test CPPCMS_HAVE_CPP_0X_DECLTYPE
-- Performing Test CPPCMS_HAVE_CPP_0X_DECLTYPE - Success
-- Performing Test CPPCMS_HAVE_GCC_TYPEOF
-- Performing Test CPPCMS_HAVE_GCC_TYPEOF - Success
-- Performing Test CPPCMS_HAVE_UNDERSCORE_TYPEOF
-- Performing Test CPPCMS_HAVE_UNDERSCORE_TYPEOF - Success
-- Performing Test CPPCMS_HAVE_FSEEKO
-- Performing Test CPPCMS_HAVE_FSEEKO - Success
-- Performing Test CPPCMS_HAVE_FSEEKI64
-- Performing Test CPPCMS_HAVE_FSEEKI64 - Failed
-- Looking for dlopen
-- Looking for dlopen - not found
-- Looking for dlopen in dl
-- Looking for dlopen in dl - found
-- Looking for socket
-- Looking for socket - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for canonicalize_file_name
-- Looking for canonicalize_file_name - found
-- Looking for pthread_mutexattr_setpshared
-- Looking for pthread_mutexattr_setpshared - not found
-- Looking for pthread_mutexattr_setpshared in /usr/lib/x86_64-linux-gnu/libpthread.so
-- Looking for pthread_mutexattr_setpshared in /usr/lib/x86_64-linux-gnu/libpthread.so - found

It fails test of using IPv6 protocol. while from what I understand IPv4 works ok.

It maybe related to runtime-docker envronment. I don't think it is critical issue just no-IPV-6 availability