Discussion:
[gentoo-user] Please help me understand this emerge error message.
(too old to reply)
Alan Mackenzie
2023-08-11 18:50:01 UTC
Permalink
Hello, Gentoo.

For the past couple of days, after $ emerge --sync, I've tried

$ emerge -auND @world

.. It has come back very quickly with the error message:

#########################################################################

!!! The ebuild selected to satisfy ">=net-misc/curl-7.21.5[ssl]" has unmet requirements.
- net-misc/curl-8.1.2::gentoo USE="adns ftp gnutls http2 imap pop3 progress-meter smtp ssl tftp -alt-svc -brotli -gopher -hsts -idn -kerberos -ldap -mbedtls (-nghttp3) -nss -openssl -rtmp (-rustls) -samba -ssh (-sslv3) -static-libs -telnet
-test -verify-sig -websockets -zstd" ABI_X86="(64) -32 (-x32)" CURL_SSL="openssl -gnutls -mbedtls -nss (-rustls)"

The following REQUIRED_USE flag constraints are unsatisfied:
curl_ssl_openssl? ( openssl )

The above constraints are a subset of the following complete expression:
ssl? ( exactly-one-of ( curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss curl_ssl_openssl curl_ssl_rustls ) ) curl_ssl_gnutls? ( gnutls ) curl_ssl_mbedtls? ( mbedtls ) curl_ssl_nss? ( nss ) curl_ssl_openssl? ( openssl ) curl_ssl_rustls? (
rustls )

#########################################################################

.. I don't understand what is meant by "curl_ssl_openssl? ( openssl )" in
the above message. I assume it's talking about some USE flag, but which?
openssl? curl_ssl_openssl? As a matter of interest, I have
=dev-libs/openssl-3.0.9-r2 installed.

Please help me understand what's happening.

Thanks for the help!
--
Alan Mackenzie (Nuremberg, Germany).
Dale
2023-08-11 19:00:02 UTC
Permalink
Post by Alan Mackenzie
Hello, Gentoo.
For the past couple of days, after $ emerge --sync, I've tried
#########################################################################
!!! The ebuild selected to satisfy ">=net-misc/curl-7.21.5[ssl]" has unmet requirements.
- net-misc/curl-8.1.2::gentoo USE="adns ftp gnutls http2 imap pop3 progress-meter smtp ssl tftp -alt-svc -brotli -gopher -hsts -idn -kerberos -ldap -mbedtls (-nghttp3) -nss -openssl -rtmp (-rustls) -samba -ssh (-sslv3) -static-libs -telnet
-test -verify-sig -websockets -zstd" ABI_X86="(64) -32 (-x32)" CURL_SSL="openssl -gnutls -mbedtls -nss (-rustls)"
curl_ssl_openssl? ( openssl )
ssl? ( exactly-one-of ( curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss curl_ssl_openssl curl_ssl_rustls ) ) curl_ssl_gnutls? ( gnutls ) curl_ssl_mbedtls? ( mbedtls ) curl_ssl_nss? ( nss ) curl_ssl_openssl? ( openssl ) curl_ssl_rustls? (
rustls )
#########################################################################
.. I don't understand what is meant by "curl_ssl_openssl? ( openssl )" in
the above message. I assume it's talking about some USE flag, but which?
openssl? curl_ssl_openssl? As a matter of interest, I have
=dev-libs/openssl-3.0.9-r2 installed.
Please help me understand what's happening.
Thanks for the help!
I think I got that a while back.  This is what I have for my USE flags
for that package. 


