Skip to content
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

mold error when building gcc with lto 'Assertion `!is_v2' failed.' #454

Open
ptr1337 opened this issue Apr 21, 2022 · 34 comments
Open

mold error when building gcc with lto 'Assertion `!is_v2' failed.' #454

ptr1337 opened this issue Apr 21, 2022 · 34 comments

Comments

@ptr1337
Copy link

ptr1337 commented Apr 21, 2022

Hello @rui314,

First thanks for the great linker!
actually wanted to build gcc with lto and bootstrap and faced into a error, i dont know if its configuring, gcc or mold related but here the error:

make[3]: Leaving directory '/tmp/makepkg/gcc/src/gcc-build/gcc'
/tmp/makepkg/gcc/src/gcc-build/./prev-gcc/xg++ -B/tmp/makepkg/gcc/src/gcc-build/./prev-gcc/ -B/usr/x86_64-pc-linux-gnu/bin/ -nostdinc++ -B/tmp/makepkg/gcc/src/gcc-build/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -B/tmp/makepkg/gcc/src/gcc-build/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs  -I/tmp/makepkg/gcc/src/gcc-build/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu  -I/tmp/makepkg/gcc/src/gcc-build/prev-x86_64-pc-linux-gnu/libstdc++-v3/include  -I/tmp/makepkg/gcc/src/gcc/libstdc++-v3/libsupc++ -L/tmp/makepkg/gcc/src/gcc-build/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -L/tmp/makepkg/gcc/src/gcc-build/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs -no-pie   -march=native -O3 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -fno-plt -fopenmp -pthread -Wno-error -w -fno-checking -flto=jobserver -frandom-seed=1 -DIN_GCC     -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -o cc1plus \
      cp/cp-lang.o c-family/stub-objc.o cp/call.o cp/class.o cp/constexpr.o cp/constraint.o cp/coroutines.o cp/cp-gimplify.o cp/cp-objcp-common.o cp/cp-ubsan.o cp/cvt.o cp/cxx-pretty-print.o cp/decl.o cp/decl2.o cp/dump.o cp/error.o cp/except.o cp/expr.o cp/friend.o cp/init.o cp/lambda.o cp/lex.o cp/logic.o cp/mangle.o cp/mapper-client.o cp/mapper-resolver.o cp/method.o cp/module.o cp/name-lookup.o cp/optimize.o cp/parser.o cp/pt.o cp/ptree.o cp/rtti.o cp/search.o cp/semantics.o cp/tree.o cp/typeck.o cp/typeck2.o cp/vtable-class-hierarchy.o attribs.o incpath.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-indentation.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o c-family/c-ubsan.o c-family/known-headers.o c-family/c-attribs.o c-family/c-warn.o c-family/c-spellcheck.o i386-c.o glibc-c.o cc1plus-checksum.o libbackend.a main.o libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a ../libcody/libcody.a  \
        libcommon.a ../libcpp/libcpp.a   ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a  -lisl -lmpc -lmpfr -lgmp -rdynamic  -lz -lzstd 
mold: elf/lto.cc:273: mold::PluginStatus mold::elf::get_symbols(const void*, int, mold::PluginSymbol*, bool) [with E = X86_64]: Assertion `!is_v2' failed.
collect2: fatal error: ld terminated with signal 6 [Aborted], core dumped
compilation terminated.
make[3]: *** [/tmp/makepkg/gcc/src/gcc/gcc/cp/Make-lang.in:136: cc1plus] Error 1
rm gfdl.pod gcc.pod gfortran.pod gcov-dump.pod gcov-tool.pod fsf-funding.pod gpl.pod cpp.pod gcov.pod lto-dump.pod gccgo.pod gdc.pod
make[2]: *** [Makefile:5005: all-stage2-gcc] Error 2
make[1]: *** [Makefile:30918: stage2-bubble] Error 2
make: *** [Makefile:31130: bootstrap] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

used latest mold commit 494b28cfb38c3291adeb7ea4ed1fc64f37846651 and gcc-12 `gcc version 12.0.1 20220421 (experimental) GCC', built on archlinux.

did built with following configuring flags:

      --libdir=/usr/lib \
      --libexecdir=/usr/lib \
      --mandir=/usr/share/man \
      --infodir=/usr/share/info \
      --with-bugurl=https://bugs.archlinux.org/ \
      --with-linker-hash-style=gnu \
      --with-system-zlib \
      --enable-__cxa_atexit \
      --enable-cet=auto \
      --enable-checking=release \
      --enable-clocale=gnu \
      --enable-default-pie \
      --enable-default-ssp \
      --enable-gnu-indirect-function \
      --enable-gnu-unique-object \
      --enable-linker-build-id 
      --enable-lto \
      --enable-multilib \
      --enable-plugin \
      --enable-shared \
      --enable-threads=posix \
      --disable-libssp \
      --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d \
      --enable-bootstrap \
      --with-ld=/usr/bin/mold \
      --with-build-config=bootstrap-lto \
      --enable-link-serialization=1 \
      --disable-libstdcxx-pch \
      --disable-werror \
      gdc_include_dir=/usr/include/dlang/gdc"

