cpp-httplib has an unversioned openssl dependency, but it won't build with the 1.1.x series: CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR: Found unsuitable version "1.1.1t", but required is at least "3.0.0" (found /usr/lib64/libcrypto.so, found components: Crypto SSL) I still see OpenSSL 1.0.2u & 1.1.1w in the tree. I'm trying to minimise updates to dependent packages before upgrading to OpenSSL 3.0.13, but this isn't possible with cpp-httplib. Reproducible: Always Steps to Reproduce: 1. # equery l openssl * Searching for openssl ... [I--] [??] dev-libs/openssl-1.1.1t-r3:0/1.1 2. emerge -v cpp-httplib 3. Actual Results: cpp-httplib configure phase fails due to outdated OpenSSL (see error message above) Expected Results: cpp-httplib is upgraded Portage 3.0.63 (python 3.11.4-final-0, default/linux/amd64/17.1/systemd/merged-usr, gcc-13, glibc-2.36-r5, 5.10.52-gentoo.hex x86_64) ================================================================= System uname: Linux-5.10.52-gentoo.hex-x86_64-AMD_Ryzen_9_3900X_12-Core_Processor-with-glibc2.36 KiB Mem: 65829608 total, 2010036 free KiB Swap: 124999672 total, 124996052 free Timestamp of repository gentoo: Sat, 15 Jun 2024 06:30:00 +0000 Head commit of repository gentoo: a6e66bcafac3bd46dda51e55426754f69605f3fe sh bash 5.1_p16-r2 ld GNU ld (Gentoo 2.40 p5) 2.40.0 app-misc/pax-utils: 1.3.7::gentoo app-shells/bash: 5.1_p16-r2::gentoo dev-build/autoconf: 2.13-r7::gentoo, 2.69-r9::gentoo, 2.71-r6::gentoo dev-build/automake: 1.16.5::gentoo dev-build/cmake: 3.28.3::gentoo dev-build/libtool: 2.4.7-r3::gentoo dev-build/make: 4.4.1-r1::gentoo dev-build/meson: 1.3.2::gentoo dev-java/java-config: 2.3.3-r1::gentoo dev-lang/perl: 5.38.2-r3::gentoo dev-lang/python: 3.10.14_p1::gentoo, 3.11.4::gentoo, 3.12.3::gentoo dev-lang/rust: 1.77.1::gentoo sys-apps/baselayout: 2.15::gentoo sys-apps/sandbox: 2.29::gentoo sys-apps/systemd: 255.7::gentoo sys-devel/binutils: 2.38-r2::gentoo, 2.40-r5::gentoo sys-devel/binutils-config: 5.3.2::gentoo sys-devel/clang: 15.0.7-r1::gentoo, 16.0.6::gentoo, 17.0.6::gentoo sys-devel/gcc: 11.3.1_p20230427::gentoo, 12.3.1_p20230526::gentoo, 13.2.1_p20240210::gentoo sys-devel/gcc-config: 2.11::gentoo sys-devel/lld: 15.0.7::gentoo, 17.0.6::gentoo sys-devel/llvm: 14.0.6-r2::gentoo, 15.0.7::gentoo, 16.0.6::gentoo, 17.0.6::gentoo sys-kernel/linux-headers: 6.6::gentoo (virtual/os-headers) sys-libs/glibc: 2.36-r5::gentoo
dev-libs/openssl on SLOT 0/1.1 is masked for a reason. Im not sure there is a point in touching cpp-httplib because of this. > I still see OpenSSL 1.0.2u & 1.1.1w in the tree. I'm trying to minimise updates > to dependent packages before upgrading to OpenSSL 3.0.13, but this isn't > possible with cpp-httplib. I don't think I understand what you are trying to do here?... If you just did world update it would all go through because openssl >=3.0.0 would be merged before cpp-httplib. cpp-httplib binds to openssl SLOT so it will be automatically pulled by portage while updating the openssl SLOT.
(In reply to Maciej Barć from comment #1) > dev-libs/openssl on SLOT 0/1.1 is masked for a reason. Indeed. I was surprised to see it is still in the tree. Why if it has to be unmasked to be used? > Im not sure there is a point in touching cpp-httplib because of this. Ok, I just filed the bug to make you aware of the problem. Feel free to close if you are happy with the status quo. > > > I still see OpenSSL 1.0.2u & 1.1.1w in the tree. I'm trying to minimise updates > to dependent packages before upgrading to OpenSSL 3.0.13, but this isn't > > possible with cpp-httplib. > > I don't think I understand what you are trying to do here?... > If you just did world update it would all go through because openssl >=3.0.0 > would be merged before cpp-httplib. > > cpp-httplib binds to openssl SLOT so it will be automatically pulled by > portage while updating the openssl SLOT. Yes, I know. Portage causes a lot of packages to be rebuilt when OpenSSL is bumped. I'm trying to reduce the risk of one of those failing by updating them alone first where possible. It's a shame that won't be possible with cpp-httplib, because it also triggers an LLVM rebuild, but there we go. I pretty much never do a world update for similar reasons. I like to update in manageable stages. But I didn't open this to solve my problems. It was just for awareness of the dependency.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=123f0945268bfeae61c0b7233b11cbecd943f93a commit 123f0945268bfeae61c0b7233b11cbecd943f93a Author: Maciej Barć <xgqt@gentoo.org> AuthorDate: 2024-06-19 10:51:45 +0000 Commit: Maciej Barć <xgqt@gentoo.org> CommitDate: 2024-06-19 12:32:41 +0000 dev-cpp/cpp-httplib: require openssl >=3 Closes: https://bugs.gentoo.org/934369 Signed-off-by: Maciej Barć <xgqt@gentoo.org> .../{cpp-httplib-0.15.3.ebuild => cpp-httplib-0.15.3-r1.ebuild} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
(In reply to Andrew John Hughes from comment #2) > (In reply to Maciej Barć from comment #1) > > dev-libs/openssl on SLOT 0/1.1 is masked for a reason. > > Indeed. I was surprised to see it is still in the tree. Why if it has to be > unmasked to be used? > For extreme cases for people to test on occasion. It'll go at some point.