AlwinEsch / pvr.rtl.radiofm

FM Radio receiver based upon RTL-SDR as pvr addon for KODI
GNU General Public License v2.0
38 stars 15 forks source link

Compile Error #3

Open KarlRanseyer opened 6 years ago

KarlRanseyer commented 6 years ago

build p8, build kodiplatform try to build pvr : /.kodi/addons/pvr.rtl.radiofm/build $ sudo make install [ 2%] Building C object lib/rtl-sdr/src/CMakeFiles/rtlsdr_static.dir/librtlsdr.c.o [ 5%] Building C object lib/rtl-sdr/src/CMakeFiles/rtlsdr_static.dir/tuner_e4k.c.o [ 7%] Building C object lib/rtl-sdr/src/CMakeFiles/rtlsdr_static.dir/tuner_fc0012.c.o [ 10%] Building C object lib/rtl-sdr/src/CMakeFiles/rtlsdr_static.dir/tuner_fc0013.c.o [ 12%] Building C object lib/rtl-sdr/src/CMakeFiles/rtlsdr_static.dir/tuner_fc2580.c.o [ 15%] Building C object lib/rtl-sdr/src/CMakeFiles/rtlsdr_static.dir/tuner_r82xx.c.o [ 17%] Linking C static library librtlsdr.a [ 17%] Built target rtlsdr_static [ 20%] Building CXX object CMakeFiles/pvr.rtl.radiofm.dir/src/client.cpp.o In file included from /home/pi/.kodi/addons/pvr.rtl.radiofm/src/RadioReceiver.h:30:0, from /home/pi/.kodi/addons/pvr.rtl.radiofm/src/client.cpp:27: /home/pi/.kodi/addons/pvr.rtl.radiofm/src/kodi_codec_descriptor.hpp: In static member function ‘static CodecDescriptor CodecDescriptor::GetCodecByName(const char)’: /home/pi/.kodi/addons/pvr.rtl.radiofm/src/kodi_codec_descriptor.hpp:53:37: error: ‘class CHelper_libXBMC_pvr’ has no member named ‘GetCodecByName’ retVal = CodecDescriptor(PVR->GetCodecByName("MP2"), strCodecName); ^~~~~~ /home/pi/.kodi/addons/pvr.rtl.radiofm/src/kodi_codec_descriptor.hpp:55:37: error: ‘class CHelper_libXBMC_pvr’ has no member named ‘GetCodecByName’ retVal = CodecDescriptor(PVR->GetCodecByName("MPEG2VIDEO"), strCodecName); ^~~~~~ /home/pi/.kodi/addons/pvr.rtl.radiofm/src/kodi_codec_descriptor.hpp:57:37: error: ‘class CHelper_libXBMC_pvr’ has no member named ‘GetCodecByName’ retVal = CodecDescriptor(PVR->GetCodecByName("TEXT"), strCodecName); ^~~~~~ /home/pi/.kodi/addons/pvr.rtl.radiofm/src/kodi_codec_descriptor.hpp:59:37: error: ‘class CHelper_libXBMC_pvr’ has no member named ‘GetCodecByName’ retVal = CodecDescriptor(PVR->GetCodecByName(strCodecName), strCodecName); ^~~~~~ /home/pi/.kodi/addons/pvr.rtl.radiofm/src/client.cpp: In function ‘ADDON_STATUS ADDON_SetSetting(const char, const void)’: /home/pi/.kodi/addons/pvr.rtl.radiofm/src/client.cpp:298:10: error: ‘ADDON_STATUS_NOT_IMPLEMENTED’ was not declared in this scope return ADDON_STATUS_NOT_IMPLEMENTED; ^~~~~~~~ /home/pi/.kodi/addons/pvr.rtl.radiofm/src/client.cpp: At global scope: /home/pi/.kodi/addons/pvr.rtl.radiofm/src/client.cpp:306:53: error: ‘PVR_NAMED_VALUE’ has not been declared PVR_ERROR GetEPGTagStreamProperties(const EPG_TAG, PVR_NAMED_VALUE, unsigned int) { return PVR_ERROR_NOT_IMPLEMENTED; } ^~~~~~~ /home/pi/.kodi/addons/pvr.rtl.radiofm/src/client.cpp:358:26: error: ‘PVR_STREAM_TIMES’ was not declared in this scope PVR_ERROR GetStreamTimes(PVR_STREAM_TIMES) { return PVR_ERROR_NOT_IMPLEMENTED; } ^~~~ /home/pi/.kodi/addons/pvr.rtl.radiofm/src/client.cpp:358:43: error: expected primary-expression before ‘)’ token PVR_ERROR GetStreamTimes(PVR_STREAM_TIMES) { return PVR_ERROR_NOT_IMPLEMENTED; } ^ /home/pi/.kodi/addons/pvr.rtl.radiofm/src/client.cpp:359:29: error: ‘PVR_DESCRAMBLE_INFO’ was not declared in this scope PVR_ERROR GetDescrambleInfo(PVR_DESCRAMBLE_INFO) { return PVR_ERROR_NOT_IMPLEMENTED; } ^~~~~~~ /home/pi/.kodi/addons/pvr.rtl.radiofm/src/client.cpp:359:49: error: expected primary-expression before ‘)’ token PVR_ERROR GetDescrambleInfo(PVR_DESCRAMBLE_INFO) { return PVR_ERROR_NOT_IMPLEMENTED; } ^ /home/pi/.kodi/addons/pvr.rtl.radiofm/src/client.cpp:360:58: error: ‘PVR_NAMED_VALUE’ has not been declared PVR_ERROR GetChannelStreamProperties(const PVR_CHANNEL, PVR_NAMED_VALUE, unsigned int) { return PVR_ERROR_NOT_IMPLEMENTED; } ^~~~~~~ /home/pi/.kodi/addons/pvr.rtl.radiofm/src/client.cpp:361:62: error: ‘PVR_NAMED_VALUE’ has not been declared PVR_ERROR GetRecordingStreamProperties(const PVR_RECORDING, PVR_NAMED_VALUE, unsigned int) { return PVR_ERROR_NOT_IMPLEMENTED; } ^~~~~~~ CMakeFiles/pvr.rtl.radiofm.dir/build.make:62: recipe for target 'CMakeFiles/pvr.rtl.radiofm.dir/src/client.cpp.o' failed make[2]: [CMakeFiles/pvr.rtl.radiofm.dir/src/client.cpp.o] Error 1 CMakeFiles/Makefile2:99: recipe for target 'CMakeFiles/pvr.rtl.radiofm.dir/all' failed make[1]: [CMakeFiles/pvr.rtl.radiofm.dir/all] Error 2 Makefile:149: recipe for target 'all' failed make: *** [all] Error 2