Maybe @marxin could help.

Thanks and Regards.

@rui314
Copy link
Owner

rui314 commented Apr 22, 2022

IIRC, @marxin tried to build gcc using mold with LTO, and I believe it worked at the moment. Could it be a regression of gcc?

@marxin
Copy link
Sponsor Contributor

marxin commented Apr 22, 2022

Well, note the current master (the upcoming GCC 12.1) does not contain the implementation of get_symbols_v3.
So can you please explain to me what the crash means? Maybe get_symbols is used?

@rui314
Copy link
Owner

rui314 commented Apr 22, 2022

On second thought, it's likely an internal error of mold and not gcc's fault. I just want to confirm that you succeeded to build gcc with mold with LTO recently. If so, it's likely a mold's regression.

@marxin
Copy link
Sponsor Contributor

marxin commented Apr 22, 2022

Oh, to be honest, I haven't tested LTO bootstrap of GCC (even with the queued packages prepared to GCC 13 like get_symbols_v3 addition). I can reproduce the issue, it's really about an object from an archive that has file.is_alive == false.

@rui314
Copy link
Owner

rui314 commented Apr 22, 2022

OK, thank you for confirming! I'll take a look.

@marxin
Copy link
Sponsor Contributor

marxin commented Apr 22, 2022

But I can confirm I can LTO bootstrap GCC with the GCC patch that introduces get_symbols_v3!

@marxin
Copy link
Sponsor Contributor

marxin commented Apr 22, 2022

Oh, but I end up with some undefined symbols:

mold: error: undefined symbol: /tmp/cc1uZOWP.ltrans17.ltrans.o: add_path(char*, incpath_kind, int, bool)
mold: error: undefined symbol: /tmp/cc1uZOWP.ltrans17.ltrans.o: add_path(char*, incpath_kind, int, bool)
mold: error: undefined symbol: /tmp/cc1uZOWP.ltrans17.ltrans.o: add_path(char*, incpath_kind, int, bool)
mold: error: undefined symbol: /tmp/cc1uZOWP.ltrans17.ltrans.o: add_path(char*, incpath_kind, int, bool)
mold: error: undefined symbol: /tmp/cc1uZOWP.ltrans17.ltrans.o: split_quote_chain()
mold: error: undefined symbol: /tmp/cc1uZOWP.ltrans17.ltrans.o: register_include_chains(cpp_reader*, char const*, char const*, char const*, int, int, int)
mold: error: undefined symbol: /tmp/cc1uZOWP.ltrans17.ltrans.o: add_path(char*, incpath_kind, int, bool)
collect2: error: ld returned 1 exit status
make[3]: *** [/home/marxin/Programming/gcc/gcc/cp/Make-lang.in:136: cc1plus] Error 1

@marxin
Copy link
Sponsor Contributor

marxin commented Apr 22, 2022

About the register_include_chains it's defined in libbackend.a:

$ nm libbackend.a
...
incpath.o:
...
00000000 T _Z23register_include_chainsP10cpp_readerPKcS2_S2_iii

but I can't see the incpath.o in cc1plus.res and the symbol is marked as undefined:
7771 1 UNDEF _Z8add_pathPc12incpath_kindib

That's why we end up with the error.
Do you need any of the files or can you reproduce it locally?

@rui314
Copy link
Owner

rui314 commented Apr 23, 2022

@marxin What are your configure options?

@marxin
Copy link
Sponsor Contributor

marxin commented Apr 25, 2022

./gcc/configure --enable-languages=c,c++,fortran,jit --prefix=/home/marxin/bin/gcc --disable-multilib --enable-host-shared --disable-libsanitizer --enable-valgrind-annotations --with-ld=`which ld.mold`       --with-build-config=bootstrap-lto 

@ptr1337
Copy link
Author

ptr1337 commented Apr 26, 2022

Actually I did again a try and facing in the following error:

mold: error: duplicate symbol: libgcc.a(getf2.o): getf2_s.o: __getf2
mold: error: duplicate symbol: libgcc.a(letf2.o): letf2_s.o: __letf2

GCC Version used: gcc version 12.0.1 20220426 (experimental) (GCC)
Mold Commit: 1790796

@marxin
Copy link
Sponsor Contributor

marxin commented Apr 26, 2022

It's new issue #475.

@rui314
Copy link
Owner

rui314 commented Apr 27, 2022

That problem should be fixed now, so please try again.

@rui314 rui314 closed this as completed in 708ad63 Apr 29, 2022
@rui314
Copy link
Owner

rui314 commented Apr 29, 2022

The original issue should also be fixed in the above commit.

@marxin
Copy link
Sponsor Contributor

marxin commented May 3, 2022

Stage 1 of the GCC compiler is opened and I've sent the get_symbols_v3 API addition patch:
https://gcc.gnu.org/pipermail/gcc-patches/2022-May/593900.html

and I was able to LTO bootstrap GCC with all languages enabled:
~/Programming/gcc/configure --enable-languages=all --prefix=/home/marxin/bin/gcc --enable-host-shared --with-ld=which ld.mold --with-build-config=bootstrap-lto

