View previous topic :: View next topic |
Author |
Message |
devsk Advocate
Joined: 24 Oct 2003 Posts: 2995 Location: Bay Area, CA
|
Posted: Sat Oct 23, 2021 8:44 pm Post subject: minecraft-launcher wants curl with -threads |
|
|
Does anybody have any ideas around this? I don't want to disable threads support in 'curl' but it looks like minecraft depends on curl[adns] and 'adns' can not be enabled on curl if 'threads' is enabled.
Code: |
# time emerge -pv games-action/minecraft-launcher
These are the packages that would be merged, in order:
Calculating dependencies .... done!
The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by games-action/minecraft-launcher-1035::gentoo
# required by games-action/minecraft-launcher (argument)
>=net-misc/curl-7.79.1 adns
!!! The ebuild selected to satisfy "net-misc/curl[adns]" has unmet requirements.
- net-misc/curl-7.79.1::gentoo USE="ftp http2 imap ipv6 kerberos openssl pop3 progress-meter samba smtp ssl static-libs tftp threads zstd -adns -alt-svc -brotli -gnutls -gopher -hsts -idn -ldap -mbedtls (-nghttp3) -nss -quiche -rtmp -ssh -sslv3 -telnet -test (-winssl)" ABI_X86="(64) -32 (-x32)" CURL_SSL="openssl -gnutls -mbedtls -nss (-winssl)"
The following REQUIRED_USE flag constraints are unsatisfied:
threads? ( !adns )
The above constraints are a subset of the following complete expression:
winssl? ( elibc_Winnt ) threads? ( !adns ) ssl? ( exactly-one-of ( curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss curl_ssl_openssl curl_ssl_winssl ) )
(dependency required by "games-action/minecraft-launcher-1035::gentoo" [ebuild])
(dependency required by "games-action/minecraft-launcher" [argument])
|
If I enabled adns for curl:
Code: |
# time emerge -pv games-action/minecraft-launcher
These are the packages that would be merged, in order:
Calculating dependencies ... done!
!!! The ebuild selected to satisfy "net-misc/curl[adns]" has unmet requirements.
- net-misc/curl-7.79.1::gentoo USE="adns ftp http2 imap ipv6 kerberos openssl pop3 progress-meter samba smtp ssl static-libs tftp threads zstd -alt-svc -brotli -gnutls -gopher -hsts -idn -ldap -mbedtls (-nghttp3) -nss -quiche -rtmp -ssh -sslv3 -telnet -test (-winssl)" ABI_X86="(64) -32 (-x32)" CURL_SSL="openssl -gnutls -mbedtls -nss (-winssl)"
The following REQUIRED_USE flag constraints are unsatisfied:
threads? ( !adns )
The above constraints are a subset of the following complete expression:
winssl? ( elibc_Winnt ) threads? ( !adns ) ssl? ( exactly-one-of ( curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss curl_ssl_openssl curl_ssl_winssl ) )
(dependency required by "games-action/minecraft-launcher-1035::gentoo" [ebuild])
(dependency required by "games-action/minecraft-launcher" [argument])
|
Is there a path to keeping threads enabled for curl and still install minecraft? The wiki seems to suggest that curl's threads support is needed for minecraft. |
|
Back to top |
|
|
alamahant Advocate
Joined: 23 Mar 2019 Posts: 3879
|
|
Back to top |
|
|
Ionen Developer
Joined: 06 Dec 2018 Posts: 2718
|
Posted: Sat Oct 23, 2021 10:37 pm Post subject: |
|
|
USE=threads isn't always the best/good choice, sometime it can even enable a worse implementation. Ebuilds will typically enable it by default if it should be used, and shouldn't set USE=threads globally.
curl use the flag for it's builtin threaded resolver and has 3 resolver implementation that I know of
1. default signal based implementation (USE="-threads -adns")
2. its builtin threaded implementation (USE="threads -adns")
3. what is probably the better choice, but with an extra dependency on c-ares (USE="adns -threads"), aka library for asynchronous resolution
There's a bug about enabling #3 by default but hasn't seen attention yet ( https://bugs.gentoo.org/699632 )
adns and threads can't be enabled at same time simply because they are used for the same thing, it's one or the other |
|
Back to top |
|
|
devsk Advocate
Joined: 24 Oct 2003 Posts: 2995 Location: Bay Area, CA
|
Posted: Sat Oct 23, 2021 11:04 pm Post subject: |
|
|
Ionen wrote: | USE=threads isn't always the best/good choice, sometime it can even enable a worse implementation. Ebuilds will typically enable it by default if it should be used, and shouldn't set USE=threads globally.
curl use the flag for it's builtin threaded resolver and has 3 resolver implementation that I know of
1. default signal based implementation (USE="-threads -adns")
2. its builtin threaded implementation (USE="threads -adns")
3. what is probably the better choice, but with an extra dependency on c-ares (USE="adns -threads"), aka library for asynchronous resolution
There's a bug about enabling #3 by default but hasn't seen attention yet ( https://bugs.gentoo.org/699632 )
adns and threads can't be enabled at same time simply because they are used for the same thing, it's one or the other | Thank you for your answer! That helps!
This makes sense now. I didn't know what threads were being used for. Since it is for DNS resolution only, then its perfectly fine to go -threads. |
|
Back to top |
|
|
netfab Veteran
Joined: 03 Mar 2005 Posts: 1897 Location: 127.0.0.1
|
|
Back to top |
|
|
|