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

Bug 592584

Summary: sys-auth/pam_mount fails to build with >=dev-libs/openssl-1.1.0 with deprecated features disabled
Product: Gentoo Linux Reporter: Lars Wendler (Polynomial-C) (RETIRED) <polynomial-c>
Component: Current packagesAssignee: Hanno Böck <hanno>
Status: RESOLVED FIXED    
Severity: normal CC: mattst88
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://sourceforge.net/p/pam-mount/bugs/125/
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 669514    
Attachments: build.log

Description Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2016-08-31 12:20:56 UTC
Created attachment 444620 [details]
build.log

libtool: compile:  x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DRUNDIR=\"/run\" -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/libxml2 -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Wformat=2 -pipe -fvisibility=hidden -march=native -mtune=native -O2 -pipe -c crypto.c  -fPIC -DPIC -o .libs/crypto.o
crypto.c: In function 'cryptmount_init':
crypto.c:71:3: warning: implicit declaration of function 'OpenSSL_add_all_algorithms' [-Wimplicit-function-declaration]
   OpenSSL_add_all_algorithms();
   ^
crypto.c:72:3: warning: implicit declaration of function 'OpenSSL_add_all_ciphers' [-Wimplicit-function-declaration]
   OpenSSL_add_all_ciphers();
   ^
crypto.c:73:3: warning: implicit declaration of function 'OpenSSL_add_all_digests' [-Wimplicit-function-declaration]
   OpenSSL_add_all_digests();
   ^
crypto.c: In function 'ehd_decrypt_key2':
crypto.c:418:17: error: storage size of 'ctx' isn't known
  EVP_CIPHER_CTX ctx;
                 ^
crypto.c:428:57: error: dereferencing pointer to incomplete type 'EVP_CIPHER {aka const struct evp_cipher_st}'
  out = HXmc_meminit(NULL, par->d_keysize + par->s_cipher->block_size);
                                                         ^
crypto.c:429:2: warning: implicit declaration of function 'EVP_CIPHER_CTX_init' [-Wimplicit-function-declaration]
  EVP_CIPHER_CTX_init(&ctx);
  ^
crypto.c:438:2: warning: implicit declaration of function 'EVP_CIPHER_CTX_cleanup' [-Wimplicit-function-declaration]
  EVP_CIPHER_CTX_cleanup(&ctx);
  ^
crypto.c:418:17: warning: unused variable 'ctx' [-Wunused-variable]
  EVP_CIPHER_CTX ctx;
                 ^
make[2]: *** [Makefile:777: crypto.lo] Error 1
make[2]: Leaving directory '/var/tmp/portage/sys-auth/pam_mount-2.15/work/pam_mount-2.15/src'
make[1]: *** [Makefile:483: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/sys-auth/pam_mount-2.15/work/pam_mount-2.15'
make: *** [Makefile:391: all] Error 2
Comment 1 Hanno Böck gentoo-dev 2016-09-13 10:27:28 UTC
Upstream issue, I opened a bug report there:
https://sourceforge.net/p/pam-mount/bugs/116/
Comment 2 Hanno Böck gentoo-dev 2016-09-26 11:27:13 UTC
Upstream released 2.16 with openssl 1.1 compatibility, added to the tree.
Comment 3 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2017-04-05 13:50:51 UTC
Reopening. The package still fails whithout deprecated features from openssl:

libtool: link: x86_64-pc-linux-gnu-gcc -Wall -Waggregate-return -Wmissing-declar
ations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Wfor
mat=2 -pipe -fvisibility=hidden -march=native -mtune=native -O2 -pipe -Wl,-O1 -W
l,--hash-style=gnu -Wl,--sort-common -Wl,--as-needed -o .libs/autoloop autoloop.
o  ./.libs/libcryptmount.so -lcrypto -lcryptsetup -lHX
./.libs/libcryptmount.so: undefined reference to `OpenSSL_add_all_digests'
./.libs/libcryptmount.so: undefined reference to `OpenSSL_add_all_ciphers'
./.libs/libcryptmount.so: undefined reference to `OpenSSL_add_all_algorithms'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:711: autoloop] Error 1
Comment 4 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2018-09-29 17:21:15 UTC
Since we decided to no longer build openssl without deprecated features, this bug can now be considered as fixed (but will eventually reappear once openssl upstream finally removed deprecated features from their code).
Comment 5 Matt Turner gentoo-dev 2018-10-26 18:25:13 UTC
We should leave it open in that case and remove the openssl-1.1 block then, I think.
Comment 6 Craig Andrews gentoo-dev 2018-11-12 04:27:35 UTC
Updated summary for additional clarity to reflect that this works fine with currently in tree dev-libs/openssl-1.1.1-r1
Comment 7 Hanno Böck gentoo-dev 2018-12-06 10:31:53 UTC
Reported the deprecated function use to upstream:
https://sourceforge.net/p/pam-mount/bugs/125/
Comment 8 Larry the Git Cow gentoo-dev 2020-09-09 14:10:56 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd103ede269b873c62a22c6d22f5c4caa5c9052b

commit bd103ede269b873c62a22c6d22f5c4caa5c9052b
Author:     Hanno Böck <hanno@gentoo.org>
AuthorDate: 2020-09-09 14:10:45 +0000
Commit:     Hanno Böck <hanno@gentoo.org>
CommitDate: 2020-09-09 14:10:45 +0000

    sys-auth/pam_mount: Various fixes.
    
    Remove old OpenSSL API.
    Support LibreSSL.
    Bump EAPI to 7.
    Remove unused empty dir causing QA warning.
    
    Signed-off-by: Hanno Böck <hanno@gentoo.org>
    Closes: https://bugs.gentoo.org/720244
    Closes: https://bugs.gentoo.org/592584
    Package-Manager: Portage-3.0.6, Repoman-3.0.1

 ...am_mount-2.16-remove-obsolete-openssl-api.patch | 17 ++++++++
 sys-auth/pam_mount/pam_mount-2.16-r2.ebuild        | 50 ++++++++++++++++++++++
 2 files changed, 67 insertions(+)