# kde5 on 13-stable ..akonadiconsole and akonadiimportwizard failing...



## holm (Jan 26, 2022)

Hi guys,
I'm using mate for a long time but decided to try KDE yesterday. I'm running stable-13 on my machine, found the kde5 metaport and started building.
The port fails in akonadiconsole:

```
FAILED: bin/akonadiconsole
: && /usr/bin/c++ -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-operator-names -fno-exceptions -Wno-gnu-zero-variadic-macro-arguments -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Werror=init-self -Wvla -Wdate-time -pedantic -Wzero-as-null-pointer-constant -fdiagnostics-color=always -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wl,--enable-new-dtags  -fstack-protector-strong src/CMakeFiles/akonadiconsole.dir/akonadiconsole_autogen/mocs_compilation.cpp.o src/CMakeFiles/akonadiconsole.dir/main.cpp.o src/CMakeFiles/akonadiconsole.dir/akonadiconsole_autogen/EWIEGA46WW/qrc_akonadiconsole.cpp.o -o bin/akonadiconsole  -Wl,-rpath,/usr/ports/deskutils/akonadiconsole/work/.build/bin:/usr/local/lib:/usr/local/lib/qt5:  bin/libakonadiconsole.so.5.19.1  /usr/local/lib/libKF5AkonadiXml.so.5.19.1  /usr/local/lib/qt5/libQt5Sql.so.5.15.2  /usr/local/lib/libKF5AkonadiSearchXapian.so.5.19.1  /usr/local/lib/libKF5AkonadiSearchCore.so.5.19.1  /usr/local/lib/libxapian.so  /usr/local/lib/libKF5CalendarSupport.so.5.19.1  /usr/local/lib/libKF5AkonadiCalendar.so.5.19.1  /usr/local/lib/libKF5CalendarCore.so.5.90.0  /usr/local/lib/libKF5MessageViewer.so.5.19.1  /usr/local/lib/libKF5AkonadiContact.so.5.19.1  /usr/local/lib/libKF5Contacts.so.5.90.0  /usr/local/lib/libKF5TextWidgets.so.5.90.0  /usr/local/lib/libKF5GrantleeTheme.so.5.19.1  /usr/local/lib/libKF5MessageCore.so.5.19.1  /usr/local/lib/libKF5IdentityManagement.so.5.19.1  /usr/local/lib/libKF5PimCommon.so.5.19.1  /usr/local/lib/libKF5Libkdepim.so.5.19.1  /usr/local/lib/libKF5AkonadiMime.so.5.19.1  /usr/local/lib/libKF5AkonadiWidgets.so.5.19.1  /usr/local/lib/libKF5AkonadiCore.so.5.19.1  /usr/local/lib/libKF5AkonadiPrivate.so.5.19.1  /usr/local/lib/libKF5Libkleo.so.5.19.1  /usr/local/lib/libKF5ItemModels.so.5.90.0  /usr/local/lib/libKF5MimeTreeParser.so.5.19.1  /usr/local/lib/libKF5Mime.so.5.19.1  /usr/local/lib/libGrantlee_Templates.so.5.2.0  /usr/local/lib/libKF5PimTextEdit.so.5.19.1  /usr/local/lib/libKF5SonnetUi.so.5.90.0  /usr/local/lib/libqgpgme.so  /usr/local/lib/libgpgmepp.so  -lpthread  /usr/local/lib/libgpgme.so  -lassuan -L/usr/local/lib -lgpg-error  /usr/local/lib/libKF5Completion.so.5.90.0  /usr/local/lib/libKF5KIOCore.so.5.90.0  /usr/local/lib/libKF5Crash.so.5.90.0  /usr/local/lib/libKF5Service.so.5.90.0  /usr/local/lib/libKF5DBusAddons.so.5.90.0  /usr/local/lib/qt5/libQt5Concurrent.so.5.15.2  /usr/local/lib/libKF5XmlGui.so.5.90.0  /usr/local/lib/libKF5ItemViews.so.5.90.0  /usr/local/lib/qt5/libQt5PrintSupport.so.5.15.2  /usr/local/lib/qt5/libQt5Network.so.5.15.2  /usr/local/lib/libKF5ConfigWidgets.so.5.90.0  /usr/local/lib/libKF5I18n.so.5.90.0  /usr/local/lib/libKF5ConfigGui.so.5.90.0  /usr/local/lib/libKF5Auth.so.5.90.0  /usr/local/lib/libKF5AuthCore.so.5.90.0  /usr/local/lib/libKF5CoreAddons.so.5.90.0  /usr/local/lib/qt5/libQt5Xml.so.5.15.2  /usr/local/lib/libKF5ConfigCore.so.5.90.0  /usr/local/lib/qt5/libQt5DBus.so.5.15.2  /usr/local/lib/libKF5Codecs.so.5.90.0  /usr/local/lib/libKF5WidgetsAddons.so.5.90.0  /usr/local/lib/qt5/libQt5Widgets.so.5.15.2  /usr/local/lib/qt5/libQt5Gui.so.5.15.2  /usr/local/lib/qt5/libQt5Core.so.5.15.2  -Wl,-rpath-link,/usr/local/lib && :
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_packet_unref@LIBAVCODEC_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `avformat_alloc_context@LIBAVFORMAT_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `avformat_open_input@LIBAVFORMAT_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_get_bytes_per_sample@LIBAVUTIL_56'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `avcodec_descriptor_get@LIBAVCODEC_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `avcodec_parameters_to_context@LIBAVCODEC_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_log_set_level@LIBAVUTIL_56'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_buffer_create@LIBAVUTIL_56'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `avcodec_free_context@LIBAVCODEC_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_strerror@LIBAVUTIL_56'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `avcodec_alloc_context3@LIBAVCODEC_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_frame_unref@LIBAVUTIL_56'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `avcodec_flush_buffers@LIBAVCODEC_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_dict_set@LIBAVUTIL_56'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_malloc@LIBAVUTIL_56'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `avcodec_align_dimensions@LIBAVCODEC_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_seek_frame@LIBAVFORMAT_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_init_packet@LIBAVCODEC_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_image_check_size@LIBAVUTIL_56'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_packet_get_side_data@LIBAVCODEC_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_rescale_q@LIBAVUTIL_56'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `avcodec_open2@LIBAVCODEC_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `avcodec_receive_frame@LIBAVCODEC_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `avio_alloc_context@LIBAVFORMAT_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `avformat_free_context@LIBAVFORMAT_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_new_packet@LIBAVCODEC_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_free@LIBAVUTIL_56'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_samples_get_buffer_size@LIBAVUTIL_56'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_register_all@LIBAVFORMAT_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_frame_alloc@LIBAVUTIL_56'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_dict_get@LIBAVUTIL_56'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_packet_copy_props@LIBAVCODEC_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_frame_free@LIBAVUTIL_56'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_get_cpu_flags@LIBAVUTIL_56'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_buffer_get_opaque@LIBAVUTIL_56'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `avformat_find_stream_info@LIBAVFORMAT_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `av_read_frame@LIBAVFORMAT_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `avcodec_find_decoder@LIBAVCODEC_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `avformat_close_input@LIBAVFORMAT_58'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WebEngineCore.so.5: undefined reference to `avcodec_send_packet@LIBAVCODEC_58'
c++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
```

