Guest - Testers are needed for the reworked CDateTime core component. See... https://forum.kodi.tv/showthread.php?tid=378981 (September 29) x
Linux Can't build from source anymore due to cmake not finding shared libraries
#1
Since the commits reagarding cmake cleanups, I can't build from source anymore:
The Libs are installed, and I also added it to the list of cmake-libraries but cmake doesnt find some libs.

How to get this building again?
@Fuzzard could you give some insights?

Error:
Error with nghttp2:
CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find NGHttp2 (missing: NGHTTP2_LIBRARY) (found version "")
Call Stack (most recent call first):
  /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindNGHttp2.cmake:31 (find_package_handle_standard_args)
  cmake/modules/FindCurl.cmake:15 (find_package)
  cmake/modules/FindCurl.cmake:87 (buildCurl)
  cmake/scripts/common/Macros.cmake:378 (find_package)
  cmake/scripts/common/Macros.cmake:390 (find_package_with_ver)
  CMakeLists.txt:270 (core_require_dep)

List of libs:
Cant find nghttp2:
cmake -LAH | grep -i http2

NGHTTP2_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libnghttp2.so
pkgcfg_lib_PC_NGHTTP2_nghttp2:FILEPATH=/usr/lib/x86_64-linux-gnu/libnghttp2.so

Error:
Error with Brotli:
CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Brotli (missing: BROTLICOMMON_LIBRARY BROTLIDEC_LIBRARY)
Call Stack (most recent call first):
  /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindBrotli.cmake:48 (find_package_handle_standard_args)
  cmake/modules/FindCurl.cmake:17 (find_package)
  cmake/modules/FindCurl.cmake:87 (buildCurl)
  cmake/scripts/common/Macros.cmake:378 (find_package)
  cmake/scripts/common/Macros.cmake:390 (find_package_with_ver)
  CMakeLists.txt:270 (core_require_dep)

List of libs:
Cant find Brotlie:
cmake -LAH | grep -i brotli

BROTLICOMMON:FILEPATH=/usr/lib/x86_64-linux-gnu/libbrotlicommon.a
BROTLICOMMON_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libbrotlicommon.a
BROTLIDEC:FILEPATH=/usr/lib/x86_64-linux-gnu/libbrotlidec.a
BROTLIDEC_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libbrotlidec.a
BROTLI_INCLUDE_DIRTongueATH=/usr/include
Kodi 22.0α | Ubuntu 22.04.4 | Kernel 6.9.x | intel i5-12600K | Gigabyte Z690 Gaming X DDR4 | Corsair 2x8192MB (DDR4-3200) | HDPlex H5v2 | HDPlex 400W HiFi DC-ATX | Pioneer VSX-934 | LG 65B7D
Reply
#2
Hi because I lost my 1st very long post (ip locked) I will do short this time.

debian-12.5.0-amd64-netinst.iso
Create a user kodi
just ssh ans system utilities
then : https://paste.kodi.tv/ececihofug

If unlocked I will create a real post (And the forum think I post a log so I cant include the method in a answer....)

jcb
Reply
#3
No idea. why would you be building internal curl?
Reply
#4
I started building internal curl when it started throwing errors, but it seems there was something wrong with my pkgcfg Confused
Kodi 22.0α | Ubuntu 22.04.4 | Kernel 6.9.x | intel i5-12600K | Gigabyte Z690 Gaming X DDR4 | Corsair 2x8192MB (DDR4-3200) | HDPlex H5v2 | HDPlex 400W HiFi DC-ATX | Pioneer VSX-934 | LG 65B7D
Reply
#5
Best piece of advice I have for Linux users, do not build internal dependencies. Use/fix your system libs.

The only reason they can be built for Linux is we use for CI, but it's not complete, and relies on a number of oddities to even do what it does.

So to reiterate, just don't. Use your system libs always
Reply
#6
Does this apply also for ffmpeg?
I build that internally as, somehow, I got a newer version installed and I got the issues like in this PR: Update to ffmpeg 7.0
Kodi 22.0α | Ubuntu 22.04.4 | Kernel 6.9.x | intel i5-12600K | Gigabyte Z690 Gaming X DDR4 | Corsair 2x8192MB (DDR4-3200) | HDPlex H5v2 | HDPlex 400W HiFi DC-ATX | Pioneer VSX-934 | LG 65B7D
Reply
#7
No idea what distro your running, but if it has ffmpeg 6 libs, I'd use them
Reply
#8
I'm using Ubuntu 22.04, version of ffmpeg is 7, that's why I couldn't build anymore, so I had to switch building it internally.

Here is the list of installed ffmpeg-libraries:
dpkg -l | grep -i ffmpeg:

ii  ffmpeg                                        7:4.4.2-0ubuntu0.22.04.1                     amd64        Tools for transcoding, streaming and playing of multimedia files
ii  libavcodec-dev:amd64                          7:4.4.2-0ubuntu0.22.04.1                     amd64        FFmpeg library with de/encoders for audio/video codecs - development files
ii  libavcodec58:amd64                            7:4.4.2-0ubuntu0.22.04.1                     amd64        FFmpeg library with de/encoders for audio/video codecs - runtime files
ii  libavdevice58:amd64                           7:4.4.2-0ubuntu0.22.04.1                     amd64        FFmpeg library for handling input and output devices - runtime files
ii  libavfilter-dev:amd64                         7:4.4.2-0ubuntu0.22.04.1                     amd64        FFmpeg library containing media filters - development files
ii  libavfilter7:amd64                            7:4.4.2-0ubuntu0.22.04.1                     amd64        FFmpeg library containing media filters - runtime files
ii  libavformat-dev:amd64                         7:4.4.2-0ubuntu0.22.04.1                     amd64        FFmpeg library with (de)muxers for multimedia containers - development files
ii  libavformat58:amd64                           7:4.4.2-0ubuntu0.22.04.1                     amd64        FFmpeg library with (de)muxers for multimedia containers - runtime files
ii  libavutil-dev:amd64                           7:4.4.2-0ubuntu0.22.04.1                     amd64        FFmpeg library with functions for simplifying programming - development files
ii  libavutil56:amd64                             7:4.4.2-0ubuntu0.22.04.1                     amd64        FFmpeg library with functions for simplifying programming - runtime files
ii  libpostproc-dev:amd64                         7:4.4.2-0ubuntu0.22.04.1                     amd64        FFmpeg library for post processing - development files
ii  libpostproc55:amd64                           7:4.4.2-0ubuntu0.22.04.1                     amd64        FFmpeg library for post processing - runtime files
ii  libswresample-dev:amd64                       7:4.4.2-0ubuntu0.22.04.1                     amd64        FFmpeg library for audio resampling, rematrixing etc. - development files
ii  libswresample3:amd64                          7:4.4.2-0ubuntu0.22.04.1                     amd64        FFmpeg library for audio resampling, rematrixing etc. - runtime files
ii  libswscale-dev:amd64                          7:4.4.2-0ubuntu0.22.04.1                     amd64        FFmpeg library for image scaling and various conversions - development files
ii  libswscale5:amd64                             7:4.4.2-0ubuntu0.22.04.1                     amd64        FFmpeg library for image scaling and various conversions - runtime files
Kodi 22.0α | Ubuntu 22.04.4 | Kernel 6.9.x | intel i5-12600K | Gigabyte Z690 Gaming X DDR4 | Corsair 2x8192MB (DDR4-3200) | HDPlex H5v2 | HDPlex 400W HiFi DC-ATX | Pioneer VSX-934 | LG 65B7D
Reply
#9
(2024-06-30, 09:15)Fuzzard Wrote: Best piece of advice I have for Linux users, do not build internal dependencies. Use/fix your system libs.

Are you sure about this?  On rolling release distros, the system ffmpeg can and often does exceed the Kodi rversion which is the past has lead to breakage in Kodi until the Kodi version catches up.  On the other hand, building with an internal ffmpeg allows that version to stay with the Kodi version.  For example, right now ffmpeg is 7.0.1 but Omega is 6.0.1.
Need help programming a Streamzap remote?
Reply
#10
Do whatever you need to. Advice is just that, take it or not, that's up to you
Reply
#11
Don't get me wrong, I'm not against taking any advice, my thread wouldn't make sense if it would be the case.
I was just curious why this happened or if I did something wrong as it was not building anymore.
Kodi 22.0α | Ubuntu 22.04.4 | Kernel 6.9.x | intel i5-12600K | Gigabyte Z690 Gaming X DDR4 | Corsair 2x8192MB (DDR4-3200) | HDPlex H5v2 | HDPlex 400W HiFi DC-ATX | Pioneer VSX-934 | LG 65B7D
Reply
#12
(2024-07-01, 13:58)3dfx Wrote: I was just curious why this happened or if I did something wrong as it was not building anymore.

It happened because your distro is shipping a version of ffmpeg that is different from what Kodi is expecting.  Until the PR to update to ffmpeg 7.0.1 is merged, as of the time I am posting this reply, xbmc/master wants version 6.0.1.  See: https://github.com/xbmc/xbmc/commit/9269...9ac11cc4e9

In part to avoid this version mismatch, some distros build with various Kodi components as their respective internal options.  Arch Linux for example does this for multiple components including ffmpeg, see: https://gitlab.archlinux.org/archlinux/p...s#L147-154
Need help programming a Streamzap remote?
Reply

Logout Mark Read Team Forum Stats Members Help
Can't build from source anymore due to cmake not finding shared libraries0