About the other changes mentioned in this thread. GCC community is not happy about the new hook: ld_plugin_version:
https://gcc.gnu.org/pipermail/gcc-patches/2022-May/593901.html

So I'm leaving that one. Apparently, other linkers also have conditional behavior based on if GCC or Clang is used.

@rui314
Copy link
Owner

rui314 commented May 4, 2022

How can I distinguish a GCC plugin with v2-only support from one with v3 support?

Currently, mold restart itself if a GCC LTO plugin is in use to reset the internal state of the plugin. That happens before we call all_symbols_read_hook which is before get_symbols_v2 or get_symbols_v3 is called.

If get_symbols_v3 is available, we don't need to restart the linker, but to do so, we need to know if get_symbols_v3 is available before calling all_symbols_read_hook.

@rui314
Copy link
Owner

rui314 commented May 4, 2022

Or, maybe we can restart the linker as soon as get_symbols_v2 is called for the first time. I'm not sure if that is a safe timing to call exec though (doesn't GCC leave temporary files for example?)

rui314 added a commit that referenced this issue May 4, 2022
…irst time

Previously, we detected if a given linker plugin supports get_symbols_v3
or not and restart the process if only get_symbols_v2 is supported.

Now, mold restart itself wehn get_symbols_v2 is called for the first time,
eliminating the need for the feature detection.

#454
@marxin
Copy link
Sponsor Contributor

marxin commented May 4, 2022

How can I distinguish a GCC plugin with v2-only support from one with v3 support?

Oh, I forgot about this need. So if you want I can suggest adding a new symbol supports_get_symbols_v3 that would tell you that. That's something local to GCC plug-in and does not need a plugin API change.
Will you be interested in that?

@rui314
Copy link
Owner

rui314 commented May 4, 2022

Oh, I forgot about this need. So if you want I can suggest adding a new symbol supports_get_symbols_v3 that would tell you that. That's something local to GCC plug-in and does not need a plugin API change.
Will you be interested in that?

Yes! That seems more robust than the workaround that I implemented in 38f2b96.

@marxin
Copy link
Sponsor Contributor

marxin commented May 4, 2022

All right, I've suggested that:
https://gcc.gnu.org/pipermail/gcc-patches/2022-May/594012.html

@rguenth
Copy link

rguenth commented May 5, 2022

I think you should instead try not advertising LDPT_GET_SYMBOLS or LDPT_GET_SYMBOLS_V2 in the onload transfer
vector and if that gets you a LDPT_OK you know it will not be called. If the onload fails, you can do the reverse and drop
LDPT_GET_SYMBOLS_V3. You might need to unload/reload the plugin on failure, not sure. Looking at GCCs implementation
it doesn't clear variables at start and would do some redundant getenv work. But I think the plugin cannot assume that
dlclose()/dlopen() will actually unmap/remap its image and thus onload() starts fresh.

@rui314
Copy link
Owner

rui314 commented May 5, 2022

As you wrote, since there's no guarantee what the plugin is after onload failure, we probably need to dlclose and dlopen to reset the state. But dlclose/dlopen are not guaranteed to reset the state. musl libc for example doesn't unload a shared library on dlclose. So reloading a shared object file is not a reliable way to reset the internal state too.

@rguenth
Copy link

rguenth commented May 5, 2022

Yes, ideally we'd extend the plugin API to make such retried onload() well-defined, for example by adding onload_v2 ()
that will reset state when called (with possibly leaving behavior undefined when any further operation has progressed
already). But when adding onload_v2 () one could as well allow the plugin to communicate back the set of APIs used
by adding an output parameter where it can specify the target vector entries that will be used.

That said, for current API and existing plugins it might be a workable heuristic to call onload() multiple times.

For doing changes to the API a clean design is warranted, a global symbol just indicating whether _v3 is used solelyt isn't.

@rui314
Copy link
Owner

rui314 commented May 5, 2022

Speaking of the plugin API itself, I found it very peculiar and hard to use. The plugin exports only the onload function, and other plugin functions are returned to the onload caller via a vector of function pointers. I don't see any benefit of exporting features from the linker plugin this way. IMO, the plugin could export one function for each functionality, e.g. add_input_file, all_symbols_read, register_get_symbols_callback_v2, etc. If it did, we could have just use dlsym(handler, "register_get_symbols_callback_v3") to see if the plugin provides that function.

So, if adding a symbol doesn't look clean, I'd suggest we redesign the whole plugin API. We should eliminate the global state from the plugin and export more symbols from the plugin.

That said, I doubt it would worth the effort. Effectively, this plugin API is used only by GNU ld, GNU gold and mold. For these linkers, adding a marker symbol should suffice, and IMHO it's actually a cleaner solution than using more complicated and unreliable mechanism to detect the presence of v3 API.

@rguenth
Copy link

rguenth commented May 5, 2022

I didn't design the API but incremental things should follow the design spirit. So instead of a new "flag" symbol you'd
add a register_get_symbols_api_use API that the plugin then calls when available, specifying the API version of
the get_symbols hook it will actually use. Or alternatively a more broad register_get_api_usage which
provides an get_api_usage () hook like