The exact same happens in akonadiimportwizard, it seems that libavformat.so, libavutil.so and libavcodec.so from ffmpeg (which exists in /usr/local/lib in the correct versions) don't get linked to the binary but are referenced from libQt5WebEngineCore.so.5.
Unfortunately I know almost nothing about the CMake build process, how can I fix this?

Kind Regards,
Holm


----------



## holm (Jan 28, 2022)

It seems that I have several problems related to this. an ffmpeg package build on another 13-stable system and installed as package solves the problems shown above with the av_ symbols from ffmpeg libraries /usr/local/lib/libav*.
The same problem seems to exist with libxkbcommon, building i/usr/ports/deskutils/akonadiconsole breaks not only on the libav* libs from ffmpeg, it does this with libxkbcommon to:

```
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WaylandClient.so.5: undefined reference to `xkb_compose_state_reset@V_0.5.0'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WaylandClient.so.5: undefined reference to `xkb_state_key_get_level@V_0.5.0'
/usr/local/bin/x86_64-unknown-freebsd13.0-ld: /usr/local/lib/qt5/libQt5WaylandClient.so.5: undefined reference to `xkb_state_get_keymap@V_0.5.0'/usr/ports/x11/libxkbcommon
...
```
again, installing libxkbcommon-1.3.1.txz build on another system fixes the build. A portmaster /usr/ports/x11/libxkbcommon breaks the build again, so something is wrong building the shared libraries from those ports.

The 13-stable system is freshly build with kernel from git sources from today morning, same for the /usr/ports tree.
/usr/obj was removed before the world build, I made a make delete-old and a make delete old-libs. What the hell is happening here?
The System is otherwise rock-stable.

Regards,
Holm


----------



## holm (Jan 28, 2022)

..further investigation:

have done a "strings libxkbcommon-x11.so.0.0.0" on the library build on my system which is nor working and a version build remote on a PC of a friend I have access to. The remote system is a 13-stable from Jan 22.

In the Version from the remote PC (working on mine too):


```
...
xcb_get_atom_name_reply
xcb_get_atom_name_name
xcb_get_atom_name_name_length
strndup
strlen
getenv
xkb_context_ref
bcmp
malloc
realloc
memset
strncmp
libxkbcommon-x11.so.0
V_0.5.0
libxkbcommon.so.0
libc.so.7
FBSD_1.0
FBSD_1.1
$ORIGIN/
libxcb.so.1
libxcb-xkb.so.1
%s: unrecognized flags: %#x
reply->firstKeySym >= reply->minKeyCode
get_names
%s: illegal device ID: %d
key->num_groups <= ((sizeof(wire_sym_map->kt_index) / sizeof(*(wire_sym_map->kt_index))))
get_explicits
interner->num_pending < ARRAY_SIZE(interner->pending)
reply->firstType == 0
...
```

and in the defective version from my pc approx the same part:

```
...
xcb_get_atom_name_reply
xcb_get_atom_name_name
xcb_get_atom_name_name_length
strndup
strlen
getenv
xkb_context_ref
bcmp
malloc
realloc
memset
strncmp
libxkbcommon.so.0
libxcb.so.1
libxcb-xkb.so.1
libc.so.7
libxkbcommon-x11.so.0
FBSD_1.1
FBSD_1.0
$ORIGIN/
%zL
%rL
%jL
%bL
%ZL
%RL
%JL
%BL
%:L
%2L
%*L
%"L
%zK
%rK
%jK
%bK
%ZK
%RK
%JK
%BK
%:K
%2K
%*K
%"K
...
```

so there are parts missing, especially the Symbol with the Version information
"libxkbcommon-x11.so.0
V_0.5.0
libxkbcommon.so.0"

The Version string can't be found somewhere in the entire library.

..so ld.so can't find the library version and the linking fails.
Since my system works with the remote build libraries for ffmpeg and libxkbcommon-x11, the error must be in the build process. What could be the cause for this?

Regards,
Holm


----------



## grahamperrin@ (Jan 29, 2022)

tl;dr please, is <https://forums.freebsd.org/posts/553298> related?


----------



## holm (Feb 1, 2022)

grahamperrin: maybe you should read, not state "tl;dr"

Regards,
Holm


----------

