Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 592500

Summary: net-ftp/pure-ftpd fails to build with >=dev-libs/openssl-1.1.0
Product: Gentoo Linux Reporter: Lars Wendler (Polynomial-C) (RETIRED) <polynomial-c>
Component: Current packagesAssignee: Lars Wendler (Polynomial-C) (RETIRED) <polynomial-c>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.debian.org/828516
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 592438, 669514    
Attachments: build.log

Description Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2016-08-30 22:34:38 UTC
Created attachment 444512 [details]
build.log

x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..   -DALWAYS_RESOLVE_IDS -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc\" -DSTATEDIR=\"/var/lib\" -DINCLUDE_IO_WRAPPERS=1 -
march=native -mtune=native -O2 -pipe -fPIC -fPIE -fwrapv -fno-strict-aliasing -fno-strict-overflow -Winit-self -Wwrite-strings -Wdiv-by-zero -c -o libpureftpd_a-tls.o `test -f 'tls.c' || echo './'`tls.c
<command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
tls.c: In function ‘tls_init_dhparams_default’:
tls.c:150:5: error: variable ‘p’ has initializer but incomplete type
     static const BIGNUM p = {
     ^
tls.c:151:9: warning: excess elements in struct initializer
         (BN_ULONG *) dh2048_256_p,
         ^
tls.c:151:9: note: (near initialization for ‘p’)
tls.c:152:9: warning: excess elements in struct initializer
         sizeof(dh2048_256_p) / sizeof(BN_ULONG),
         ^
tls.c:152:9: note: (near initialization for ‘p’)
tls.c:153:9: warning: excess elements in struct initializer
         sizeof(dh2048_256_p) / sizeof(BN_ULONG),
         ^
tls.c:153:9: note: (near initialization for ‘p’)
tls.c:154:9: warning: excess elements in struct initializer
         0, BN_FLG_STATIC_DATA
         ^
tls.c:154:9: note: (near initialization for ‘p’)
tls.c:150:25: error: storage size of ‘p’ isn’t known
     static const BIGNUM p = {
                         ^
tls.c:156:5: error: variable ‘g’ has initializer but incomplete type
     static const BIGNUM g = {
     ^
tls.c:157:9: warning: excess elements in struct initializer
         (BN_ULONG *) dh2048_256_g,
         ^
tls.c:157:9: note: (near initialization for ‘g’)
tls.c:158:9: warning: excess elements in struct initializer
         sizeof(dh2048_256_g) / sizeof(BN_ULONG),
         ^
tls.c:158:9: note: (near initialization for ‘g’)
tls.c:159:9: warning: excess elements in struct initializer
         sizeof(dh2048_256_g) / sizeof(BN_ULONG),
         ^
tls.c:159:9: note: (near initialization for ‘g’)
tls.c:160:9: warning: excess elements in struct initializer
         0, BN_FLG_STATIC_DATA
         ^
tls.c:160:9: note: (near initialization for ‘g’)
tls.c:156:25: error: storage size of ‘g’ isn’t known
     static const BIGNUM g = {
                         ^
tls.c:162:5: error: variable ‘q’ has initializer but incomplete type
     static const BIGNUM q = {
     ^
tls.c:163:9: warning: excess elements in struct initializer
         (BN_ULONG *) dh2048_256_q,
         ^
tls.c:163:9: note: (near initialization for ‘q’)
tls.c:164:9: warning: excess elements in struct initializer
         sizeof(dh2048_256_q) / sizeof(BN_ULONG),
         ^
tls.c:164:9: note: (near initialization for ‘q’)
tls.c:165:9: warning: excess elements in struct initializer
         sizeof(dh2048_256_q) / sizeof(BN_ULONG),
         ^
tls.c:165:9: note: (near initialization for ‘q’)
tls.c:166:9: warning: excess elements in struct initializer
         0, BN_FLG_STATIC_DATA
         ^
tls.c:166:9: note: (near initialization for ‘q’)
tls.c:162:25: error: storage size of ‘q’ isn’t known
     static const BIGNUM q = {
                         ^
tls.c:173:7: error: dereferencing pointer to incomplete type ‘DH {aka struct dh_st}’
     dh->p = BN_dup(&p);
       ^
tls.c: In function ‘ssl_info_cb’:
tls.c:246:12: error: dereferencing pointer to incomplete type ‘SSL {aka const struct ssl_st}’
         cnx->s3->flags |= SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS;
            ^
tls.c: In function ‘tls_init_library’:
tls.c:259:5: warning: implicit declaration of function ‘SSL_library_init’ [-Wimplicit-function-declaration]
     SSL_library_init();
     ^
tls.c:260:5: warning: implicit declaration of function ‘SSL_load_error_strings’ [-Wimplicit-function-declaration]
     SSL_load_error_strings();
     ^
tls.c:261:5: warning: implicit declaration of function ‘OpenSSL_add_all_algorithms’ [-Wimplicit-function-declaration]
     OpenSSL_add_all_algorithms();
     ^
tls.c: In function ‘tls_free_library’:
tls.c:346:5: warning: implicit declaration of function ‘EVP_cleanup’ [-Wimplicit-function-declaration]
     EVP_cleanup();
     ^
make[2]: *** [Makefile:1332: libpureftpd_a-tls.o] Error 1
make[2]: Leaving directory '/var/tmp/portage/net-ftp/pure-ftpd-1.0.43/work/pure-ftpd-1.0.43/src'
make[1]: *** [Makefile:400: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/net-ftp/pure-ftpd-1.0.43/work/pure-ftpd-1.0.43'
make: *** [Makefile:341: all] Error 2
Comment 1 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2017-01-01 19:35:14 UTC
commit 0d9ae6dff42ecb26d26619a55f3da422fd0ea14d
Author: Lars Wendler <polynomial-c@gentoo.org>
Date:   Sun Jan 1 18:07:24 2017

    net-ftp/pure-ftpd: Bump to version 1.0.44

    Package-Manager: Portage-2.3.3, Repoman-2.3.1

Fixed with 1.0.44 release.
Comment 2 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2017-04-05 13:48:27 UTC
Reopening. The package still fails whithout deprecated features from openssl:

x86_64-pc-linux-gnu-gcc  -march=native -mtune=native -O2 -pipe -fPIC -fPIE -fwra
pv -fno-strict-aliasing -fno-strict-overflow -Winit-self -Wwrite-strings -Wdiv-b
y-zero  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common -Wl,--as-needed -pie -Wl,
-z,relro -Wl,-z,now -Wl,-z,noexecstack -L/usr/local/lib -o pure-ftpd main.o libp
ureftpd.a ../puredb/src/libpuredb_read.a  -lssl -lcrypto -lsodium -lcrypt -ldl -
lcap  -lpam
libpureftpd.a(libpureftpd_a-tls.o): In function `tls_init_library':
tls.c:(.text+0xc8): undefined reference to `SSL_library_init'
tls.c:(.text+0xcf): undefined reference to `SSL_load_error_strings'
tls.c:(.text+0xd6): undefined reference to `OpenSSL_add_all_algorithms'
libpureftpd.a(libpureftpd_a-tls.o): In function `tls_free_library':
tls.c:(.text+0x769): undefined reference to `EVP_cleanup'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:744: pure-ftpd] Error 1
make[2]: Leaving directory '/var/tmp/portage/net-ftp/pure-ftpd-1.0.45-r1/work/pure-ftpd-1.0.45/src'
make[1]: *** [Makefile:453: all-recursive] Error 1
Comment 3 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2017-04-05 20:29:02 UTC
commit 23fb07df54a4817b6f9ead5676754576b07ceff3
Author: Lars Wendler <polynomial-c@gentoo.org>
Date:   Wed Apr 5 22:25:43 2017

    net-ftp/pure-ftpd: Added openssl-1.1 patch (bug #592500).

    Package-Manager: Portage-2.3.5, Repoman-2.3.2