enum ld_plugin_status
get_api_usage (ld_plugin_tag which);

which would return LDPS_OK for used and LDPS_ERR for not used (or not known) variants.

@rui314
Copy link
Owner

rui314 commented May 5, 2022

IMHO, it's an intricate way to obtain a single bit information (whether or not a given plugin supports the v3 API), but defining a new callback will work for us. If it's implemented in GCC LTO plugin, we are happy to use it.

@ptr1337
Copy link
Author

ptr1337 commented May 14, 2022

Should be the issue reopened again after reverting the commit? So probably the issue will be present again, right ? Or is just the v3 API affected ?

@rui314
Copy link
Owner

rui314 commented May 14, 2022

I will check the current status, but reverting a patch shouldn't harm any existing GCC users. It's that mold now always assumes that gcc supports only the v2 API.

@marxin
Copy link
Sponsor Contributor

marxin commented Jun 20, 2022

@rui314 Can you please experiment with the latest suggested plug-in extension patches:
https://gcc.gnu.org/pipermail/gcc-patches/2022-June/596856.html
?

@marxin
Copy link
Sponsor Contributor

marxin commented Jun 28, 2022

Just a quick note, 2 of 3 patches are upstreamed and I'm right now waiting for your feedback about the LDPT_GET_API_VERSION. Any estimation when can you get to that?

@rui314
Copy link
Owner

rui314 commented Jun 28, 2022

@marxin Sorry I was working on mold/macOS. I'll try that this week.

@rui314 rui314 reopened this Jun 28, 2022
@rui314
Copy link
Owner

rui314 commented Jun 30, 2022

I sent a reply to the gcc-patches mailing list.

https://gcc.gnu.org/pipermail/gcc-patches/2022-June/597518.html

@SupervisedThinking
Copy link
Contributor

SupervisedThinking commented Mar 1, 2024

Kodi 20.3-Nexus fails to build after mold v2.2.0, I've tested 2.3.x & 2.4.x