***@fireball / # equery u net-misc/curl
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for net-misc/curl-8.0.1:
 U I
 - - abi_x86_32       : 32-bit (x86) libraries
 + + adns             : Add support for asynchronous DNS resolution
 - - alt-svc          : Enable alt-svc support
 - - brotli           : Enable brotli compression support
 - - curl_ssl_gnutls  : Use GnuTLS
 - - curl_ssl_mbedtls : Use mbed TLS
 - - curl_ssl_nss     : Use Mozilla's Network Security Services
 + + curl_ssl_openssl : Use OpenSSL
 + + ftp              : Enable FTP support
 - - gnutls           : Enable gnutls ssl backend
 - - gopher           : Enable Gopher protocol support
 - - hsts             : Enable HTTP Strict Transport Security
 + + http2            : Enable HTTP/2.0 support
 - - idn              : Enable support for Internationalized Domain Names
 + + imap             : Enable Internet Message Access Protocol support
 - - kerberos         : Add kerberos support
 - - ldap             : Add LDAP support (Lightweight Directory Access
Protocol)
 - - mbedtls          : Enable mbedtls ssl backend
 - - nss              : Enable nss ssl backend
 + + openssl          : Enable openssl ssl backend
 + + pop3             : Enable Post Office Protocol 3 support
 + + progress-meter   : Enable the progress meter
 - - rtmp             : Enable RTMP Streaming Media support
 - - samba            : Add support for SAMBA (Windows File and Printer
sharing)
 + + smtp             : Enable Simple Mail Transfer Protocol support
 - - ssh              : Enable SSH urls in curl using libssh2
 + + ssl              : Enable crypto engine support (via openssl if
USE='-gnutls -nss')
 - - static-libs      : Build static versions of dynamic libraries as well
 - - telnet           : Enable Telnet protocol support
 - - test             : Enable dependencies and/or preparations
necessary to run tests (usually controlled by FEATURES=test but can be
toggled independently)
 + + tftp             : Enable TFTP support
 - - verify-sig       : Verify upstream signatures on distfiles
 - - websockets       : Enable websockets support
 - - zstd             : Enable zstd compression
***@fireball / #



I think it wants you to enable openssl or one of the other USE flag
options.  Since I seem to recall having openssl installed already, I
just picked it.  I'd try enabling that and see if the error goes away. 

Hope that helps.

Dale

:-)  :-) 
David Rosenbaum
2023-08-11 19:00:02 UTC
Permalink
Thanks I'm a dam47 year old man that pays wifi an ph.bill

