-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cmake cannot find gnutls library (-DUSE_GNUTLS=ON) #457
Comments
The error is not solely related to Alpine linux. On Arch linux I get the same error. What is probably missing is the gnutls-openssl package. You need to install that first, otherwise openssl can't use the gnutls libraries. |
Installed version 3.6.9 manually on Arch, because it is deprecated. The library is now found: But.. I get another error: "CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message): |
This latest error has been solved under Gentoo: |
After installing "check 0.14.0-1" the problem was solved: Make Warning: -- Found OpenSSL: /usr/lib/libcrypto.so (found suitable version "1.1.1d", minimum required is "1.0.2") -- Found OpenSSL: /usr/lib/libcrypto.so (found version "1.1.1d") |
Maybe there is an even better solution for this problem (at least in Arch linux): installing the package libcurl-gnutls 7.65.0-2 ? |
Thank you for a lot of information and verification. I wondered if |
In cmake's
The gnutls package can now be searched.
However, the error seems to follow. (Can't find |
Thanks, I'll have a look! |
As others have found, the fundamental problem here is that we expect to find the GnuTLS DANE library (used for certificate validation), and this is not included in the Alpine GnuTLS package build. Furthermore, as we note in the README:
So, enabling GnuTLS will NOT currently remove the requirement to link against OpenSSL. At present, therefore, I would suggest that packagers should not be using GnuTLS. Finally, I've avoided using the cmake PkgConfig module, for the simple reason that the primary goal of moving to a cmake build is to enable building on Windows natively (i.e. without MinGW or other Unixy environment). |
@banburybill Thank you for the information. The GnuTLS package on Alpine Linux lacks functional requirements. |
Since there is no package gnuTLS-openssl on Alpine you can try to rebuild gnutTLS. If you wish you can add "--enable-openssl-compatibility" to the configure script of gnuTLS, so the API will automatically be installed. |
Thank you for the good information.
In this case, we confirmed that gnutls was recognized.
However, build of getdns fails in the middle as follows. Now it looks like there is an error related to nettle.
I'll try to find out if this is an error related to Alpine Linux. |
Hi,
Then you have to change in the folder '/getdns-1.6.0-rc.1/src/tls/' the file "val_secalgo.c' for line 1729 as suggested into 'nettle_ecc_point_init(&pubkey, &nettle_get_secp_256r1);' |
I've submitted a PR fixing #458. Note that the suggested fix above is incorrect - the use of e.g. |
* told you about the specifics of the modification, so I modified the contents of the patch accordingly. (getdnsapi/getdns#457 (comment))
Thank you for letting us know the specifics.
Thank you for your support. Thank you also for PR. |
I found your patch builds, but with warnings. And I'm pretty sure it at worst it's going to lead to memory corruption. The correct fix I noted above is now merged into the release branch. Thanks for reporting! |
Oops, my temporary response has such a problem. Thanks for your response. |
Even though the
gnutls-dev
package is installed, it seems that cmake fails to find the gnutls library.Options when executed
The gnutls-dev package is installed as follows.
I expect it to be a problem on the cmake side, but I have no knowledge of cmake.
environment
The text was updated successfully, but these errors were encountered: