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

Error building wayland-protocols #23405

Closed
1 of 7 tasks
NelsonSR opened this issue Jun 15, 2023 · 15 comments
Closed
1 of 7 tasks

Error building wayland-protocols #23405

NelsonSR opened this issue Jun 15, 2023 · 15 comments
Labels
Triage: Needed (managed by bot!) issue that was just created and needs someone looking at it

Comments

@NelsonSR
Copy link

NelsonSR commented Jun 15, 2023

Bug report

Describe the bug

Here is a clear and concise description of what the problem is:

The wayland-protocols building and installing step stops with an error message

Installing kodi 21.0a1-Omega from the sources on Debian 11.7 halts at the wayland-protocols compiling, probably caused by a script error.

Expected Behavior

Here is a clear and concise description of what was expected to happen:

Leaving the directory without error messages

Actual Behavior

The process ends with an Error 127

Possible Fix

To Reproduce

Steps to reproduce the behavior:

  1. cd $HOME/kodi
  2. sudo make -C tools/depends/target/wayland-protocols PREFIX=/usr/local

Debuglog

The debuglog can be found here:

nelson@slimshadygray:/usr/local/share/kodi$ sudo make -C tools/depends/target/wayland-protocols PREFIX=/usr/local
make: Entering directory '/usr/local/share/kodi/tools/depends/target/wayland-protocols'
cd /usr/local/share/kodi/tools/depends; curl -Ls --create-dirs -f -O  http://mirrors.kodi.tv/build-deps/sources/wayland-protocols-1.20.tar.gz
rm -rf native/*; mkdir -p native
cd native; tar --strip-components=1 -xf  /usr/local/share/kodi/tools/depends/wayland-protocols-1.20.tar.gz
cd native;  -vif
/bin/sh: 1: -vif: not found
make: *** [Makefile:39: native] Error 127
make: Leaving directory '/usr/local/share/kodi/tools/depends/target/wayland-protocols'
nelson@slimshadygray:/usr/local/share/kodi$

Screenshots

Here are some links or screenshots to help explain the problem:

Additional context or screenshots (if appropriate)

Here is some additional context or explanation that might help:

Your Environment

Used Operating system:

  • Android

  • iOS

  • tvOS

  • Linux

  • macOS

  • Windows

  • Windows UWP

  • Operating system version/name: Debian GNU/Linux «Bullseye» 11.7

  • Kodi version: 21.0a1-Omega

note: Once the issue is made we require you to update it with new information or Kodi versions should that be required.
Team Kodi will consider your problem report however, we will not make any promises the problem will be solved.

@xbmc-gh-bot xbmc-gh-bot bot added the Triage: Needed (managed by bot!) issue that was just created and needs someone looking at it label Jun 15, 2023
@neo1973
Copy link
Member

neo1973 commented Jun 15, 2023

Please try again with current master, the problem should have been fixed with #22780.

@NelsonSR
Copy link
Author

NelsonSR commented Jun 16, 2023

Error fixed in the source code from branch master, but stops on cmake 43% building of kodi source:
cmake --build . -- VERBOSE=1 -j$(getconf _NPROCESSORS_ONLN)

gmake[2]: *** [build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/build.make:90: build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/SavestateFlatBuffer.cpp.o] Error 1
gmake[2]: Leaving directory '/usr/local/share/kodi-build'
gmake[1]: *** [CMakeFiles/Makefile2:9048: build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
[ 43%] Linking CXX static library pvr_guilib.a
cd /usr/local/share/kodi-build/build/pvr/guilib && /usr/bin/cmake -P CMakeFiles/pvr_guilib.dir/cmake_clean_target.cmake
cd /usr/local/share/kodi-build/build/pvr/guilib && /usr/bin/cmake -E cmake_link_script CMakeFiles/pvr_guilib.dir/link.txt --verbose=1
/usr/bin/ar qc pvr_guilib.a CMakeFiles/pvr_guilib.dir/GUIEPGGridContainer.cpp.o CMakeFiles/pvr_guilib.dir/GUIEPGGridContainerModel.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionListener.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsChannels.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsClients.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsDatabase.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsEPG.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsUtils.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsParentalControl.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsPlayback.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsPowerManagement.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsRecordings.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsTimers.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIChannelIconUpdater.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIChannelNavigator.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIProgressHandler.cpp.o
/usr/bin/ranlib pvr_guilib.a
gmake[2]: Leaving directory '/usr/local/share/kodi-build'
[ 43%] Built target pvr_guilib
[ 43%] Linking CXX static library rp-videorenderers.a
cd /usr/local/share/kodi-build/build/cores/RetroPlayer/rendering/VideoRenderers && /usr/bin/cmake -P CMakeFiles/rp-videorenderers.dir/cmake_clean_target.cmake
cd /usr/local/share/kodi-build/build/cores/RetroPlayer/rendering/VideoRenderers && /usr/bin/cmake -E cmake_link_script CMakeFiles/rp-videorenderers.dir/link.txt --verbose=1
/usr/bin/ar qc rp-videorenderers.a "CMakeFiles/rp-videorenderers.dir/RPBaseRenderer.cpp.o" "CMakeFiles/rp-videorenderers.dir/RPRendererGuiTexture.cpp.o" "CMakeFiles/rp-videorenderers.dir/RPRendererOpenGLES.cpp.o" "CMakeFiles/rp-videorenderers.dir/RPRendererOpenGL.cpp.o"
/usr/bin/ranlib rp-videorenderers.a
gmake[2]: Leaving directory '/usr/local/share/kodi-build'
[ 43%] Built target rp-videorenderers
[ 43%] Linking CXX static library rp-rendering.a
cd /usr/local/share/kodi-build/build/cores/RetroPlayer/rendering && /usr/bin/cmake -P CMakeFiles/rp-rendering.dir/cmake_clean_target.cmake
cd /usr/local/share/kodi-build/build/cores/RetroPlayer/rendering && /usr/bin/cmake -E cmake_link_script CMakeFiles/rp-rendering.dir/link.txt --verbose=1
/usr/bin/ar qc rp-rendering.a "CMakeFiles/rp-rendering.dir/RenderContext.cpp.o" "CMakeFiles/rp-rendering.dir/RenderSettings.cpp.o" "CMakeFiles/rp-rendering.dir/RenderTranslator.cpp.o" "CMakeFiles/rp-rendering.dir/RenderUtils.cpp.o" "CMakeFiles/rp-rendering.dir/RenderVideoSettings.cpp.o" "CMakeFiles/rp-rendering.dir/RPRenderManager.cpp.o"
/usr/bin/ranlib rp-rendering.a
gmake[2]: Leaving directory '/usr/local/share/kodi-build'
[ 43%] Built target rp-rendering
gmake[1]: Leaving directory '/usr/local/share/kodi-build'
gmake: *** [Makefile:146: all] Error 2

@neo1973
Copy link
Member

neo1973 commented Jun 24, 2023

Your build log doesn't contain the actual error, please post the full log.

@NelsonSR
Copy link
Author

Full log of Kodi cmake build
kodi-build.log

@neo1973
Copy link
Member

neo1973 commented Jun 24, 2023

I don't see a single error or warning in that log 😕 Could it be that you only captured stdout but not stderr?

@NelsonSR
Copy link
Author

Yes, you're right, my bad. Here you have the stderr output of cmake...
kodi-build-error.log

@neo1973
Copy link
Member

neo1973 commented Jun 25, 2023

Hmm, looks like the kodi headers generated with flatc and the flatbuffer headers in /usr/local/include/flatbuffers don't match. Can you paste the full output of the initial CMake command?

@NelsonSR
Copy link
Author

Sure I can. Here it is...

kodi-build.log

@neo1973
Copy link
Member

neo1973 commented Jun 25, 2023

I meant the CMake output where it shows the location and version of the various dependencies:

Example
$ cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib -DENABLE_AIRTUNES=ON -DENABLE_ALSA=ON -DENABLE_AVAHI=ON -DENABLE_BLURAY=ON -DENABLE_CEC=ON -DENABLE_DBUS=ON -DENABLE_DVDCSS=ON -DENABLE_EGL=ON -DENABLE_EVENTCLIENTS=ON -DENABLE_MICROHTTPD=ON -DENABLE_MYSQLCLIENT=ON -DENABLE_NFS=ON -DENABLE_OPTICAL=ON -DENABLE_PULSEAUDIO=ON -DENABLE_SMBCLIENT=ON -DENABLE_UDEV=ON -DENABLE_UPNP=ON -DENABLE_VAAPI=ON -DENABLE_XSLT=ON -DENABLE_INTERNAL_FFMPEG=ON -DENABLE_MOLD=ON -DCORE_PLATFORM_NAME=wayland -DAPP_RENDER_SYSTEM=gl -DECM_ENABLE_SANITIZERS='address;leak;undefined' -G Ninja ../xbmc/
-- The CXX compiler identification is GNU 13.1.1
-- The C compiler identification is GNU 13.1.1
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Source directory: /home/mark/Coding/Repos/kodi-git/xbmc
-- Build directory: /home/mark/Coding/Repos/kodi-git/tmp
-- Generator: Single-configuration: Debug (Ninja)
-- CMake Version: 3.26.4
-- System type: Linux
-- Checking to see if CXX compiler accepts flag -gsplit-dwarf
-- Checking to see if CXX compiler accepts flag -gsplit-dwarf - yes
-- Debug Fission enabled
-- Found MOLD: /usr/bin/mold  
-- Linker: mold
-- Host architecture is little-endian
-- Core system type: linux
-- Platform: wayland
-- CPU: x86_64, ARCH: x86_64-linux
-- Cross-Compiling: FALSE
-- Execute build artefacts on host: 
-- Depends based build: 
-- statx is available
-- Checking to see if CXX compiler accepts flag -msse
-- Checking to see if CXX compiler accepts flag -msse - yes
-- Checking to see if CXX compiler accepts flag -msse2
-- Checking to see if CXX compiler accepts flag -msse2 - yes
-- Checking to see if CXX compiler accepts flag -msse3
-- Checking to see if CXX compiler accepts flag -msse3 - yes
-- Checking to see if CXX compiler accepts flag -mssse3
-- Checking to see if CXX compiler accepts flag -mssse3 - yes
-- Checking to see if CXX compiler accepts flag -msse4.1
-- Checking to see if CXX compiler accepts flag -msse4.1 - yes
-- Checking to see if CXX compiler accepts flag -msse4.2
-- Checking to see if CXX compiler accepts flag -msse4.2 - yes
-- Checking to see if CXX compiler accepts flag -mavx
-- Checking to see if CXX compiler accepts flag -mavx - yes
-- Checking to see if CXX compiler accepts flag -mavx2
-- Checking to see if CXX compiler accepts flag -mavx2 - yes
-- Found SSE: 1  
-- Found SSE2: 1  
-- Found SSE3: 1  
-- Found SSSE3: 1  
-- Found SSE4_1: 1  
-- Found SSE4_2: 1  
-- Found AVX: 1  
-- Found AVX2: 1  
-- Found Git: /usr/bin/git (found version "2.41.0") 
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") 
-- Found CCache: /usr/bin/ccache (found version "4.8.2") 
-- Found ClangFormat: /usr/bin/clang-format (found version "15.0.7") 
-- Found FlatC: /bin/flatc (found version "23.5.26") 
-- Found JsonSchemaBuilder: /home/mark/Coding/Repos/kodi-git/tmp/build/bin/JsonSchemaBuilder  
-- Found Lzo2: /usr/lib/liblzo2.so  
-- Found ZLIB: /usr/lib/libz.so (found version "1.2.13")  
-- Found PNG: /usr/lib/libpng.so (found version "1.6.39") 
-- Found GIF: /usr/lib/libgif.so  
-- Found JPEG: /usr/lib/libjpeg.so (found version "80") 
-- Building internal TexturePacker
-- Shipping internal TexturePacker
-- Internal TexturePacker will be executed during build
-- Found Alsa: /usr/lib/libasound.so (found version "1.2.9") 
-- Found Avahi: /usr/lib/libavahi-client.so (found version "0.8") 
-- Found Bluetooth: /usr/lib/libbluetooth.so  
-- Found Bluray: /usr/lib/libbluray.so (found suitable version "1.3.4", minimum required is "0.9.3") 
-- Found CAP: /usr/lib/libcap.so (found version "2.69") 
-- Found CEC: /usr/lib/libcec.so (found suitable version "6.0.2", minimum required is "4.0.0") 
-- Found Dav1d: /usr/lib/libdav1d.so (found version "1.2.1") 
-- Found DBus: /usr/lib/libdbus-1.so (found version "1.14.8") 
-- Found Cdio: /usr/lib/libcdio.so (found version "2.1.0") 
-- Found Iso9660pp: /usr/lib/libiso9660++.so (found version "2.1.0") 
-- Found LCMS2: /usr/lib/liblcms2.so (found version "2.15") 
-- Could NOT find LircClient (missing: LIRCCLIENT_LIBRARY LIRCCLIENT_INCLUDE_DIR) 
-- Could NOT find MDNS (missing: MDNS_LIBRARY) 
-- Found MicroHttpd: /usr/lib/libmicrohttpd.so (found version "0.9.77") 
-- Found NFS: /usr/lib/libnfs.so (found version "5.0.2") 
-- Found Pipewire: /usr/lib/libpipewire-0.3.so (found suitable version "0.3.71", minimum required is "0.3.50") 
-- Found Plist: /usr/lib/libplist-2.0.so (found version "2.3.0") 
-- Found PulseAudio: /usr/lib/libpulse.so (found version "16.1") 
-- Found Python3: /usr/include/python3.11 (found version "3.11.3") found components: Development Development.Module Development.Embed 
-- Found Python3: /usr/bin/python3.11 (found version "3.11.3") found components: Interpreter 
-- Found SmbClient: /usr/lib/libsmbclient.so (found version "0.7.0") 
-- Found Sndio: /usr/lib/libsndio.so  
-- Found UDEV: /usr/lib/libudev.so (found version "253") 
-- Could NOT find Udfread (missing: UDFREAD_LIBRARY UDFREAD_INCLUDE_DIR) 
-- Found LibXml2: /usr/lib/libxml2.so (found version "2.10.4") 
-- Found XSLT: /usr/lib/libxslt.so (found version "1.1.37") 
-- Found VAAPI: /usr/lib/libva.so (found suitable version "1.18.0", minimum required is "0.39.0") 
-- Found ASS: /usr/lib/libass.so (found version "0.17.1") 
-- Found Patch: /usr/bin/patch (found version "2.7.6") 
-- Found CrossGUID: optimized;/home/mark/Coding/Repos/kodi-git/tmp/build/lib/libcrossguid.a;debug;/home/mark/Coding/Repos/kodi-git/tmp/build/lib/libcrossguid-dgb.a (found version "ca1bf4b810e2d188d04cb6286f957008ee1b7681") 
-- Found UUID: /usr/lib/libuuid.so (found version "2.39.0") 
-- Found Curl: /usr/lib/libcurl.so (found version "8.1.2") 
-- Found FlatBuffers: /usr/include  
-- Found Fmt: /usr/lib/libfmt.so (found version "9.1.0") 
-- Found FreeType: /usr/lib/libfreetype.so (found version "25.0.19") 
-- Found FriBidi: /usr/lib/libfribidi.so (found version "1.0.13") 
-- Found Fstrcmp: /usr/lib/libfstrcmp.so (found version "0.7.D001") 
-- Found HarfBuzz: /usr/lib/libharfbuzz.so (found version "7.3.0") 
-- Found Iconv: /usr/lib/libc.so  
-- Found KissFFT: /home/mark/Coding/Repos/kodi-git/xbmc/xbmc/contrib
-- Found LibDvdCSS: /home/mark/Coding/Repos/kodi-git/tmp/build/lib/libdvdcss.a (found version "1.4.3-Next-Nexus-Alpha2-2") 
-- Found LibDvdRead: /home/mark/Coding/Repos/kodi-git/tmp/build/lib/libdvdread.a (found version "6.1.3-Next-Nexus-Alpha2-2") 
-- Found LibDvdNav: /home/mark/Coding/Repos/kodi-git/tmp/build/lib/libdvdnav.a (found version "6.1.1-Next-Nexus-Alpha2-2") 
-- Found OpenSSL: /usr/lib/libcrypto.so (found suitable version "3.1.1", minimum required is "1.1.0")  
-- Found PCRE: /usr/lib/libpcrecpp.so (found version "8.45") 
-- Found RapidJSON: /home/mark/Coding/Repos/kodi-git/tmp/build/include (found version "1.1.0") 
-- Found Threads: TRUE  
-- Found Spdlog: /usr/lib/libspdlog.so (found version "1.11.0") 
-- Found Sqlite3: /usr/lib/libsqlite3.so (found version "3.42.0") 
-- Found TagLib: /usr/lib/libtag.so (found version "1.13") 
-- Found TinyXML: /usr/lib/libtinyxml.so (found version "2.6.2") 
-- Found TinyXML2: /usr/lib/libtinyxml2.so (found version "9.0.0") 
-- Checking for module 'wayland-protocols'
--   Found wayland-protocols, version 1.31
-- Found WaylandProtocols: 1 (found suitable version "1.31", minimum required is "1.7") 
-- Found Waylandpp: /usr/include (Required is at least version "0.2.2") 
-- Found LibDRM: /usr/lib/libdrm.so (found version "2.4.115") 
-- Found Xkbcommon: /usr/lib/libxkbcommon.so (found suitable version "1.5.0", minimum required is "0.4.1") 
-- Found OpenGl: /usr/lib/libGL.so  
-- Found EGL: /usr/lib/libEGL.so (found version "1.5") 
-- Found MySqlClient: /usr/lib/libmysqlclient.so (found version "") 
-- Found Shairplay: /usr/lib/libshairplay.so  
-- Found Java: /usr/bin/java (found version "11.0.19") found components: Runtime 
-- Found SWIG: /bin/swig (found version "4.1.1") 
-- Found Gtest: /usr/lib/libgtest.so (found version "1.13.0") 
-- Found Doxygen: /usr/bin/doxygen (found version "1.9.7") found components: doxygen dot 
-- #---- CONFIGURATION ----#
-- Platforms: wayland
-- App package: org.xbmc.kodi
-- -- PATH config --
-- Prefix: /usr
-- Libdir: /usr/lib
-- Bindir: /usr/bin
-- Includedir: /usr/include
-- Datarootdir: /usr/share
-- Datadir: /usr/share
-- Docdir: /usr/share/doc/kodi
-- CCACHE enabled: Yes
-- CLANGFORMAT enabled: Yes
-- CLANGTIDY enabled: No
-- CPPCHECK enabled: No
-- INCLUDEWHATYOUUSE enabled: No
-- ALSA enabled: Yes
-- AVAHI enabled: Yes
-- BLUETOOTH enabled: Yes
-- BLURAY enabled: Yes
-- CAP enabled: Yes
-- CEC enabled: Yes
-- DAV1D enabled: Yes
-- DBUS enabled: Yes
-- ISO9660PP enabled: Yes
-- LCMS2 enabled: Yes
-- LIRCCLIENT enabled: No
-- MDNS enabled: No
-- MICROHTTPD enabled: Yes
-- NFS enabled: Yes
-- PIPEWIRE enabled: Yes
-- PLIST enabled: Yes
-- PULSEAUDIO enabled: Yes
-- PYTHON enabled: Yes
-- SMBCLIENT enabled: Yes
-- SNDIO enabled: Yes
-- UDEV enabled: Yes
-- UDFREAD enabled: No
-- XSLT enabled: Yes
-- VAAPI enabled: Yes
-- MARIADBCLIENT enabled: No
-- MYSQLCLIENT enabled: Yes
-- Configuring done (6.8s)
-- Generating done (0.3s)
-- Build files have been written to: ...

@NelsonSR
Copy link
Author

I guess you mean the building configuration:
cmake ../kodi -DCMAKE_INSTALL_PREFIX=/usr/local -DCORE_PLATFORM_NAME=x11 -DAPP_RENDER_SYSTEM=gl -DCMAKE_BUILD_TYPE=Debug
building_configure_x11.log

@neo1973
Copy link
Member

neo1973 commented Jun 26, 2023

Yeah, but it looks like you ran that on an already configured build directory. That leaves out a lot of information, please redo on an empty build directory. It should look similar to the example.

@NelsonSR
Copy link
Author

Ok, I get it.

Here you have it: build_configuration_x11.log

@NelsonSR NelsonSR reopened this Jun 26, 2023
@neo1973
Copy link
Member

neo1973 commented Jun 27, 2023

Looks like it mixes your system flatc with the flatbuffer libraries created with depends. They will have different versions and are not compatible:

[...]
-- Found FlatC: /bin/flatc (found version "1.12.0") 
[...]
-- Found FlatBuffers: /usr/local/include
[...]

The easiest option is probably to build with the internal flatbuffers by passing -DENABLE_INTERNAL_FLATBUFFERS=ON to the initial CMake configuration call.

Alternatively you can try to remove flatbuffers from /usr/local/include and build entirely with you systems flatbuffers or instead uninstall the systems flatbuffers and go with the depends one.

@NelsonSR
Copy link
Author

I guess the versions of the required libraries has changed from the last compilation. I'll go with the purge of the FlatBuffers library from dpkg, and then building it with CMake.

@NelsonSR
Copy link
Author

Finally, the compilation ended successfully!

Thank you so much for your support.

@fuzzard fuzzard closed this as completed Jun 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Triage: Needed (managed by bot!) issue that was just created and needs someone looking at it
Projects
None yet
Development

No branches or pull requests

3 participants