David
Post by Alan Mackenzie
Post by Alan Mackenzie
Hello, Gentoo.
For the past couple of days, after $ emerge --sync, I've tried
#########################################################################
!!! The ebuild selected to satisfy ">=net-misc/curl-7.21.5[ssl]" has
unmet requirements.
Post by Alan Mackenzie
- net-misc/curl-8.1.2::gentoo USE="adns ftp gnutls http2 imap pop3
progress-meter smtp ssl tftp -alt-svc -brotli -gopher -hsts -idn -kerberos
-ldap -mbedtls (-nghttp3) -nss -openssl -rtmp (-rustls) -samba -ssh
(-sslv3) -static-libs -telnet
Post by Alan Mackenzie
-test -verify-sig -websockets -zstd" ABI_X86="(64) -32 (-x32)"
CURL_SSL="openssl -gnutls -mbedtls -nss (-rustls)"
Post by Alan Mackenzie
curl_ssl_openssl? ( openssl )
The above constraints are a subset of the following complete
ssl? ( exactly-one-of ( curl_ssl_gnutls curl_ssl_mbedtls
curl_ssl_nss curl_ssl_openssl curl_ssl_rustls ) ) curl_ssl_gnutls? ( gnutls
) curl_ssl_mbedtls? ( mbedtls ) curl_ssl_nss? ( nss ) curl_ssl_openssl? (
openssl ) curl_ssl_rustls? (
Post by Alan Mackenzie
rustls )
#########################################################################
.. I don't understand what is meant by "curl_ssl_openssl? ( openssl )"
in
Post by Alan Mackenzie
the above message. I assume it's talking about some USE flag, but which?
openssl? curl_ssl_openssl? As a matter of interest, I have
=dev-libs/openssl-3.0.9-r2 installed.
Please help me understand what's happening.
Thanks for the help!
I think I got that a while back. This is what I have for my USE flags
for that package.
[ Legend : U - final flag setting for installation]
[ : I - package is installed with flag ]
[ Colors : set, unset ]
U I
- - abi_x86_32 : 32-bit (x86) libraries
+ + adns : Add support for asynchronous DNS resolution
- - alt-svc : Enable alt-svc support
- - brotli : Enable brotli compression support
- - curl_ssl_gnutls : Use GnuTLS
- - curl_ssl_mbedtls : Use mbed TLS
- - curl_ssl_nss : Use Mozilla's Network Security Services
+ + curl_ssl_openssl : Use OpenSSL
+ + ftp : Enable FTP support
- - gnutls : Enable gnutls ssl backend
- - gopher : Enable Gopher protocol support
- - hsts : Enable HTTP Strict Transport Security
+ + http2 : Enable HTTP/2.0 support
- - idn : Enable support for Internationalized Domain Names
+ + imap : Enable Internet Message Access Protocol support
- - kerberos : Add kerberos support
- - ldap : Add LDAP support (Lightweight Directory Access
Protocol)
- - mbedtls : Enable mbedtls ssl backend
- - nss : Enable nss ssl backend
+ + openssl : Enable openssl ssl backend
+ + pop3 : Enable Post Office Protocol 3 support
+ + progress-meter : Enable the progress meter
- - rtmp : Enable RTMP Streaming Media support
- - samba : Add support for SAMBA (Windows File and Printer
sharing)
+ + smtp : Enable Simple Mail Transfer Protocol support
- - ssh : Enable SSH urls in curl using libssh2
+ + ssl : Enable crypto engine support (via openssl if
USE='-gnutls -nss')
- - static-libs : Build static versions of dynamic libraries as well
- - telnet : Enable Telnet protocol support
- - test : Enable dependencies and/or preparations
necessary to run tests (usually controlled by FEATURES=test but can be
toggled independently)
+ + tftp : Enable TFTP support
- - verify-sig : Verify upstream signatures on distfiles
- - websockets : Enable websockets support
- - zstd : Enable zstd compression
I think it wants you to enable openssl or one of the other USE flag
options. Since I seem to recall having openssl installed already, I
just picked it. I'd try enabling that and see if the error goes away.
Hope that helps.
Dale
:-) :-)
Alan Mackenzie
2023-08-12 10:20:01 UTC
Permalink
Post by Dale
Post by Alan Mackenzie
Hello, Gentoo.
For the past couple of days, after $ emerge --sync, I've tried
#########################################################################
!!! The ebuild selected to satisfy ">=net-misc/curl-7.21.5[ssl]" has unmet requirements.
- net-misc/curl-8.1.2::gentoo USE="adns ftp gnutls http2 imap pop3 progress-meter smtp ssl tftp -alt-svc -brotli -gopher -hsts -idn -kerberos -ldap -mbedtls (-nghttp3) -nss -openssl -rtmp (-rustls) -samba -ssh (-sslv3) -static-libs -telnet
-test -verify-sig -websockets -zstd" ABI_X86="(64) -32 (-x32)" CURL_SSL="openssl -gnutls -mbedtls -nss (-rustls)"
curl_ssl_openssl? ( openssl )
ssl? ( exactly-one-of ( curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss curl_ssl_openssl curl_ssl_rustls ) ) curl_ssl_gnutls? ( gnutls ) curl_ssl_mbedtls? ( mbedtls ) curl_ssl_nss? ( nss ) curl_ssl_openssl? ( openssl ) curl_ssl_rustls? (
rustls )
#########################################################################
.. I don't understand what is meant by "curl_ssl_openssl? ( openssl )" in
the above message. I assume it's talking about some USE flag, but which?
openssl? curl_ssl_openssl? As a matter of interest, I have
=dev-libs/openssl-3.0.9-r2 installed.
Please help me understand what's happening.
Thanks for the help!
I think I got that a while back.  This is what I have for my USE flags
for that package. 
[ .... ]
Post by Dale
I think it wants you to enable openssl or one of the other USE flag
options.  Since I seem to recall having openssl installed already, I
just picked it.  I'd try enabling that and see if the error goes away. 
That was the problem. Although I had openssl installed, I hadn't set the
USE flag openssl for curl. When I did that, the problem went away. :-)
Post by Dale
Hope that helps.
It did. Thanks!
Post by Dale
Dale
:-)  :-) 
--
Alan Mackenzie (Nuremberg, Germany).
Arsen Arsenović
2023-08-11 19:50:01 UTC
Permalink
Post by Alan Mackenzie
Hello, Gentoo.
For the past couple of days, after $ emerge --sync, I've tried
#########################################################################
!!! The ebuild selected to satisfy ">=net-misc/curl-7.21.5[ssl]" has unmet requirements.
- net-misc/curl-8.1.2::gentoo USE="adns ftp gnutls http2 imap pop3 progress-meter smtp ssl tftp -alt-svc -brotli -gopher -hsts -idn -kerberos -ldap -mbedtls (-nghttp3) -nss -openssl -rtmp (-rustls) -samba -ssh (-sslv3) -static-libs -telnet
-test -verify-sig -websockets -zstd" ABI_X86="(64) -32 (-x32)" CURL_SSL="openssl -gnutls -mbedtls -nss (-rustls)"
curl_ssl_openssl? ( openssl )
A REQUIRED_USE of 'X? ( Y Z )' means that if X is set, Y and Z must be
set. In boolean algebra, it can be expressed as a X => ( Y AND Z ).

