Bug 1665484 - /usr/lib64/libgnutls.so: undefined reference to `nettle_rsa_sec_decrypt@HOGWEED_4' in gnutls 3.6.5-1.fc28
Summary: /usr/lib64/libgnutls.so: undefined reference to `nettle_rsa_sec_decrypt@HOGWE...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gnutls
Version: 28
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Anderson Sasaki
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-01-11 15:03 UTC by Thomas Haller
Modified: 2019-01-15 01:53 UTC (History)
6 users (show)

Fixed In Version: gnutls-3.6.5-2.fc28
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-01-15 01:53:32 UTC


Attachments (Terms of Use)

Description Thomas Haller 2019-01-11 15:03:51 UTC
For NetworkManager testing, we build a RPM in gitlab-ci.

[1] is the the gitlab-ci.yaml script we use for that


Since today, we fail to build the tests "f28_rpm_autotools_dbg" and "f28_rpm_meson_dbg" [2].


I assume this is due to gnutls 3.6.5-1.fc28 (x86_64), which was updated very recently. I tried to downgrade gnutls package to "3.6.2-1.fc28", then the test passes again [3].


The failure is a linker error:

cc  -o libnm-core/tests/libnm-core-test-crypto 'libnm-core/tests/libnm-core@tests@@libnm-core-test-crypto@exe/meson-generated_.._nm-core-tests-enum-types.c.o' 'libnm-core/tests/libnm-core@tests@@libnm-core-test-crypto@exe/test-crypto.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,--gc-sections -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--start-group libnm-core/libnm-core.a libnm-core/libnm-crypto-gnutls.a shared/libc-siphash.a shared/libnm-systemd-shared.a shared/libnm-systemd-logging-stub.a /usr/lib64/libgio-2.0.so /usr/lib64/libgobject-2.0.so /usr/lib64/libglib-2.0.so -Wl,--export-dynamic /usr/lib64/libgmodule-2.0.so -pthread -Wl,--export-dynamic -pthread -Wl,--export-dynamic -pthread -ldl /usr/lib64/libudev.so -Wl,--export-dynamic -pthread /usr/lib64/libuuid.so /usr/lib64/libjansson.so -ldl -Wl,--export-dynamic -pthread /usr/lib64/libgnutls.so -Wl,--end-group -Wl,--export-dynamic -pthread -Wl,--export-dynamic -pthread  
/usr/lib64/libgnutls.so: undefined reference to `nettle_rsa_sec_decrypt@HOGWEED_4'
collect2: error: ld returned 1 exit status



[1] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/blob/master/.gitlab-ci.yml

[2] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/pipelines/14630

[3] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/jobs/78595

(I am sorry, I think the actual test data from above links is not accessible. But there isn't much more to see, except the above linker error).

Comment 1 Simo Sorce 2019-01-11 15:25:18 UTC
You need to upgrade Nettle to 3.4.1 as well, this is a new function that is needed to plug a recent CVE.
We probably need to check that the Build Requires are also updated to require this new NEttle release.

Comment 2 Thomas Haller 2019-01-11 15:47:54 UTC
The installed version is indeed only "nettle-devel.x86_64 3.4-2.fc28"

the script issues a `dnf upgrade`, but nettle is not updated to 3.4.1-1.
Though, it should be already in stable, I guess https://bodhi.fedoraproject.org/updates/FEDORA-2018-f7d9989c42


Shouldn't gnutls package depend on a working nettle version?


Maybe waiting will resolve the issue...

Comment 3 Anderson Sasaki 2019-01-11 16:13:16 UTC
(In reply to Thomas Haller from comment #2)
> The installed version is indeed only "nettle-devel.x86_64 3.4-2.fc28"
> 
> the script issues a `dnf upgrade`, but nettle is not updated to 3.4.1-1.
> Though, it should be already in stable, I guess
> https://bodhi.fedoraproject.org/updates/FEDORA-2018-f7d9989c42
> 
> 
> Shouldn't gnutls package depend on a working nettle version?
> 
> 
> Maybe waiting will resolve the issue...

Yes, sorry about this.

Indeed this was cause because gnutls-3.6.5-1.fc28 depends on nettle-3.4.1-1, which is not in stable yet (but it got the needed karma and is already in batched).

It was my fault because I forgot to uncheck the autopush flag from the gnutls update, which let it to reach stable as soon as it got the required karma.
Since gnutls is more tested than nettle, it got the required karma faster than nettle, reaching stable before its dependency.

I should have controlled the order manually. Hopefully nettle update will get to stable soon.

Comment 4 Simo Sorce 2019-01-11 16:17:11 UTC
No Anderson,
the error is in the fact you did not upgrade the RPM Requires fields for Nettle.
Please change the spec and release a new GnuTLS package that require Nettle >= 3.4.1

Comment 5 Simo Sorce 2019-01-11 16:17:30 UTC
And Build Requires too

Comment 6 Anderson Sasaki 2019-01-11 17:00:02 UTC
Ouch, right that is worse than I thought. I'll do it ASAP.

Comment 7 Fedora Update System 2019-01-11 17:40:05 UTC
gnutls-3.6.5-2.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2019-1a0d4443f8

Comment 8 Fedora Update System 2019-01-12 02:35:36 UTC
gnutls-3.6.5-2.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-1a0d4443f8

Comment 9 Fedora Update System 2019-01-15 01:53:32 UTC
gnutls-3.6.5-2.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.