Bug 278633 - www/qt5-webengine, x11-fm/konqueror: libQt5WebEngineCore.so.5: Undefined symbol "_ZN6snappy11RawCompressEPKcmPcPm"
Summary: www/qt5-webengine, x11-fm/konqueror: libQt5WebEngineCore.so.5: Undefined symb...
Status: In Progress
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-kde (group)
URL:
Keywords:
: 278279 (view as bug list)
Depends on:
Blocks:
 
Reported: 2024-04-28 11:50 UTC by Graham Perrin
Modified: 2024-05-04 14:38 UTC (History)
5 users (show)

See Also:
kai: maintainer-feedback+
kai: merge-quarterly+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Graham Perrin 2024-04-28 11:50:00 UTC
% uname -aKU ; konqueror
FreeBSD mowa219-gjp4-zbook-freebsd 15.0-CURRENT FreeBSD 15.0-CURRENT main-n269723-4ba444de708b GENERIC-NODEBUG amd64 1500018 1500018
ld-elf.so.1: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: Undefined symbol "_ZN6snappy11RawCompressEPKcmPcPm"
% pkg iinfo snappy
snappy-1.2.0
% pkg query %o snappy
archivers/snappy
% pkg provides libQt5WebEngineCore.so.5
Name    : qt5-webengine-5.15.16.p9
Comment : Qt 5 library to render web content
Repo    : FreeBSD-ports
Filename: usr/local/lib/qt5/libQt5WebEngineCore.so.5.15.16
          usr/local/lib/qt5/libQt5WebEngineCore.so.5.15
          usr/local/lib/qt5/libQt5WebEngineCore.so.5
% pkg query %o qt5-webengine
www/qt5-webengine
% 

<https://www.freshports.org/x11-fm/konqueror/>
<https://www.freshports.org/archivers/snappy/>
<https://www.freshports.org/www/qt5-webengine/>
Comment 1 Graham Perrin 2024-04-28 12:02:11 UTC
% zgrep snappy /var/log/messages.4.bz2
Apr 17 00:15:12 mowa219-gjp4-zbook-freebsd pkg[26755]: snappy upgraded: 1.1.10 -> 1.2.0 
% zgrep qt5-webengine /var/log/messages.4.bz2
% zgrep qt5-webengine /var/log/messages.3.bz2
% zgrep qt5-webengine /var/log/messages.2.bz2
% zgrep qt5-webengine /var/log/messages.1.bz2
% zgrep qt5-webengine /var/log/messages.0.bz2
% grep qt5-webengine /var/log/messages
% 

In IRC (overlapping, sorry): 

> that looks more like a webengine bug report than a konqueror one and 
> would benefit from a good reproducer (basically, why is that symbol 
> remaining undefined)

Also, in <https://forums.freebsd.org/threads/93157/>: 

ld-elf.so.1: /usr/local/lib/libleveldb.so.1: Undefined symbol "_ZN6snappy11RawCompressEPKcmPcPm"
Comment 2 Patrizia Kaye 2024-04-28 12:11:06 UTC
I was having the same error (ld-elf.so.1: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: Undefined symbol "_ZN6snappy11RawCompressEPKcmPcPm") reported when I tried to run some other programs (nextcloud and kbibtex).

Forcibly reinstalling `qt5-webengine` resolved the issue for me. Hopefully that can provide another breadcrumb.

