Building from source fails for Kodi Omega Alpha 3. This package gives:
==> ERROR: Failure while downloading https://github.com/xbmc/inputstream.ffmpegdirect/archive/21.0.2-Omega.tar.gz
Aborting...
Git Clone URL: | https://aur.archlinux.org/kodi-addon-inputstream-ffmpegdirect.git (read-only, click to copy) |
---|---|
Package Base: | kodi-addon-inputstream-ffmpegdirect |
Description: | Inputstream ffmpegdirect kodi plugin |
Upstream URL: | https://github.com/xbmc/inputstream.ffmpegdirect |
Keywords: | addon arm AUR kodi |
Licenses: | GPL |
Provides: | kodi-addon-inputstream-ffmpegdirect |
Submitter: | ivanich |
Maintainer: | ivanich |
Last Packager: | ivanich |
Votes: | 5 |
Popularity: | 0.003901 |
First Submitted: | 2021-02-21 20:51 (UTC) |
Last Updated: | 2023-01-15 18:23 (UTC) |
Building from source fails for Kodi Omega Alpha 3. This package gives:
==> ERROR: Failure while downloading https://github.com/xbmc/inputstream.ffmpegdirect/archive/21.0.2-Omega.tar.gz
Aborting...
Thank you @nmars, @csts, it worked now. Previously, it was already possible to build an addon according to the git instructions, but I did not understand how to install it in Kodi. You just need to copy)
Thank you @nmars. After your comment I also built it from source -I needed to install the nasm package, then just copied /xbmc/build/addons/inputstream.ffmpegdirect in my /.kodi/addons/ and my Kodi Omega works fine.
https://github.com/xbmc/inputstream.ffmpegdirect#linux
for anybody this day 27 june 2023 using arch linux i succesfully compiled ffmpegdirect from git repository master branch no vulkan headers normal cflags for csts also
Hello. I can't build a package for Manjaro, how can I fix this? Flag -flto doesn't help(
CMake Error at libxml2-stamp/download-libxml2.cmake:170 (message): Each download failed!
error: downloading 'http://xmlsoft.org/sources/libxml2-2.9.10.tar.gz' failed
I turned on vpn, this archive was downloaded. But errors like @csts.
Thank you @ivanich, I switched temporarily myself from "idiot mode" to "read pinned comments mode", but using -flto didn't help, I got the same error as below.
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -flto -fexceptions \
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
-fstack-clash-protection -fcf-protection"
@csts
pacman -Qi kodi-addon-inputstream-ffmpegdirect
Name : kodi-addon-inputstream-ffmpegdirect
Version : 20.5.0-1
Built with -flto.
Still can't install:
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:18:40: error: ‘uint16_t’ has not been declared
18 | HttpProxy(const std::string& host, uint16_t port, const std::string& user, const std::string& password)
| ^~~~~~~~
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:24:5: error: ‘uint16_t’ does not name a type
24 | uint16_t GetProxyPort() const { return m_port; }
| ^~~~~~~~
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:11:1: note: ‘uint16_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
10 | #include <string>
+++ |+#include <cstdint>
11 |
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:25:23: error: ‘uint16_t’ has not been declared
25 | void SetProxyPort(uint16_t value) { m_port = value; }
| ^~~~~~~~
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:35:5: error: ‘uint16_t’ does not name a type
35 | uint16_t m_port;
| ^~~~~~~~
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:35:5: note: ‘uint16_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h: In constructor ‘ffmpegdirect::HttpProxy::HttpProxy(const std::string&, int, const std::string&, const std::string&)’:
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:19:23: error: class ‘ffmpegdirect::HttpProxy’ does not have any field named ‘m_port’
19 | : m_host(host), m_port(port), m_user(user), m_password(password) {};
| ^~~~~~
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h: In member function ‘void ffmpegdirect::HttpProxy::SetProxyPort(int)’:
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:25:41: error: ‘m_port’ was not declared in this scope; did you mean ‘m_host’?
25 | void SetProxyPort(uint16_t value) { m_port = value; }
| ^~~~~~
| m_host
In file included from /home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/FFmpegStream.h:13:
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/DemuxStream.h: At global scope:
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/DemuxStream.h:36:7: warning: ‘ffmpegdirect::DemuxStream’ declared with greater visibility than the type of its field ‘ffmpegdirect::DemuxStream::cryptoSession’ [-Wattributes]
36 | class DemuxStream
| ^~~~~~~~~~~
In file included from /home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/FFmpegStream.h:14:
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/CurlInput.h:23:7: warning: ‘ffmpegdirect::CurlInput’ declared with greater visibility than the type of its field ‘ffmpegdirect::CurlInput::m_pFile’ [-Wattributes]
23 | class CurlInput
| ^~~~~~~~~
In file included from /home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/TimeshiftBuffer.h:11,
from /home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/TimeshiftStream.h:13,
from /home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/StreamManager.cpp:11:
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/TimeshiftSegment.h:27:7: warning: ‘ffmpegdirect::TimeshiftSegment’ declared with greater visibility than the type of its field ‘ffmpegdirect::TimeshiftSegment::m_fileHandle’ [-Wattributes]
27 | class TimeshiftSegment
| ^~~~~~~~~~~~~~~~
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/stream/TimeshiftBuffer.h:37:7: warning: ‘ffmpegdirect::TimeshiftBuffer’ declared with greater visibility than the type of its field ‘ffmpegdirect::TimeshiftBuffer::m_segmentIndexFileHandle’ [-Wattributes]
37 | class TimeshiftBuffer
| ^~~~~~~~~~~~~~~
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/StreamManager.cpp: In member function ‘virtual bool InputStreamFFmpegDirect::Open(const kodi::addon::InputstreamProperty&)’:
/home/k/.cache/pikaur/build/kodi-addon-inputstream-ffmpegdirect/src/inputstream.ffmpegdirect-20.5.0-Nexus/build/build/inputstream.ffmpegdirect/src/StreamManager.cpp:202:84: error: ‘class ffmpegdirect::HttpProxy’ has no member named ‘GetProxyPort’; did you mean ‘SetProxyPort’?
202 | NFO, "HttpProxy port set: %d", static_cast<int>(httpProxy.GetProxyPort()));
| ^~~~~~~~~~~~
| SetProxyPort
make[5]: *** [CMakeFiles/inputstream.ffmpegdirect.dir/build.make:76: CMakeFiles/inputstream.ffmpegdirect.dir/src/StreamManager.cpp.o] Error 1
make[4]: *** [CMakeFiles/Makefile2:110: CMakeFiles/inputstream.ffmpegdirect.dir/all] Error 2
make[3]: *** [Makefile:156: all] Error 2
make[2]: *** [CMakeFiles/inputstream.ffmpegdirect.dir/build.make:88: inputstream.ffmpegdirect-prefix/src/inputstream.ffmpegdirect-stamp/inputstream.ffmpegdirect-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:163: CMakeFiles/inputstream.ffmpegdirect.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
Just remider to all who trying to build this on Aarch64 - use -flto in your CFLAGS in the makepkg.conf.
I was able to build this on my rpi4 aarch64 with -flto.
And if you want know why it doesn't build with default set of CFLAGS ask inputstream.ffmpegdirect author.
Please consider making a new package for Kodi Nexus -kodi-nexus-git.
Pinned Comments
ivanich commented on 2023-01-16 22:18 (UTC) (edited on 2023-01-16 22:21 (UTC) by ivanich)
Just remider to all who trying to build this on Aarch64 - use -flto in your CFLAGS in the makepkg.conf.
I was able to build this on my rpi4 aarch64 with -flto.
And if you want know why it doesn't build with default set of CFLAGS ask inputstream.ffmpegdirect author.