Hi Robert, here's some things I noticed while doing initial work on packaging pound v3 for Debian:
Compiling without libpcre fails at the linker stage, the mbedtls libraries aren't passed on the command line. See attached log. The man page references pound.cfg and has a typo, fix: s/pound.cfg/pound.yaml/ s/negociation/negotiation/ Is there a reason why you include uthash in the tarball instead of going the usual route, like with all other dependencies? Regards, Carsten
cd build && cmake .. Re-run cmake no build system arguments -- The C compiler identification is GNU 9.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 -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Check if compiler accepts -pthread -- Check if compiler accepts -pthread - yes -- Found Threads: TRUE -- Looking for 33 include files stdio.h, ..., mbedtls/error.h -- Looking for 33 include files stdio.h, ..., mbedtls/error.h - found -- Looking for include file pcreposix.h -- Looking for include file pcreposix.h - not found -- Looking for include file pcre/pcreposix.h -- Looking for include file pcre/pcreposix.h - not found -- Looking for include file regex.h -- Looking for include file regex.h - found -- Looking for include file stdarg.h -- Looking for include file stdarg.h - found -- Configuring done -- Generating done -- Build files have been written to: /build/pound-3.0~c/build make[1]: Leaving directory '/build/pound-3.0~c' debian/rules override_dh_auto_build make[1]: Entering directory '/build/pound-3.0~c' cd build && make make[2]: Entering directory '/build/pound-3.0~c/build' /usr/bin/cmake -S"/build/pound-3.0~c" -B"/build/pound-3.0~c/build" --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start "/build/pound-3.0~c/build/CMakeFiles" "/build/pound-3.0~c/build/CMakeFiles/progress.marks" make -f CMakeFiles/Makefile2 all make[3]: Entering directory '/build/pound-3.0~c/build' make -f CMakeFiles/pound.dir/build.make CMakeFiles/pound.dir/depend make[4]: Entering directory '/build/pound-3.0~c/build' cd "/build/pound-3.0~c/build" && /usr/bin/cmake -E cmake_depends "Unix Makefiles" "/build/pound-3.0~c" "/build/pound-3.0~c" "/build/pound-3.0~c/build" "/build/pound-3.0~c/build" "/build/pound-3.0~c/build/CMakeFiles/pound.dir/DependInfo.cmake" --color= Dependee "/build/pound-3.0~c/build/CMakeFiles/pound.dir/DependInfo.cmake" is newer than depender "/build/pound-3.0~c/build/CMakeFiles/pound.dir/depend.internal". Dependee "/build/pound-3.0~c/build/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/build/pound-3.0~c/build/CMakeFiles/pound.dir/depend.internal". Scanning dependencies of target pound make[4]: Leaving directory '/build/pound-3.0~c/build' make -f CMakeFiles/pound.dir/build.make CMakeFiles/pound.dir/build make[4]: Entering directory '/build/pound-3.0~c/build' [ 16%] Building C object CMakeFiles/pound.dir/src/backend.c.o /usr/bin/cc -I"/build/pound-3.0~c/include" -g -O2 -fdebug-prefix-map=/build/pound-3.0~c=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-unused-result -Wno-cast-qual -Wno-discarded-qualifiers -D_GNU_SOURCE -pthread -o CMakeFiles/pound.dir/src/backend.c.o -c "/build/pound-3.0~c/src/backend.c" [ 33%] Building C object CMakeFiles/pound.dir/src/config.c.o /usr/bin/cc -I"/build/pound-3.0~c/include" -g -O2 -fdebug-prefix-map=/build/pound-3.0~c=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-unused-result -Wno-cast-qual -Wno-discarded-qualifiers -D_GNU_SOURCE -pthread -o CMakeFiles/pound.dir/src/config.c.o -c "/build/pound-3.0~c/src/config.c" [ 50%] Building C object CMakeFiles/pound.dir/src/http.c.o /usr/bin/cc -I"/build/pound-3.0~c/include" -g -O2 -fdebug-prefix-map=/build/pound-3.0~c=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-unused-result -Wno-cast-qual -Wno-discarded-qualifiers -D_GNU_SOURCE -pthread -o CMakeFiles/pound.dir/src/http.c.o -c "/build/pound-3.0~c/src/http.c" [ 66%] Building C object CMakeFiles/pound.dir/src/pound.c.o /usr/bin/cc -I"/build/pound-3.0~c/include" -g -O2 -fdebug-prefix-map=/build/pound-3.0~c=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-unused-result -Wno-cast-qual -Wno-discarded-qualifiers -D_GNU_SOURCE -pthread -o CMakeFiles/pound.dir/src/pound.c.o -c "/build/pound-3.0~c/src/pound.c" [ 83%] Building C object CMakeFiles/pound.dir/src/util.c.o /usr/bin/cc -I"/build/pound-3.0~c/include" -g -O2 -fdebug-prefix-map=/build/pound-3.0~c=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-unused-result -Wno-cast-qual -Wno-discarded-qualifiers -D_GNU_SOURCE -pthread -o CMakeFiles/pound.dir/src/util.c.o -c "/build/pound-3.0~c/src/util.c" [100%] Linking C executable pound /usr/bin/cmake -E cmake_link_script CMakeFiles/pound.dir/link.txt --verbose="switch cmake to verbose" /usr/bin/cc -g -O2 -fdebug-prefix-map=/build/pound-3.0~c=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-unused-result -Wno-cast-qual -Wno-discarded-qualifiers -D_GNU_SOURCE -Wl,-z,relro -Wl,-z,now -rdynamic CMakeFiles/pound.dir/src/backend.c.o CMakeFiles/pound.dir/src/config.c.o CMakeFiles/pound.dir/src/http.c.o CMakeFiles/pound.dir/src/pound.c.o CMakeFiles/pound.dir/src/util.c.o -o pound -lyaml -lnanomsg -lpthread -pthread /usr/bin/ld: CMakeFiles/pound.dir/src/config.c.o: in function `get_one': ./build/./src/config.c:368: undefined reference to `mbedtls_x509_crt_init' /usr/bin/ld: ./build/./src/config.c:369: undefined reference to `mbedtls_x509_crt_parse_file' /usr/bin/ld: ./build/./src/config.c:371: undefined reference to `mbedtls_pk_init' /usr/bin/ld: ./build/./src/config.c:372: undefined reference to `mbedtls_pk_parse_keyfile' /usr/bin/ld: ./build/./src/config.c:376: undefined reference to `mbedtls_pk_check_pair' /usr/bin/ld: CMakeFiles/pound.dir/src/config.c.o: in function `get_https': ./build/./src/config.c:479: undefined reference to `mbedtls_ssl_config_init' /usr/bin/ld: ./build/./src/config.c:480: undefined reference to `mbedtls_ctr_drbg_random' /usr/bin/ld: ./build/./src/config.c:480: undefined reference to `mbedtls_ssl_conf_rng' /usr/bin/ld: ./build/./src/config.c:481: undefined reference to `mbedtls_ssl_config_defaults' /usr/bin/ld: ./build/./src/config.c:482: undefined reference to `mbedtls_ssl_conf_alpn_protocols' /usr/bin/ld: ./build/./src/config.c:483: undefined reference to `mbedtls_ssl_conf_authmode' /usr/bin/ld: ./build/./src/config.c:523: undefined reference to `mbedtls_ssl_conf_ciphersuites' /usr/bin/ld: ./build/./src/config.c:526: undefined reference to `mbedtls_ssl_conf_sni' /usr/bin/ld: ./build/./src/config.c:527: undefined reference to `mbedtls_ssl_conf_own_cert' /usr/bin/ld: ./build/./src/config.c:529: undefined reference to `mbedtls_ssl_conf_ca_chain' /usr/bin/ld: ./build/./src/config.c:530: undefined reference to `mbedtls_ssl_conf_read_timeout' /usr/bin/ld: CMakeFiles/pound.dir/src/config.c.o: in function `get_ciphers': ./build/./src/config.c:337: undefined reference to `mbedtls_ssl_get_ciphersuite_id' /usr/bin/ld: ./build/./src/config.c:329: undefined reference to `mbedtls_ssl_get_ciphersuite_id' /usr/bin/ld: CMakeFiles/pound.dir/src/pound.c.o: in function `main': ./build/./src/pound.c:61: undefined reference to `mbedtls_entropy_init' /usr/bin/ld: ./build/./src/pound.c:62: undefined reference to `mbedtls_ctr_drbg_init' /usr/bin/ld: ./build/./src/pound.c:64: undefined reference to `mbedtls_entropy_func' /usr/bin/ld: ./build/./src/pound.c:64: undefined reference to `mbedtls_ctr_drbg_seed' /usr/bin/ld: CMakeFiles/pound.dir/src/http.c.o: in function `c_close': ./build/./src/http.c:393: undefined reference to `mbedtls_ssl_write' /usr/bin/ld: ./build/./src/http.c:394: undefined reference to `mbedtls_ssl_close_notify' /usr/bin/ld: ./build/./src/http.c:396: undefined reference to `mbedtls_ssl_free' /usr/bin/ld: ./build/./src/http.c:397: undefined reference to `mbedtls_net_free' /usr/bin/ld: CMakeFiles/pound.dir/src/http.c.o: in function `c_write': ./build/./src/http.c:375: undefined reference to `mbedtls_ssl_write' /usr/bin/ld: CMakeFiles/pound.dir/src/http.c.o: in function `c_read': ./build/./src/http.c:338: undefined reference to `mbedtls_ssl_read' /usr/bin/ld: CMakeFiles/pound.dir/src/http.c.o: in function `thr_http': ./build/./src/http.c:439: undefined reference to `mbedtls_net_init' /usr/bin/ld: ./build/./src/http.c:441: undefined reference to `mbedtls_ssl_init' /usr/bin/ld: ./build/./src/http.c:442: undefined reference to `mbedtls_ssl_setup' /usr/bin/ld: ./build/./src/http.c:443: undefined reference to `mbedtls_net_recv_timeout' /usr/bin/ld: ./build/./src/http.c:443: undefined reference to `mbedtls_net_send' /usr/bin/ld: ./build/./src/http.c:443: undefined reference to `mbedtls_ssl_set_bio' /usr/bin/ld: ./build/./src/http.c:444: undefined reference to `mbedtls_ssl_handshake' /usr/bin/ld: ./build/./src/http.c:451: undefined reference to `mbedtls_ssl_get_peer_cert' /usr/bin/ld: ./build/./src/http.c:452: undefined reference to `mbedtls_ssl_get_peer_cert' /usr/bin/ld: ./build/./src/http.c:452: undefined reference to `mbedtls_x509_crt_info' /usr/bin/ld: ./build/./src/http.c:445: undefined reference to `mbedtls_strerror' /usr/bin/ld: ./build/./src/http.c:447: undefined reference to `mbedtls_ssl_free' /usr/bin/ld: ./build/./src/http.c:465: undefined reference to `mbedtls_ssl_free' /usr/bin/ld: ./build/./src/http.c:466: undefined reference to `mbedtls_net_free' /usr/bin/ld: CMakeFiles/pound.dir/src/util.c.o: in function `do_sni': ./build/./src/util.c:159: undefined reference to `mbedtls_ssl_set_hs_own_cert' collect2: error: ld returned 1 exit status make[4]: *** [CMakeFiles/pound.dir/build.make:144: pound] Error 1 make[4]: Leaving directory '/build/pound-3.0~c/build' make[3]: *** [CMakeFiles/Makefile2:76: CMakeFiles/pound.dir/all] Error 2 make[3]: Leaving directory '/build/pound-3.0~c/build' make[2]: *** [Makefile:84: all] Error 2 make[2]: Leaving directory '/build/pound-3.0~c/build' make[1]: *** [debian/rules:24: override_dh_auto_build] Error 2 make[1]: Leaving directory '/build/pound-3.0~c'
-- pound mailing list pound@apsis.ch https://admin.hostpoint.ch/mailman/listinfo/pound_apsis.ch