root@laptopbsd:/var/cache/pkg # uname -aKU
FreeBSD laptopbsd 14.1-PRERELEASE FreeBSD 14.1-PRERELEASE #4 stable/14-d48e7e89e0: Wed Apr 24 21:40:42 BST 2024     patrizia@laptopbsd:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 1400511 1400511
Comment 3 Graham Perrin 2024-04-28 12:15:12 UTC
(In reply to Patrizia Kaye from comment #2)

Thanks, the same force here. 

In detail:

root@mowa219-gjp4-zbook-freebsd:~ # pkg iinfo qt5-webengine 
qt5-webengine-5.15.16.p9
root@mowa219-gjp4-zbook-freebsd:~ # pkg search qt5-webengine
The provides database is up-to-date.
The provides database is up-to-date.
py39-qt5-webengine-5.15.6_2    Python bindings for the Qt5 toolkit, QtWebEngine module
qt5-webengine-5.15.16.p9       Qt 5 library to render web content
root@mowa219-gjp4-zbook-freebsd:~ # pkg install -f qt5-webengine 
Updating FreeBSD-ports repository catalogue...
FreeBSD-ports repository is up to date.
Updating FreeBSD-base repository catalogue...
FreeBSD-base repository is up to date.
Updating poudriere repository catalogue...
Fetching meta.conf: 100%    178 B   0.2kB/s    00:01    
Fetching data.pkg: 100%   90 KiB  92.3kB/s    00:01    
Processing entries: 100%
The provides database is up-to-date.
poudriere repository update completed. 316 packages processed.
All repositories are up to date.
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        python310: 3.10.14_2 [poudriere]

Installed packages to be REINSTALLED:
        qt5-webengine-5.15.16.p9 [FreeBSD-ports]

Number of packages to be installed: 1
Number of packages to be reinstalled: 1

The process will require 121 MiB more space.
47 MiB to be downloaded.

Proceed with this action? [y/N]: n
root@mowa219-gjp4-zbook-freebsd:~ # pkg iinfo python310
pkg: No package(s) matching python310
root@mowa219-gjp4-zbook-freebsd:~ # pkg install -r FreeBSD-ports python310
Updating FreeBSD-ports repository catalogue...
FreeBSD-ports repository is up to date.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        python310: 3.10.14_2 [FreeBSD-ports]

Number of packages to be installed: 1

The process will require 122 MiB more space.
19 MiB to be downloaded.

Proceed with this action? [y/N]: y
[1/1] Fetching python310-3.10.14_2.pkg: 100%   19 MiB   5.1MB/s    00:04    
Checking integrity... done (0 conflicting)
[1/1] Installing python310-3.10.14_2...
[1/1] Extracting python310-3.10.14_2: 100%
=====
Message from python310-3.10.14_2:

--
Note that some standard Python modules are provided as separate ports
as they require additional dependencies. They are available as:

py310-gdbm       databases/py-gdbm@py310
py310-sqlite3    databases/py-sqlite3@py310
py310-tkinter    x11-toolkits/py-tkinter@py310
root@mowa219-gjp4-zbook-freebsd:~ # su grahamperrin
% konqueror
ld-elf.so.1: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: Undefined symbol "_ZN6snappy11RawCompressEPKcmPcPm"
% exit
exit
root@mowa219-gjp4-zbook-freebsd:~ # pkg install -f qt5-webengine
Updating FreeBSD-ports repository catalogue...
FreeBSD-ports repository is up to date.
Updating FreeBSD-base repository catalogue...
FreeBSD-base repository is up to date.
Updating poudriere repository catalogue...
Fetching meta.conf: 100%    178 B   0.2kB/s    00:01    
Fetching data.pkg: 100%   90 KiB  92.3kB/s    00:01    
Processing entries: 100%
The provides database is up-to-date.
poudriere repository update completed. 316 packages processed.
All repositories are up to date.
The following 2 package(s) will be affected (of 0 checked):

Installed packages to be REINSTALLED:
        libdatrie-0.2.13_2 [FreeBSD-ports]
        qt5-webengine-5.15.16.p9 [FreeBSD-ports]

Number of packages to be reinstalled: 2

47 MiB to be downloaded.

Proceed with this action? [y/N]: y
[1/2] Fetching qt5-webengine-5.15.16.p9.pkg: 100%   47 MiB   7.1MB/s    00:07    
[2/2] Fetching libdatrie-0.2.13_2.pkg: 100%   40 KiB  40.8kB/s    00:01    
Checking integrity... done (0 conflicting)
[1/2] Reinstalling qt5-webengine-5.15.16.p9...
[1/2] Extracting qt5-webengine-5.15.16.p9: 100%
[2/2] Reinstalling libdatrie-0.2.13_2...
[2/2] Extracting libdatrie-0.2.13_2: 100%
root@mowa219-gjp4-zbook-freebsd:~ # su grahamperrin
% konqueror
qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: bsdfb, minimal, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

Abort
% exit
exit
root@mowa219-gjp4-zbook-freebsd:~ # pkg -vv | grep -e url -e enabled -e priority
    url             : "pkg+https://pkg.freebsd.org/FreeBSD:15:amd64/latest",
    enabled         : yes,
    priority        : 2,
    url             : "pkg+https://pkg.freebsd.org/FreeBSD:15:amd64/base_latest",
    enabled         : yes,
    priority        : 0,
    url             : "file:///usr/local/poudriere/data/packages/main-default",
    enabled         : yes,
    priority        : 3
root@mowa219-gjp4-zbook-freebsd:~ # exit
logout
% konqueror
Could not create scene graph context for backend 'opengl' - check that plugins are installed correctly in /usr/local/lib/qt5/plugins
QFSFileEngine::open: No file name specified
[43547:138226:0428/131402.536922:ERROR:nss_util.cc(283)] After loading Root Certs, loaded==false: NSS error code: -8018
js: Uncaught SyntaxError: missing ) after argument list
js: Uncaught SyntaxError: missing ) after argument list
%
Comment 4 Kai Knoblich freebsd_committer freebsd_triage 2024-04-28 16:22:42 UTC
Hi,

thanks for the report!  I suspect that a missing bump of PORTREVISION for www/qt5-webengine is the cause of the reported issue.

www/qt-webengine was updated to version 5.15.13 via ports 9793a1e61a74 on 31st March.  Some days later, on 7th April, archivers/snappy was updated from 1.1.10 to 1.2.0 via ports fa01e117e24f but there was no PORTREVISION bump for www/qt5-webengine afterwards.

Packages of www/qt5-webengine that were built before the update of archivers/snappy expect to use version 1.1.10 of archivers/snappy with its symbols.

I'll do a few more tests and then commit a fix to get www/qt5-webengine built against the new version of archivers/snappy.
Comment 5 Kai Knoblich freebsd_committer freebsd_triage 2024-04-28 18:59:13 UTC
Affirmative, I was able to reproduce the issue:

- Built www/qt5-webengine 5.15.16p9 against archivers/snappy 1.1.10 (along with x11-fm/konqueror)
- pkg install konqueror
- Runtime tests with x11-fm/konqueror -> OK
- Built archivers/snappy 1.2.0
- pkg upgrade
- Runtime tests with x11-fm/konqueror -> Leads to the reported error message in comment #0
- Bumped PORTREVISION of www/qt5-webengine and rebuilt it against the new version of archivers/snappy
- pkg upgrade
- Runtime tests with x11-fm/konqueror -> OK
Comment 6 commit-hook freebsd_committer freebsd_triage 2024-04-28 19:04:47 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c23147248d80216a37083ca1eb79fa79ed27259d

commit c23147248d80216a37083ca1eb79fa79ed27259d
Author:     Kai Knoblich <kai@FreeBSD.org>
AuthorDate: 2024-04-28 18:55:02 +0000
Commit:     Kai Knoblich <kai@FreeBSD.org>
CommitDate: 2024-04-28 19:04:02 +0000

    www/qt5-webengine: Bump PORTREVISION after fa01e117e24f

    The port archivers/snappy was updated to version 1.2.0 via fa01e117e24f
    but there was no PORTREVISION bump afterwards for qt5-webengine, which
    uses archivers/snappy.

    This led to the following runtime error as soon as consumers (e.g.
    x11-fm/konqueror) using qt5-webengine were started:

    ld-elf.so.1: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: Undefined symbol "_ZN6snappy11RawCompressEPKcmPcPm"

    Remedy the issue by bumping PORTREVISION to force a rebuild against the
    new version of archivers/snappy.

    PR:             278633
    Reported by:    Graham Perrin
    MFH:            2024Q2
    With hat:       kde

 www/qt5-webengine/Makefile | 1 +
 1 file changed, 1 insertion(+)
Comment 7 commit-hook freebsd_committer freebsd_triage 2024-04-28 19:06:49 UTC
A commit in branch 2024Q2 references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2994866d533d30f5de4bc5e9019ff73868c934f4

commit 2994866d533d30f5de4bc5e9019ff73868c934f4
Author:     Kai Knoblich <kai@FreeBSD.org>
AuthorDate: 2024-04-28 18:55:02 +0000
Commit:     Kai Knoblich <kai@FreeBSD.org>
CommitDate: 2024-04-28 19:05:49 +0000

    www/qt5-webengine: Bump PORTREVISION after fa01e117e24f

    The port archivers/snappy was updated to version 1.2.0 via fa01e117e24f
    but there was no PORTREVISION bump afterwards for qt5-webengine, which
    uses archivers/snappy.

    This led to the following runtime error as soon as consumers (e.g.
    x11-fm/konqueror) using qt5-webengine were started:

    ld-elf.so.1: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: Undefined symbol "_ZN6snappy11RawCompressEPKcmPcPm"

    Remedy the issue by bumping PORTREVISION to force a rebuild against the
    new version of archivers/snappy.

    PR:             278633
    Reported by:    Graham Perrin
    MFH:            2024Q2
    With hat:       kde

    (cherry picked from commit c23147248d80216a37083ca1eb79fa79ed27259d)

 www/qt5-webengine/Makefile | 1 +
 1 file changed, 1 insertion(+)
Comment 8 Kai Knoblich freebsd_committer freebsd_triage 2024-04-28 19:13:23 UTC
Committed to the main and 2024Q4 branches!  I'll leave this bug open for a few more days for further references.
Comment 9 Graham Perrin 2024-04-29 02:43:32 UTC
Thanks!
Comment 10 Jason E. Hale freebsd_committer freebsd_triage 2024-05-02 01:10:45 UTC
*** Bug 278279 has been marked as a duplicate of this bug. ***