See https://wiki.gentoo.org/wiki/Required_USE_flags

Hope that helps, have a lovely day.
Post by Alan Mackenzie
ssl? ( exactly-one-of ( curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss curl_ssl_openssl curl_ssl_rustls ) ) curl_ssl_gnutls? ( gnutls ) curl_ssl_mbedtls? ( mbedtls ) curl_ssl_nss? ( nss ) curl_ssl_openssl? ( openssl ) curl_ssl_rustls? (
rustls )
#########################################################################
.. I don't understand what is meant by "curl_ssl_openssl? ( openssl )" in
the above message. I assume it's talking about some USE flag, but which?
openssl? curl_ssl_openssl? As a matter of interest, I have
=dev-libs/openssl-3.0.9-r2 installed.
Please help me understand what's happening.
Thanks for the help!
--
Arsen Arsenović
Kusoneko
2023-08-11 20:00:02 UTC
Permalink
Post by Arsen Arsenović
Post by Alan Mackenzie
Hello, Gentoo.
For the past couple of days, after $ emerge --sync, I've tried
#########################################################################
!!! The ebuild selected to satisfy ">=net-misc/curl-7.21.5[ssl]" has unmet requirements.
- net-misc/curl-8.1.2::gentoo USE="adns ftp gnutls http2 imap pop3 progress-meter smtp ssl tftp -alt-svc -brotli -gopher -hsts -idn -kerberos -ldap -mbedtls (-nghttp3) -nss -openssl -rtmp (-rustls) -samba -ssh (-sslv3) -static-libs -telnet
-test -verify-sig -websockets -zstd" ABI_X86="(64) -32 (-x32)" CURL_SSL="openssl -gnutls -mbedtls -nss (-rustls)"
    curl_ssl_openssl? ( openssl )
A REQUIRED_USE of 'X? ( Y Z )' means that if X is set, Y and Z must be
set.  In boolean algebra, it can be expressed as a X => ( Y AND Z ).
See https://wiki.gentoo.org/wiki/Required_USE_flags
Hope that helps, have a lovely day.
To add to this, essentially what it's saying is either to change the USE flags of curl to include openssl or to change the CURL_SSL flag to "-openssl gnutls" (by adding "-curl_ssl_openssl curl_ssl_gnutls" to curl's USE flags) so that it aligns with your current curl USE flags.
Dale
2023-08-11 20:30:01 UTC
Permalink
Post by Kusoneko
Post by Arsen Arsenović
Post by Alan Mackenzie
Hello, Gentoo.
For the past couple of days, after $ emerge --sync, I've tried
#########################################################################
!!! The ebuild selected to satisfy ">=net-misc/curl-7.21.5[ssl]" has unmet requirements.
- net-misc/curl-8.1.2::gentoo USE="adns ftp gnutls http2 imap pop3 progress-meter smtp ssl tftp -alt-svc -brotli -gopher -hsts -idn -kerberos -ldap -mbedtls (-nghttp3) -nss -openssl -rtmp (-rustls) -samba -ssh (-sslv3) -static-libs -telnet
-test -verify-sig -websockets -zstd" ABI_X86="(64) -32 (-x32)" CURL_SSL="openssl -gnutls -mbedtls -nss (-rustls)"
    curl_ssl_openssl? ( openssl )
