Hi,

First, I want to thank you for pound. I use it for several years now, but
since I had recently compatibility problems, I try to install pound 3 on
Centos 8.1. But without success so far.

I am confused by website that states that :
nanomsg This project has largely been superceded by the *nng*
<https://github.com/nanomsg/nng> project. Users are encouraged to use *nng*
if they are able.   1.1.5, released on October 15, 2018. So I downloaded
nanomsg 1.1.5
mbedSSL is in fact mbedTLS. At least, the provided link goes on this one...
tcmalloc is still in gperftools-libs and I did not find it anywhere else.
pcreposix looks like part of pcre, but impossible to find pcreposix.h in a
repository (and I found a 2010 book stating it is replaced by ap_regex.h
???)

But after installation of all the listed packages (but what I listed
before), I get this:

[root@Cent8Pound build]# cmake ..
-- The C compiler identification is GNU 8.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
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- 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: /root/Pound-3.0c/build


[root@Cent8Pound build]# make
Scanning dependencies of target pound
[ 16%] Building C object CMakeFiles/pound.dir/src/backend.c.o
[ 33%] Building C object CMakeFiles/pound.dir/src/config.c.o
[ 50%] Building C object CMakeFiles/pound.dir/src/http.c.o
[ 66%] Building C object CMakeFiles/pound.dir/src/pound.c.o
[ 83%] Building C object CMakeFiles/pound.dir/src/util.c.o
[100%] Linking C executable pound
CMakeFiles/pound.dir/src/config.c.o: In function `get_ciphers':
config.c:(.text+0x1dcd): undefined reference to
`mbedtls_ssl_get_ciphersuite_id'
config.c:(.text+0x1f8c): undefined reference to
`mbedtls_ssl_get_ciphersuite_id'
CMakeFiles/pound.dir/src/config.c.o: In function `get_one':
config.c:(.text+0x22d0): undefined reference to `mbedtls_x509_crt_init'
config.c:(.text+0x22e6): undefined reference to
`mbedtls_x509_crt_parse_file'
config.c:(.text+0x2315): undefined reference to `mbedtls_pk_init'
config.c:(.text+0x2337): undefined reference to `mbedtls_pk_parse_keyfile'
config.c:(.text+0x23e6): undefined reference to `mbedtls_pk_check_pair'
CMakeFiles/pound.dir/src/config.c.o: In function `get_https':
config.c:(.text+0x30f1): undefined reference to `mbedtls_ssl_config_init'
config.c:(.text+0x30ff): undefined reference to `mbedtls_ctr_drbg_random'
config.c:(.text+0x3107): undefined reference to `mbedtls_ssl_conf_rng'
config.c:(.text+0x3122): undefined reference to
`mbedtls_ssl_config_defaults'
config.c:(.text+0x3133): undefined reference to
`mbedtls_ssl_conf_alpn_protocols'
config.c:(.text+0x3144): undefined reference to `mbedtls_ssl_conf_authmode'
config.c:(.text+0x369e): undefined reference to
`mbedtls_ssl_conf_ciphersuites'
config.c:(.text+0x36dd): undefined reference to `mbedtls_ssl_conf_sni'
config.c:(.text+0x3704): undefined reference to `mbedtls_ssl_conf_own_cert'
config.c:(.text+0x3739): undefined reference to `mbedtls_ssl_conf_ca_chain'
config.c:(.text+0x374f): undefined reference to
`mbedtls_ssl_conf_read_timeout'
CMakeFiles/pound.dir/src/http.c.o: In function `c_read':
http.c:(.text+0x1d35): undefined reference to `mbedtls_ssl_read'
CMakeFiles/pound.dir/src/http.c.o: In function `c_write':
http.c:(.text+0x1f52): undefined reference to `mbedtls_ssl_write'
CMakeFiles/pound.dir/src/http.c.o: In function `c_close':
http.c:(.text+0x1fd5): undefined reference to `mbedtls_ssl_write'
http.c:(.text+0x1fe4): undefined reference to `mbedtls_ssl_close_notify'
http.c:(.text+0x2005): undefined reference to `mbedtls_ssl_free'
http.c:(.text+0x2011): undefined reference to `mbedtls_net_free'
CMakeFiles/pound.dir/src/http.c.o: In function `thr_http':
http.c:(.text+0x21da): undefined reference to `mbedtls_net_init'
http.c:(.text+0x21f5): undefined reference to `mbedtls_ssl_init'
http.c:(.text+0x220f): undefined reference to `mbedtls_ssl_setup'
http.c:(.text+0x2223): undefined reference to `mbedtls_net_recv_timeout'
http.c:(.text+0x222d): undefined reference to `mbedtls_net_send'
http.c:(.text+0x2235): undefined reference to `mbedtls_ssl_set_bio'
http.c:(.text+0x2244): undefined reference to `mbedtls_ssl_handshake'
http.c:(.text+0x2270): undefined reference to `mbedtls_strerror'
http.c:(.text+0x22a9): undefined reference to `mbedtls_ssl_free'
http.c:(.text+0x22ca): undefined reference to `mbedtls_ssl_get_peer_cert'
http.c:(.text+0x22de): undefined reference to `mbedtls_ssl_get_peer_cert'
http.c:(.text+0x22fd): undefined reference to `mbedtls_x509_crt_info'
http.c:(.text+0x23bb): undefined reference to `mbedtls_ssl_free'
http.c:(.text+0x23ca): undefined reference to `mbedtls_net_free'
CMakeFiles/pound.dir/src/pound.c.o: In function `main':
pound.c:(.text+0xda): undefined reference to `mbedtls_entropy_init'
pound.c:(.text+0xe4): undefined reference to `mbedtls_ctr_drbg_init'
pound.c:(.text+0x117): undefined reference to `mbedtls_entropy_func'
pound.c:(.text+0x121): undefined reference to `mbedtls_ctr_drbg_seed'
CMakeFiles/pound.dir/src/util.c.o: In function `do_sni':
util.c:(.text+0x78a): undefined reference to `mbedtls_ssl_set_hs_own_cert'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/pound.dir/build.make:144: pound] Error 1
make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/pound.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

