Description of problem: I can not build a custom application using qtwebengine anymore. I have the following errors: /usr/bin/ld: /usr/lib64/libQt5WebEngineCore.so.5.12.2: undefined reference to `re2::RE2::Arg::parse_int(char const*, int, void*)' /usr/bin/ld: /usr/lib64/libQt5WebEngineCore.so.5.12.2: undefined reference to `re2::RE2::Arg::parse_string(char const*, int, void*)' The issue seems to be that the re2 lib has been updated recently, but qtwebengine has been built against an older version. Look at the objdump output: ]$ objdump -TC /usr/lib64/libre2.so | grep parse_int 000000000003c0e0 g DF .text 0000000000000061 Base re2::RE2::Arg::parse_int_radix(char const*, unsigned long, void*, int) 000000000003c430 g DF .text 000000000000000e Base re2::RE2::Arg::parse_int_octal(char const*, unsigned long, void*) 000000000003c410 g DF .text 000000000000000e Base re2::RE2::Arg::parse_int(char const*, unsigned long, void*) 000000000003c440 g DF .text 000000000000000b Base re2::RE2::Arg::parse_int_cradix(char const*, unsigned long, void*) 000000000003c420 g DF .text 000000000000000e Base re2::RE2::Arg::parse_int_hex(char const*, unsigned long, void*) As you can see, the signature is different (unsigned long instead of int). Version-Release number of selected component (if applicable): $ dnf info qt5-qtwebengine-devel re2 Last metadata expiration check: 0:33:00 ago on Wed Aug 14 11:06:37 2019. Installed Packages Name : qt5-qtwebengine-devel Version : 5.12.2 Release : 1.fc29 Architecture : x86_64 Size : 312 k Source : qt5-qtwebengine-5.12.2-1.fc29.src.rpm Repository : @System From repo : updates Summary : Development files for qt5-qtwebengine URL : http://www.qt.io License : (LGPLv2 with exceptions or GPLv3 with exceptions) and BSD and : LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and : OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) Description : Development files for qt5-qtwebengine. Name : re2 Version : 20190801 Release : 1.fc29 Architecture : x86_64 Size : 479 k Source : re2-20190801-1.fc29.src.rpm Repository : @System From repo : updates Summary : C++ fast alternative to backtracking RE engines URL : http://github.com/google/re2/ License : BSD Description : RE2 is a C++ library providing a fast, safe, thread-friendly : alternative to backtracking regular expression engines like those : used in PCRE, Perl, and Python. : : Backtracking engines are typically full of features and : convenient syntactic sugar but can be forced into taking : exponential amounts of time on even small inputs. : : In contrast, RE2 uses automata theory to guarantee that regular : expression searches run in time linear in the size of the input, : at the expense of some missing features (e.g back references and : generalized assertions). Available Packages Name : qt5-qtwebengine-devel Version : 5.12.2 Release : 1.fc29 Architecture : i686 Size : 71 k Source : qt5-qtwebengine-5.12.2-1.fc29.src.rpm Repository : updates Summary : Development files for qt5-qtwebengine URL : http://www.qt.io License : (LGPLv2 with exceptions or GPLv3 with exceptions) and BSD and : LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and : OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) Description : Development files for qt5-qtwebengine. Name : re2 Version : 20190801 Release : 1.fc29 Architecture : i686 Size : 188 k Source : re2-20190801-1.fc29.src.rpm Repository : updates Summary : C++ fast alternative to backtracking RE engines URL : http://github.com/google/re2/ License : BSD Description : RE2 is a C++ library providing a fast, safe, thread-friendly : alternative to backtracking regular expression engines like those : used in PCRE, Perl, and Python. : : Backtracking engines are typically full of features and : convenient syntactic sugar but can be forced into taking : exponential amounts of time on even small inputs. : : In contrast, RE2 uses automata theory to guarantee that regular : expression searches run in time linear in the size of the input, : at the expense of some missing features (e.g back references and : generalized assertions). How reproducible: build a minimal qt webengine application I guess and try to compile/link with standard f29 packages (from the updates repository). Actual results: can't link against libQt5WebEngineCore.so due to an error linking to libre2.so Expected results: link is possible.
I forgot to mention, I checked on another fedora 29 computer less recently updated. The installed version of re2 is 20160401, and everything is working fine. objdump output on this computer now have the "right" signature: 0000000000039b10 g DF .text 000000000000000e Base re2::RE2::Arg::parse_int(char const*, int, void*)
The broken re2 update was pushed ignoring Bodhi feedback: https://bodhi.fedoraproject.org/updates/FEDORA-2019-0f5dd9fe0d Please sort out your mess! You will probably need to bump the re2 Epoch and revert on F29, then bump the Epoch also on F30, F31 (Branched) and Rawhide for upgrade path.
There is also a Bodhi bug involved: https://github.com/fedora-infra/bodhi/issues/3459 but if the maintainer had actually bothered reading the feedback and unpushing the update, this would probably not have happened.
For the user, the immediate workaround is: sudo dnf --disablerepo=updates --disablerepo=updates-testing distro-sync re2 and then --exclude=re2 on all further updates until this is fixed.
For those wondering how the workaround works: Yes, it is possible to distro-sync individual packages. (Make sure you do not forget the "re2" at the end or you will downgrade everything to a non-updated ("GA") Fedora 29, whereas you want to downgrade only the "re2" package.) Those --disablerepo commands ensure that it will pick the version from Fedora 29 "GA" (the original release without updates). There was no previous re2 update anyway, so that is the previous version of re2 before the bad update.
(In reply to Kevin Kofler from comment #3) > There is also a Bodhi bug involved: > https://github.com/fedora-infra/bodhi/issues/3459 but if the maintainer had > actually bothered reading the feedback and unpushing the update, this would > probably not have happened. Deep sorry for that mess! I thought that the update would not be (automatically) pushed to stable as it received negative karma on all the stable branches... Hard lesson learned: the updates are still automatically pushed to stable even with negative karma. I was off far away with limited internet access, and could not easily launch all the rebuilds myself. Any patch/pull request is welcome to help revert to a stable situation.
(In reply to Denis Arnaud from comment #6) > Deep sorry for that mess! I thought that the update would not be > (automatically) pushed to stable as it received negative karma on all the > stable branches... Hard lesson learned: the updates are still automatically > pushed to stable even with negative karma. To be fair, this was not SUPPOSED to be the case. This is the already mentioned Bodhi bug: https://github.com/fedora-infra/bodhi/issues/3459
I just went ahead and applied fixes to git to revert things back to working versions, will be submitting updates shortly.
FEDORA-2019-d2ea4920a4 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-d2ea4920a4
FEDORA-2019-605dfb7384 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-605dfb7384
*** Bug 1741878 has been marked as a duplicate of this bug. ***
re2-20160401-11.fc30 has been pushed to the Fedora 30 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-d2ea4920a4
re2-20160401-11.fc29 has been pushed to the Fedora 29 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-605dfb7384
re2-20160401-11.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.
re2-20160401-11.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.
*** Bug 1741316 has been marked as a duplicate of this bug. ***