Linux Compiling error for inputstream.ffmpegdirect on Slackware aarch64
#1
In Kodi 20.3 IPTV Manager cannot be installed due to not loading the dependency pvr.simpleclient, which depends on inputstream.ffmpegdirect.
Therefore I ttried to compile inputstream.ffmpegdirect. However I get an error I can not solve. Any help is appreciated.
I have built it successfully on Raspberry Pi OS Bookworm 64 bits.

Version: inputstream.ffmpegdirect-20.3.0-Nexus

[ 92%] Performing build step for 'inputstream.ffmpegdirect'
[  6%] Building CXX object CMakeFiles/inputstream.ffmpegdirect.dir/src/utils/DiskUtils.cpp.o
In file included from /home/john/Downloads/addons/inputstream.ffmpegdirect/src/utils/DiskUtils.cpp:8:
/home/john/Downloads/addons/inputstream.ffmpegdirect/src/utils/DiskUtils.h:17:61: error: ‘uint64_t’ has not been declared
   17 |     static bool GetFreeDiskSpaceMB(const std:Confusedtring& path, uint64_t& freeMB);
      |                                                            
/home/john/Downloads/addons/inputstream.ffmpegdirect/src/utils/DiskUtils.cpp:18:6: error: no declaration matches ‘bool ffmpegdirect:Big GriniskUtils::GetFreeDiskSpaceMB(const std:Confusedtring&, uint64_t&)’
   18 | bool DiskUtils::GetFreeDiskSpaceMB(const std:Confusedtring& path, uint64_t& freeMB)
Reply
#2
It seem strange that uint64_t is not defined on your distro. As far as I know it’s part of the standard.

Are you using an old version of your distro?
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
#3
(2024-03-30, 13:26)phunkyfish Wrote: It seem strange that uint64_t is not defined on your distro. As far as I know it’s part of the standard.

Are you using an old version of your distro?

It is the Slackware-current aarch64 distribution from twee weeks ago. Today I have compiled inputstream.ffmpegdirect successfully on Slackware arm 15.0 (32 bits)  from March 2023 as a test.
Reply
#4
In that case I would probably open a bug with Slackware.
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
#5
Two other compiling errors I could solve:

First error:
/home/john/Downloads/addons/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:18:40: error: �..uint16_t�.. has not been declared
   18 |     HttpProxy(const std:Confusedtring& host, uint16_t port, const std:Confusedtring& user, const std:Confusedtring& password)
      |                                        ^~~~~~~~
/home/john/Downloads/addons/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/john/Downloads/addons/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:11:1: note: �..uint16_t�.. is defined in header �..<cstdint>�..; did you forget to �..#include <cstdint>�..?

Solved by adding "#include <cstdint>" to the header file.

Second error:
/home/john/Downloads/addons/inputstream.ffmpegdirect/src/StreamManager.h:60:16: error: �..virtual void InputStreamFFmpegDirect::SetVideoResolution(int, int)�.. marked �..override�.., but does not override
   60 |   virtual void SetVideoResolution(int width, int height) override;

Solveld by removing "override" from line in header file.

I saw a pattern and therefore I have added "#include <cstdint>" to
/home/john/Downloads/addons/inputstream.ffmpegdirect/src/utils/DiskUtils.h
and this fixed the error of my first post of this thread.

Could these adaptations be merged into the code?
Reply
#6
Sure, please open a PR on GitHub. You’ll need to open a PR for the omega branch first and one that is merged you can open a PR for the Nexus branch.
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
#7
The PR for the override error can be found in https://github.com/xbmc/inputstream.ffmp...t/pull/289.

For Kodi Omega 21.0rc2 the "override" error does not appear. So for Nexus you have to correct it by yourself.

I found the errors from missing #include<cstdint> have been included six months ago in master, but are missing in version 20.3 => use master for Nexus.
Reply

Logout Mark Read Team Forum Stats Members Help
Compiling error for inputstream.ffmpegdirect on Slackware aarch640