fawgcutter commented 6 years ago

I have the same problem trying to compile with Kodi 17.6 running on Ubuntu 16.06 with 4.13.0.37 kernel

KarlRanseyer commented 6 years ago

Compiled the wrong branch. My fault. Works now. somewhat. Have to reload the Addon every restart caus Kodi keeps telling me it is not compatible. Any ideas?

fawgcutter commented 6 years ago

Found out that I hadn't loaded of couple of Kodi device libraries. Sorry about that. But I'm getting a couple of different errors on compiling RadioReceiver.cpp: /home/kent/Downloads/pvr.rtl.radiofm-Krypton/src/RadioReceiver.cpp: In member function ‘bool cRadioReceiver::LoadChannelData(bool)’: /home/kent/Downloads/pvr.rtl.radiofm-Krypton/src/RadioReceiver.cpp:707:60: error: invalid initialization of non-const reference of type ‘CStdString& {aka CStdStr&}’ from an rvalue of type ‘CStdString {aka CStdStr}’ if (!XMLUtils::GetString(pChannelNode, "name", strTmp)) ^ In file included from /usr/include/kodi/util/XMLUtils.h:24:0, from /home/kent/Downloads/pvr.rtl.radiofm-Krypton/src/client.h:29, from /home/kent/Downloads/pvr.rtl.radiofm-Krypton/src/RadioReceiver.h:24, from /home/kent/Downloads/pvr.rtl.radiofm-Krypton/src/RadioReceiver.cpp:25: /usr/include/p8-platform/util/StdString.h:2078:3: note: after user-defined conversion: CStdStr::CStdStr(const string&) [with CT = char; std::cxx11::string = std::cxx11::basic_string] CStdStr(const std::string& str) ^ In file included from /home/kent/Downloads/pvr.rtl.radiofm-Krypton/src/client.h:29:0, from /home/kent/Downloads/pvr.rtl.radiofm-Krypton/src/RadioReceiver.h:24, from /home/kent/Downloads/pvr.rtl.radiofm-Krypton/src/RadioReceiver.cpp:25: /usr/include/kodi/util/XMLUtils.h:40:15: note: initializing argument 3 of ‘static bool XMLUtils::GetString(const TiXmlNode, const char, CStdString&)’ static bool GetString(const TiXmlNode pRootNode, const char strTag, CStdStr ^ /home/kent/Downloads/pvr.rtl.radiofm-Krypton/src/RadioReceiver.cpp:713:60: error: invalid initialization of non-const reference of type ‘CStdString& {aka CStdStr&}’ from an rvalue of type ‘CStdString {aka CStdStr}’ if (!XMLUtils::GetString(pChannelNode, "icon", strTmp)) ^ In file included from /usr/include/kodi/util/XMLUtils.h:24:0, from /home/kent/Downloads/pvr.rtl.radiofm-Krypton/src/client.h:29, from /home/kent/Downloads/pvr.rtl.radiofm-Krypton/src/RadioReceiver.h:24, from /home/kent/Downloads/pvr.rtl.radiofm-Krypton/src/RadioReceiver.cpp:25: /usr/include/p8-platform/util/StdString.h:2078:3: note: after user-defined conversion: CStdStr::CStdStr(const string&) [with CT = char; std::cxx11::string = std::cxx11::basic_string] CStdStr(const std::string& str) ^ In file included from /home/kent/Downloads/pvr.rtl.radiofm-Krypton/src/client.h:29:0, from /home/kent/Downloads/pvr.rtl.radiofm-Krypton/src/RadioReceiver.h:24, from /home/kent/Downloads/pvr.rtl.radiofm-Krypton/src/RadioReceiver.cpp:25: /usr/include/kodi/util/XMLUtils.h:40:15: note: initializing argument 3 of ‘static bool XMLUtils::GetString(const TiXmlNode, const char, CStdString&)’ static bool GetString(const TiXmlNode pRootNode, const char strTag, CStdStr ^ CMakeFiles/pvr.rtl.radiofm.dir/build.make:86: recipe for target 'CMakeFiles/pvr.rtl.radiofm.dir/src/RadioReceiver.cpp.o' failed make[2]: [CMakeFiles/pvr.rtl.radiofm.dir/src/RadioReceiver.cpp.o] Error 1 CMakeFiles/Makefile2:99: recipe for target 'CMakeFiles/pvr.rtl.radiofm.dir/all' failed make[1]: [CMakeFiles/pvr.rtl.radiofm.dir/all] Error 2 Makefile:149: recipe for target 'all' failed make: *** [all] Error 2

What else am I missing?

multiflexi commented 6 years ago

I have a similar issue on Ubuntu 18.04 and Kodi 17.6 with the Krypton branch of this pvr addon:

Scanning dependencies of target rtlsdr_static
[  2%] Building C object lib/rtl-sdr/src/CMakeFiles/rtlsdr_static.dir/librtlsdr.c.o
/home/jaroslav/pvr.rtl.radiofm/lib/rtl-sdr/src/librtlsdr.c: In function ‘rtlsdr_open’:
/home/jaroslav/pvr.rtl.radiofm/lib/rtl-sdr/src/librtlsdr.c:1533:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
   dev->tun_xtal = R828D_XTAL_FREQ;
/home/jaroslav/pvr.rtl.radiofm/lib/rtl-sdr/src/librtlsdr.c:1534:2: note: here
  case RTLSDR_TUNER_R820T:
  ^~~~
[  5%] Building C object lib/rtl-sdr/src/CMakeFiles/rtlsdr_static.dir/tuner_e4k.c.o
[  7%] Building C object lib/rtl-sdr/src/CMakeFiles/rtlsdr_static.dir/tuner_fc0012.c.o
[ 10%] Building C object lib/rtl-sdr/src/CMakeFiles/rtlsdr_static.dir/tuner_fc0013.c.o
[ 12%] Building C object lib/rtl-sdr/src/CMakeFiles/rtlsdr_static.dir/tuner_fc2580.c.o
[ 15%] Building C object lib/rtl-sdr/src/CMakeFiles/rtlsdr_static.dir/tuner_r82xx.c.o
[ 17%] Linking C static library librtlsdr.a
[ 17%] Built target rtlsdr_static
Scanning dependencies of target pvr.rtl.radiofm
[ 20%] Building CXX object CMakeFiles/pvr.rtl.radiofm.dir/src/client.cpp.o
[ 22%] Building CXX object CMakeFiles/pvr.rtl.radiofm.dir/src/RadioReceiver.cpp.o
/home/jaroslav/pvr.rtl.radiofm/src/RadioReceiver.cpp: In member function ‘bool cRadioReceiver::LoadChannelData(bool)’:
/home/jaroslav/pvr.rtl.radiofm/src/RadioReceiver.cpp:707:60: error: cannot bind non-const lvalue reference of type ‘CStdString& {aka CStdStr<char>&}’ to an rvalue of type ‘CStdString {aka CStdStr<char>}’
       if (!XMLUtils::GetString(pChannelNode, "name", strTmp))
                                                            ^
In file included from /usr/include/kodi/util/XMLUtils.h:24:0,
                 from /home/jaroslav/pvr.rtl.radiofm/src/client.h:29,
                 from /home/jaroslav/pvr.rtl.radiofm/src/RadioReceiver.h:24,
                 from /home/jaroslav/pvr.rtl.radiofm/src/RadioReceiver.cpp:25:
/usr/include/p8-platform/util/StdString.h:2078:3: note:   after user-defined conversion: CStdStr<CT>::CStdStr(const string&) [with CT = char; std::__cxx11::string = std::__cxx11::basic_string<char>]
   CStdStr(const std::string& str)
   ^~~~~~~
In file included from /home/jaroslav/pvr.rtl.radiofm/src/client.h:29:0,
                 from /home/jaroslav/pvr.rtl.radiofm/src/RadioReceiver.h:24,
                 from /home/jaroslav/pvr.rtl.radiofm/src/RadioReceiver.cpp:25:
/usr/include/kodi/util/XMLUtils.h:40:15: note:   initializing argument 3 of ‘static bool XMLUtils::GetString(const TiXmlNode*, const char*, CStdString&)’
   static bool GetString(const TiXmlNode* pRootNode, const char* strTag, CStdString& strStringValue);
               ^~~~~~~~~
/home/jaroslav/pvr.rtl.radiofm/src/RadioReceiver.cpp:713:60: error: cannot bind non-const lvalue reference of type ‘CStdString& {aka CStdStr<char>&}’ to an rvalue of type ‘CStdString {aka CStdStr<char>}’
       if (!XMLUtils::GetString(pChannelNode, "icon", strTmp))
                                                            ^
In file included from /usr/include/kodi/util/XMLUtils.h:24:0,
                 from /home/jaroslav/pvr.rtl.radiofm/src/client.h:29,
                 from /home/jaroslav/pvr.rtl.radiofm/src/RadioReceiver.h:24,
                 from /home/jaroslav/pvr.rtl.radiofm/src/RadioReceiver.cpp:25:
/usr/include/p8-platform/util/StdString.h:2078:3: note:   after user-defined conversion: CStdStr<CT>::CStdStr(const string&) [with CT = char; std::__cxx11::string = std::__cxx11::basic_string<char>]
   CStdStr(const std::string& str)
   ^~~~~~~
In file included from /home/jaroslav/pvr.rtl.radiofm/src/client.h:29:0,
                 from /home/jaroslav/pvr.rtl.radiofm/src/RadioReceiver.h:24,
                 from /home/jaroslav/pvr.rtl.radiofm/src/RadioReceiver.cpp:25:
/usr/include/kodi/util/XMLUtils.h:40:15: note:   initializing argument 3 of ‘static bool XMLUtils::GetString(const TiXmlNode*, const char*, CStdString&)’
   static bool GetString(const TiXmlNode* pRootNode, const char* strTag, CStdString& strStringValue);
               ^~~~~~~~~
CMakeFiles/pvr.rtl.radiofm.dir/build.make:86: recipe for target 'CMakeFiles/pvr.rtl.radiofm.dir/src/RadioReceiver.cpp.o' failed
make[2]: *** [CMakeFiles/pvr.rtl.radiofm.dir/src/RadioReceiver.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/pvr.rtl.radiofm.dir/all' failed
make[1]: *** [CMakeFiles/pvr.rtl.radiofm.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2