A REQUIRED_USE of 'X? ( Y Z )' means that if X is set, Y and Z must be
set.  In boolean algebra, it can be expressed as a X => ( Y AND Z ).
See https://wiki.gentoo.org/wiki/Required_USE_flags
Hope that helps, have a lovely day.
To add to this, essentially what it's saying is either to change the USE flags of curl to include openssl or to change the CURL_SSL flag to "-openssl gnutls" (by adding "-curl_ssl_openssl curl_ssl_gnutls" to curl's USE flags) so that it aligns with your current curl USE flags.
That's a much better explanation than mine.  Me, I just beat it with a
hammer until it works.  ROFLMBO 

Dale

:-)  :-) 
Alan Mackenzie
2023-08-12 10:30:02 UTC
Permalink
Hello, Arsen.
[ .... ]
Post by Arsen Arsenović
Post by Alan Mackenzie
curl_ssl_openssl? ( openssl )
A REQUIRED_USE of 'X? ( Y Z )' means that if X is set, Y and Z must be
set. In boolean algebra, it can be expressed as a X => ( Y AND Z ).
OK, thanks! I tried to look up curl_ssl_openssl in use.desc and
use.local.desc, but couldn't find it there. I think openssl was missing,
too. So it didn't occur to me that they were themselves USE flags.
Post by Arsen Arsenović
See https://wiki.gentoo.org/wiki/Required_USE_flags
OK.
Post by Arsen Arsenović
Hope that helps, have a lovely day.
It does, thanks. I set the USE flag openssl for curl, and it all built
OK.

[ .... ]
Post by Arsen Arsenović
--
Arsen Arsenović
--
Alan Mackenzie (Nuremberg, Germany).
Nuno Silva
2023-08-12 11:50:01 UTC
Permalink
Post by Alan Mackenzie
Post by Arsen Arsenović
Post by Alan Mackenzie
curl_ssl_openssl? ( openssl )
A REQUIRED_USE of 'X? ( Y Z )' means that if X is set, Y and Z must be
set. In boolean algebra, it can be expressed as a X => ( Y AND Z ).
OK, thanks! I tried to look up curl_ssl_openssl in use.desc and
use.local.desc, but couldn't find it there. I think openssl was missing,
too. So it didn't occur to me that they were themselves USE flags.
The description for CURL_SSL USE_EXPAND flags appears to be in

/usr/portage/profiles/desc/curl_ssl.desc

Just in case this wasn't mentioned yet in the thread, and to make sure
it's mentioned explicitly: CURL_SSL=openssl is expanded to
curl_ssl_openssl as a USE flag.

So my understanding is that the openssl flag controls building the curl
part that can use openssl, and curl_ssl_openssl selects that part to be
used for SSL.

From a quick (hopefully not *too* quick) glance at the ebuild, I think
this is because curl can be built with more than one SSL backend (the
USE flags that appear in USE=...), and the CURL_SSL=... USE_EXPAND flags
control which one gets to be the default.

(But someone more knowledgeable please correct me if this is wrong or
incomplete.)
--
Nuno Silva
Paul Colquhoun
2023-08-12 01:20:01 UTC
Permalink
Post by Alan Mackenzie
Hello, Gentoo.
For the past couple of days, after $ emerge --sync, I've tried
#########################################################################
!!! The ebuild selected to satisfy ">=net-misc/curl-7.21.5[ssl]" has unmet
requirements. - net-misc/curl-8.1.2::gentoo USE="adns ftp gnutls http2 imap
pop3 progress-meter smtp ssl tftp -alt-svc -brotli -gopher -hsts -idn
-kerberos -ldap -mbedtls (-nghttp3) -nss -openssl -rtmp (-rustls) -samba
-ssh (-sslv3) -static-libs -telnet -test -verify-sig -websockets -zstd"
ABI_X86="(64) -32 (-x32)" CURL_SSL="openssl -gnutls -mbedtls -nss
(-rustls)"
curl_ssl_openssl? ( openssl )
ssl? ( exactly-one-of ( curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss
curl_ssl_openssl curl_ssl_rustls ) ) curl_ssl_gnutls? ( gnutls )
curl_ssl_mbedtls? ( mbedtls ) curl_ssl_nss? ( nss ) curl_ssl_openssl? (
openssl ) curl_ssl_rustls? ( rustls )
#########################################################################
.. I don't understand what is meant by "curl_ssl_openssl? ( openssl )" in
the above message. I assume it's talking about some USE flag, but which?
openssl? curl_ssl_openssl? As a matter of interest, I have
=dev-libs/openssl-3.0.9-r2 installed.
Please help me understand what's happening.
Thanks for the help!
In the USE flsgs you have: gnutls -openssl
In the CURL_SSL flags you have: openssl -gnutls

These 2 are contradicting each other. One says use gnutls instead of openssl,
the other says no, use openssl instead of gnutls.

Pick which option you want to use, and adjust the flags to agree on that
option.
--
Reverend Paul Colquhoun, ULC. http://andor.dropbear.id.au/
Asking for technical help in newsgroups? Read this first:
http://catb.org/~esr/faqs/smart-questions.html#intro
Alan Mackenzie
2023-08-12 10:30:01 UTC
Permalink
Hello, Paul.
Post by Paul Colquhoun
Post by Alan Mackenzie
Hello, Gentoo.
For the past couple of days, after $ emerge --sync, I've tried
#########################################################################
!!! The ebuild selected to satisfy ">=net-misc/curl-7.21.5[ssl]" has unmet
requirements. - net-misc/curl-8.1.2::gentoo USE="adns ftp gnutls http2 imap
pop3 progress-meter smtp ssl tftp -alt-svc -brotli -gopher -hsts -idn
-kerberos -ldap -mbedtls (-nghttp3) -nss -openssl -rtmp (-rustls) -samba
-ssh (-sslv3) -static-libs -telnet -test -verify-sig -websockets -zstd"
ABI_X86="(64) -32 (-x32)" CURL_SSL="openssl -gnutls -mbedtls -nss
(-rustls)"
curl_ssl_openssl? ( openssl )
ssl? ( exactly-one-of ( curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss
curl_ssl_openssl curl_ssl_rustls ) ) curl_ssl_gnutls? ( gnutls )
curl_ssl_mbedtls? ( mbedtls ) curl_ssl_nss? ( nss ) curl_ssl_openssl? (
openssl ) curl_ssl_rustls? ( rustls )
#########################################################################
.. I don't understand what is meant by "curl_ssl_openssl? ( openssl )" in
the above message. I assume it's talking about some USE flag, but which?
openssl? curl_ssl_openssl? As a matter of interest, I have
=dev-libs/openssl-3.0.9-r2 installed.
Please help me understand what's happening.
Thanks for the help!
In the USE flsgs you have: gnutls -openssl
In the CURL_SSL flags you have: openssl -gnutls
These 2 are contradicting each other. One says use gnutls instead of openssl,
the other says no, use openssl instead of gnutls.
Pick which option you want to use, and adjust the flags to agree on that
option.
Thanks, that's what I did. I set openssl for curl (in
/etc/portage/package.use), and the problem resolved itself.
Post by Paul Colquhoun
--
Reverend Paul Colquhoun, ULC. http://andor.dropbear.id.au/
http://catb.org/~esr/faqs/smart-questions.html#intro
--
Alan Mackenzie (Nuremberg, Germany).
Loading...