NOTA:
With centos 7, I got to this level:
[root@feux2-pound3 build]# make
[ 16%] Linking C executable pound
CMakeFiles/pound.dir/src/pound.c.o: In function `main':
pound.c:(.text+0xf8): undefined reference to `getentropy'
collect2: error: ld returned 1 exit status
make[2]: *** [pound] Error 1
make[1]: *** [CMakeFiles/pound.dir/all] Error 2
make: *** [all] Error 2

getentropy looks to be added in a later version of glibc than we have in
Centos 7.8 repository.


So, what can I do? Could you clarify how to build this version?

Probably, it is a basic problem. But I am not expert enough.

thank you for your help,

Christian COMMARMOND



Le mar. 5 mai 2020 à 22:04, Carsten Leonhardt <l...@debian.org> a écrit :

> Hi Robert,
>
> I found more things to report:
>
> The setuid call needs to come after the setgid call, otherwise the right
> to change gid is lost when the uid is changed away from root. So the
> lines 117-121 and 122-126 need to be switched in src/pound.c.
>
>
> With the configuration below, pound doesn't answer requests but uses
> 100% CPU. http://localhost:80 works, but http://localhost:8080 doesn't.
>
> Regards,
>
> Carsten
>
> ------8<-----8<------8<------
> Global:
>   User:         "_pound"
>   Group:        "_pound"
>
> Backends:
>   - &be
>     Address: 127.0.0.1
>     Port: 80
>
> HTTPListeners:
>   - Address: 127.0.0.1
>     Port: 8080
>     Services:
>       - Backends:
>         - *be
>
> HTTPSListeners:
> ------8<-----8<------8<------
>
> --
> pound mailing list
> pound@apsis.ch
> https://admin.hostpoint.ch/mailman/listinfo/pound_apsis.ch
>
-- 
pound mailing list
pound@apsis.ch
https://admin.hostpoint.ch/mailman/listinfo/pound_apsis.ch

Reply via email to