FAILED: kodi.bin 
: && /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/bin/x86_64-libreelec-linux-gnu-g++ -march=x86-64-v2 -Wall -pipe  -O3 -fomit-frame-pointer -DNDEBUG -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O3 -DNDEBUG -s -flto=32 -fno-fat-lto-objects -fuse-ld=mold -fuse-ld=mold -Wl,--as-needed -fuse-ld=mold   -Wl,--export-dynamic -rdynamic CMakeFiles/kodi.dir/xbmc/platform/posix/main.cpp.o -o kodi.bin  -Wl,--whole-archive  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libfstrcmp.a  build/network/httprequesthandler/python/network_httprequesthandlers_python.a  build/network/httprequesthandler/network_httprequesthandlers.a  build/network/upnp/network_upnp.a  build/upnp/libupnp.a  build/swig/libpython_binding.a  build/interfaces/python/python_interface.a  build/interfaces/legacy/wsgi/legacy_interface_wsgi.a  build/interfaces/legacy/legacy_interface.a  build/rendering/gl/rendering_gl.a  build/network/dacp/network_dacp.a  build/cdrip/cdrip.a  build/platform/linux/network/zeroconf/platform_linux_network_zeroconf.a  build/windowing/linux/windowing_linux.a  build/platform/posix/utils/platform_posix_utils.a  build/platform/posix/threads/platform_posix_threads.a  build/platform/posix/storage/discs/platform_posix_storage_discs.a  build/platform/posix/network/platform_posix_network.a  build/platform/posix/filesystem/platform_posix_filesystem.a  build/platform/posix/platform_posix.a  build/platform/linux/threads/platform_linux_threads.a  build/platform/linux/storage/platform_linux_storage.a  build/platform/linux/powermanagement/platform_linux_powermanagement.a  build/platform/linux/peripherals/platform_linux_peripherals.a  build/platform/linux/network/platform_linux_network.a  build/platform/linux/input/input_linux.a  build/platform/linux/linuxsupport.a  build/platform/common/speech/platform_common_speech.a  build/input/touch/generic/input_touch_generic.a  build/input/touch/input_touch.a  build/cores/VideoPlayer/videorenderers/shaders/videoshaders.a  build/cores/VideoPlayer/videorenderers/hwdec/videorenderers_hwdec.a  build/cores/VideoPlayer/videorenderers/videorenderers.a  build/cores/VideoPlayer/process/process.a  build/cores/VideoPlayer/subtitles/webvtt/subtitles_webvtt.a  build/cores/VideoPlayer/subtitles/dvdsubtitles.a  build/cores/VideoPlayer/inputstreams/dvdinputstreams.a  build/cores/VideoPlayer/demuxers/dvddemuxers.a  build/cores/VideoPlayer/codecs/video/dvdvideocodecs.a  build/cores/VideoPlayer/codecs/overlay/dvdoverlaycodecs.a  build/cores/VideoPlayer/codecs/audio/dvdaudiocodecs.a  build/cores/VideoPlayer/codecs/dvdcodecs.a  build/cores/VideoPlayer/Buffers/videoplayer-buffers.a  build/cores/VideoPlayer/VideoPlayer.a  build/video/windows/video_windows.a  build/video/tags/video_tags.a  build/video/jobs/video_jobs.a  build/video/dialogs/video_dialogs.a  build/video/video.a  build/windows/windows.a  build/windowing/windowing.a  build/weather/weather.a  build/view/view.a  build/utils/utils.a  build/threads/threads.a  build/storage/storage.a  build/rendering/rendering.a  build/programs/programs.a  build/powermanagement/powermanagement.a  build/playlists/playlists.a  build/platform/platform_common.a  build/pictures/pictures.a  build/messagingHelpers/messagingHelpers.a  build/messaging/messaging.a  build/listproviders/listproviders.a  build/input/mouse/generic/input_mouse_generic.a  build/input/mouse/input_mouse.a  build/input/keyboard/generic/input_keyboard_generic.a  build/input/keyboard/input_keyboard.a  build/input/joysticks/keymaps/input_joystick_keymaps.a  build/input/joysticks/generic/input_joystick_generic.a  build/input/joysticks/dialogs/input_joystick_dialogs.a  build/input/joysticks/input_joystick.a  build/input/button/input_button.a  build/input/actions/input_actions.a  build/input/input.a  build/guilib_guiinfo/guilib_guiinfo.a  build/guilib/guilib.a  build/favourites/favourites.a  build/dialogs/dialogs.a  build/dbwrappers/dbwrappers.a  build/commons/commons.a  build/application/application.a  build/addons_settings/addons_settings.a  build/addons_interfaces_gui_dialogs/addons_interfaces_gui_dialogs.a  build/addons_interfaces_gui_controls/addons_interfaces_gui_controls.a  build/addons_interfaces_gui/addons_interfaces_gui.a  build/addons_interfaces/addons_interfaces.a  build/addons_gui_skin/addons_gui_skin.a  build/addons_gui/addons_gui.a  build/addons_binary-addons/addons_binary-addons.a  build/addons_addoninfo/addons_addoninfo.a  build/addons/addons.a  build/xbmc/xbmc.a  build/settings/windows/settings_windows.a  build/settings/lib/settings_lib.a  build/settings/dialogs/settings_dialogs.a  build/settings/settings.a  build/cores/RetroPlayer/streams/memory/retroplayer_memory.a  build/cores/RetroPlayer/streams/retroplayer_streams.a  build/cores/RetroPlayer/savestates/retroplayer_savestates.a  build/cores/RetroPlayer/rendering/VideoRenderers/rp-videorenderers.a  build/cores/RetroPlayer/rendering/rp-rendering.a  build/cores/RetroPlayer/process/rp-process.a  build/cores/RetroPlayer/playback/retroplayer_playback.a  build/cores/RetroPlayer/guiwindows/retroplayer_guiwindows.a  build/cores/RetroPlayer/guiplayback/retroplayer_guiplayback.a  build/cores/RetroPlayer/guicontrols/retroplayer_guicontrols.a  build/cores/RetroPlayer/guibridge/retroplayer_guibridge.a  build/cores/RetroPlayer/cheevos/retroplayer_cheevos.a  build/cores/RetroPlayer/buffers/video/rp-buffers-video.a  build/cores/RetroPlayer/buffers/rp-buffers.a  build/cores/RetroPlayer/audio/rp_audio.a  build/cores/RetroPlayer/retroplayer.a  build/pvr/windows/pvr_windows.a  build/pvr/timers/pvr_timers.a  build/pvr/settings/pvr_settings.a  build/pvr/recordings/pvr_recordings.a  build/pvr/providers/pvr_providers.a  build/pvr/guilib/guiinfo/pvr_guilib_guiinfo.a  build/pvr/guilib/pvr_guilib.a  build/pvr/filesystem/pvr_filesystem.a  build/pvr/epg/pvr_epg.a  build/pvr/dialogs/pvr_dialogs.a  build/pvr/channels/pvr_channels.a  build/pvr/addons/pvr_addons.a  build/pvr/pvr.a  build/profiles/windows/profiles_windows.a  build/profiles/dialogs/profiles_dialogs.a  build/profiles/profiles.a  build/peripherals/dialogs/peripherals_dialogs.a  build/peripherals/devices/peripherals_devices.a  build/peripherals/bus/virtual/peripheral_bus_virtual.a  build/peripherals/bus/peripherals_bus.a  build/peripherals/addons/peripherals_addons.a  build/peripherals/peripherals.a  build/network/websocket/network_websockets.a  build/network/network.a  build/music/windows/music_windows.a  build/music/tags/music_tags.a  build/music/jobs/music_jobs.a  build/music/infoscanner/music_infoscanner.a  build/music/dialogs/music_dialogs.a  build/music/music.a  build/drm/drm.a  build/media/media.a  build/interfaces/json-rpc/jsonrpc_interface.a  build/interfaces/info/info_interface.a  build/interfaces/generic/generic_interface.a  build/interfaces/builtins/interfaces_builtins.a  build/interfaces/interfaces.a  build/games/windows/gameswindows.a  build/games/tags/gametags.a  build/games/ports/windows/games_ports_windows.a  build/games/ports/types/games_ports_types.a  build/games/ports/input/games_ports_input.a  build/games/dialogs/osd/gameosddialogs.a  build/games/dialogs/gamedialogs.a  build/games/controllers/windows/games_controller_windows.a  build/games/controllers/types/games_controller_types.a  build/games/controllers/input/games_controller_input.a  build/games/controllers/guicontrols/games_controller_guicontrols.a  build/games/controllers/dialogs/games_controller_dialogs.a  build/games/controllers/games_controller.a  build/games/agents/games_agents.a  build/games/addons/streams/game_addon_streams.a  build/games/addons/input/gameinput.a  build/games/addons/cheevos/gamecheevos.a  build/games/addons/gameaddons.a  build/games/games.a  build/filesystem/videodatabase/videodatabasedirectory.a  build/filesystem/musicdatabase/musicdatabasedirectory.a  build/filesystem/filesystem.a  build/kissfft/kissfft.a  build/events/windows/events_windows.a  build/events/events.a  build/cores/playercorefactory/playercorefactory.a  build/cores/paplayer/paplayer.a  build/cores/externalplayer/externalplayer.a  build/cores/dll-loader/exports/util/exports_utils.a  build/cores/dll-loader/exports/dllexports.a  build/cores/dll-loader/dllloader.a  build/cores/audioengine/audioengine.a  build/cores/cores.a  build/windowing/X11/windowing_X11.a  build/cores/VideoPlayer/Process/X11/processX11.a  build/cores/RetroPlayer/process/X11/rp-process-x11.a  -Wl,--no-whole-archive  libkodi.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libasound.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libavahi-client.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libavahi-common.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libbluetooth.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libbluray.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libcap.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libcec.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libdav1d.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libdbus-1.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libiso9660++.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libiso9660.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libcdio.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/liblirc_client.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libmicrohttpd.a  -lmicrohttpd  -lpthread  -lgnutls  -lgmp  -latomic  -lhogweed  -lgmp  -lnettle  -lidn2  -lz  -lzstd  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libnfs.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libplist-2.0.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libpulse.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libpulse-mainloop-glib.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libpulse-simple.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libpython3.11.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libsmbclient.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libudev.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libudfread.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libxslt.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libxml2.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libva.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libva-drm.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libva-x11.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libGL.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libvdpau.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libass.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libcdio.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libcrossguid.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libuuid.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libcurl.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libavcodec.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libavfilter.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libavformat.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libavutil.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libswscale.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libswresample.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libpostproc.so  -L/mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib  -L/mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib  -L/mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib  -L/mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib  -L/mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib  -L/mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib  -L/mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib  -lavcodec  -lavfilter  -lavformat  -lavutil  -lswscale  -lswresample  -lpostproc  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libfmt.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libfreetype.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libfribidi.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libfstrcmp.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libharfbuzz.so  -lc  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/build/kodi-20.3-Nexus/depends/lib/libdvdnav.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/build/kodi-20.3-Nexus/depends/lib/libdvdread.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/build/kodi-20.3-Nexus/depends/lib/libdvdcss.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/liblzo2.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libssl.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libcrypto.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libpcrecpp.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libpcre.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libspdlog.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libsqlite3.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libtag.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libtinyxml.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libz.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libEGL.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libX11.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libXext.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libXrandr.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libdrm.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libGL.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/mariadb/libmariadbclient.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libshairplay.so  build/network/httprequesthandler/python/network_httprequesthandlers_python.a  build/network/httprequesthandler/network_httprequesthandlers.a  build/network/upnp/network_upnp.a  build/swig/libpython_binding.a  build/interfaces/python/python_interface.a  build/interfaces/legacy/wsgi/legacy_interface_wsgi.a  build/interfaces/legacy/legacy_interface.a  build/rendering/gl/rendering_gl.a  build/network/dacp/network_dacp.a  build/cdrip/cdrip.a  build/platform/linux/network/zeroconf/platform_linux_network_zeroconf.a  build/windowing/linux/windowing_linux.a  build/platform/posix/utils/platform_posix_utils.a  build/platform/posix/threads/platform_posix_threads.a  build/platform/posix/storage/discs/platform_posix_storage_discs.a  build/platform/posix/network/platform_posix_network.a  build/platform/posix/filesystem/platform_posix_filesystem.a  build/platform/posix/platform_posix.a  build/platform/linux/threads/platform_linux_threads.a  build/platform/linux/storage/platform_linux_storage.a  build/platform/linux/powermanagement/platform_linux_powermanagement.a  build/platform/linux/peripherals/platform_linux_peripherals.a  build/platform/linux/network/platform_linux_network.a  build/platform/linux/input/input_linux.a  build/platform/linux/linuxsupport.a  build/platform/common/speech/platform_common_speech.a  build/input/touch/generic/input_touch_generic.a  build/input/touch/input_touch.a  build/cores/VideoPlayer/videorenderers/shaders/videoshaders.a  build/cores/VideoPlayer/videorenderers/hwdec/videorenderers_hwdec.a  build/cores/VideoPlayer/videorenderers/videorenderers.a  build/cores/VideoPlayer/process/process.a  build/cores/VideoPlayer/subtitles/webvtt/subtitles_webvtt.a  build/cores/VideoPlayer/subtitles/dvdsubtitles.a  build/cores/VideoPlayer/inputstreams/dvdinputstreams.a  build/cores/VideoPlayer/demuxers/dvddemuxers.a  build/cores/VideoPlayer/codecs/video/dvdvideocodecs.a  build/cores/VideoPlayer/codecs/overlay/dvdoverlaycodecs.a  build/cores/VideoPlayer/codecs/audio/dvdaudiocodecs.a  build/cores/VideoPlayer/codecs/dvdcodecs.a  build/cores/VideoPlayer/Buffers/videoplayer-buffers.a  build/cores/VideoPlayer/VideoPlayer.a  build/video/windows/video_windows.a  build/video/tags/video_tags.a  build/video/jobs/video_jobs.a  build/video/dialogs/video_dialogs.a  build/video/video.a  build/windows/windows.a  build/windowing/windowing.a  build/weather/weather.a  build/view/view.a  build/utils/utils.a  build/threads/threads.a  build/storage/storage.a  build/rendering/rendering.a  build/programs/programs.a  build/powermanagement/powermanagement.a  build/playlists/playlists.a  build/platform/platform_common.a  build/pictures/pictures.a  build/messagingHelpers/messagingHelpers.a  build/messaging/messaging.a  build/listproviders/listproviders.a  build/input/mouse/generic/input_mouse_generic.a  build/input/mouse/input_mouse.a  build/input/keyboard/generic/input_keyboard_generic.a  build/input/keyboard/input_keyboard.a  build/input/joysticks/keymaps/input_joystick_keymaps.a  build/input/joysticks/generic/input_joystick_generic.a  build/input/joysticks/dialogs/input_joystick_dialogs.a  build/input/joysticks/input_joystick.a  build/input/button/input_button.a  build/input/actions/input_actions.a  build/input/input.a  build/guilib_guiinfo/guilib_guiinfo.a  build/guilib/guilib.a  build/favourites/favourites.a  build/dialogs/dialogs.a  build/dbwrappers/dbwrappers.a  build/commons/commons.a  build/application/application.a  build/addons_settings/addons_settings.a  build/addons_interfaces_gui_dialogs/addons_interfaces_gui_dialogs.a  build/addons_interfaces_gui_controls/addons_interfaces_gui_controls.a  build/addons_interfaces_gui/addons_interfaces_gui.a  build/addons_interfaces/addons_interfaces.a  build/addons_gui_skin/addons_gui_skin.a  build/addons_gui/addons_gui.a  build/addons_binary-addons/addons_binary-addons.a  build/addons_addoninfo/addons_addoninfo.a  build/addons/addons.a  build/xbmc/xbmc.a  build/settings/windows/settings_windows.a  build/settings/lib/settings_lib.a  build/settings/dialogs/settings_dialogs.a  build/settings/settings.a  build/cores/RetroPlayer/streams/memory/retroplayer_memory.a  build/cores/RetroPlayer/streams/retroplayer_streams.a  build/cores/RetroPlayer/savestates/retroplayer_savestates.a  build/cores/RetroPlayer/rendering/VideoRenderers/rp-videorenderers.a  build/cores/RetroPlayer/rendering/rp-rendering.a  build/cores/RetroPlayer/process/rp-process.a  build/cores/RetroPlayer/playback/retroplayer_playback.a  build/cores/RetroPlayer/guiwindows/retroplayer_guiwindows.a  build/cores/RetroPlayer/guiplayback/retroplayer_guiplayback.a  build/cores/RetroPlayer/guicontrols/retroplayer_guicontrols.a  build/cores/RetroPlayer/guibridge/retroplayer_guibridge.a  build/cores/RetroPlayer/cheevos/retroplayer_cheevos.a  build/cores/RetroPlayer/buffers/video/rp-buffers-video.a  build/cores/RetroPlayer/buffers/rp-buffers.a  build/cores/RetroPlayer/audio/rp_audio.a  build/cores/RetroPlayer/retroplayer.a  build/pvr/windows/pvr_windows.a  build/pvr/timers/pvr_timers.a  build/pvr/settings/pvr_settings.a  build/pvr/recordings/pvr_recordings.a  build/pvr/providers/pvr_providers.a  build/pvr/guilib/guiinfo/pvr_guilib_guiinfo.a  build/pvr/guilib/pvr_guilib.a  build/pvr/filesystem/pvr_filesystem.a  build/pvr/epg/pvr_epg.a  build/pvr/dialogs/pvr_dialogs.a  build/pvr/channels/pvr_channels.a  build/pvr/addons/pvr_addons.a  build/pvr/pvr.a  build/profiles/windows/profiles_windows.a  build/profiles/dialogs/profiles_dialogs.a  build/profiles/profiles.a  build/peripherals/dialogs/peripherals_dialogs.a  build/peripherals/devices/peripherals_devices.a  build/peripherals/bus/virtual/peripheral_bus_virtual.a  build/peripherals/bus/peripherals_bus.a  build/peripherals/addons/peripherals_addons.a  build/peripherals/peripherals.a  build/network/websocket/network_websockets.a  build/network/network.a  build/music/windows/music_windows.a  build/music/tags/music_tags.a  build/music/jobs/music_jobs.a  build/music/infoscanner/music_infoscanner.a  build/music/dialogs/music_dialogs.a  build/music/music.a  build/drm/drm.a  build/media/media.a  build/interfaces/json-rpc/jsonrpc_interface.a  build/interfaces/info/info_interface.a  build/interfaces/generic/generic_interface.a  build/interfaces/builtins/interfaces_builtins.a  build/interfaces/interfaces.a  build/games/windows/gameswindows.a  build/games/tags/gametags.a  build/games/ports/windows/games_ports_windows.a  build/games/ports/types/games_ports_types.a  build/games/ports/input/games_ports_input.a  build/games/dialogs/osd/gameosddialogs.a  build/games/dialogs/gamedialogs.a  build/games/controllers/windows/games_controller_windows.a  build/games/controllers/types/games_controller_types.a  build/games/controllers/input/games_controller_input.a  build/games/controllers/guicontrols/games_controller_guicontrols.a  build/games/controllers/dialogs/games_controller_dialogs.a  build/games/controllers/games_controller.a  build/games/agents/games_agents.a  build/games/addons/streams/game_addon_streams.a  build/games/addons/input/gameinput.a  build/games/addons/cheevos/gamecheevos.a  build/games/addons/gameaddons.a  build/games/games.a  build/filesystem/videodatabase/videodatabasedirectory.a  build/filesystem/musicdatabase/musicdatabasedirectory.a  build/filesystem/filesystem.a  build/upnp/libupnp.a  build/kissfft/kissfft.a  build/events/windows/events_windows.a  build/events/events.a  build/cores/playercorefactory/playercorefactory.a  build/cores/paplayer/paplayer.a  build/cores/externalplayer/externalplayer.a  build/cores/dll-loader/exports/util/exports_utils.a  build/cores/dll-loader/exports/dllexports.a  build/cores/dll-loader/dllloader.a  build/cores/audioengine/audioengine.a  build/cores/cores.a  build/windowing/X11/windowing_X11.a  build/cores/VideoPlayer/Process/X11/processX11.a  build/cores/RetroPlayer/process/X11/rp-process-x11.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libfstrcmp.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libcdio.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/liblirc_client.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libmicrohttpd.a  -lmicrohttpd  -lpthread  -lgnutls  -lgmp  -latomic  -lhogweed  -lnettle  -lidn2  -lz  -lzstd  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libnfs.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libplist-2.0.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libpulse.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libpulse-mainloop-glib.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libpulse-simple.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libpython3.11.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libsmbclient.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libudev.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libudfread.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libxslt.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libxml2.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libva.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libva-drm.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libva-x11.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libvdpau.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libass.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libcrossguid.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libuuid.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libcurl.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libavcodec.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libavfilter.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libavformat.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libavutil.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libswscale.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libswresample.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libpostproc.so  -lavcodec  -lavfilter  -lavformat  -lavutil  -lswscale  -lswresample  -lpostproc  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libfmt.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libfreetype.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libfribidi.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libharfbuzz.so  -lc  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/build/kodi-20.3-Nexus/depends/lib/libdvdnav.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/build/kodi-20.3-Nexus/depends/lib/libdvdread.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/build/kodi-20.3-Nexus/depends/lib/libdvdcss.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/liblzo2.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libssl.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libcrypto.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libpcrecpp.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libpcre.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libspdlog.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libsqlite3.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libtag.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libtinyxml.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libz.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libEGL.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libX11.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libXext.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libXrandr.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libdrm.so  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/mariadb/libmariadbclient.a  /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/libshairplay.so  -ldl && :
ld.mold: /mnt/build/LibreELEC-RR/build.LibreELEC-x11.x86_64-11.0-devel/build/mold-2.4.1/elf/lto-unix.cc:291: mold::PluginStatus mold::elf::get_symbols(const void*, int, mold::PluginSymbol*, bool) [with E = mold::elf::X86_64]: Assertion `!is_v2' failed.
collect2: fatal error: ld terminated with signal 6 [Aborted], core dumped
compilation terminated.
ninja: build stopped: subcommand failed.
FAILURE: scripts/build kodi during make_target (default)
*********** FAILED COMMAND ***********
ninja ${NINJA_OPTS} ${PKG_MAKE_OPTS_TARGET}

@rui314
Copy link
Owner

rui314 commented Mar 2, 2024

@SupervisedThinking How did you build Kodi? I couldn't reproduce the issue. My CMake options are: cmake -GNinja -DAPP_RENDER_SYSTEM=gl -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=1 -DVERBOSE=1 ..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants