palinek / pvr.sledovanitv.cz

Kodi's sledovanitv.cz client addon
GNU General Public License v2.0
30 stars 14 forks source link

Build error LINUX-RBPI, latest Kodi master #65

Closed ksooo closed 4 years ago

ksooo commented 4 years ago

https://jenkins.kodi.tv/job/LINUX-RBPI/17296/

palinek commented 4 years ago

Hi, thanks for reporting, but the build is facing a known problem of g++ v4.9: https://stackoverflow.com/questions/34205880/why-does-atomic-load-with-a-shared-ptr-not-compile-with-gcc-4-9

Please, use C++11 compliant compiler.

/home/jenkins/workspace/LINUX-RBPI/tools/depends/target/binary-addons/raspberry-pi2-debug/build/pvr.sledovanitv.cz/src/ApiManager.cpp: In member function 'std::string sledovanitvcz::ApiManager::call(const string&, const ApiParams_t&, bool) const':
/home/jenkins/workspace/LINUX-RBPI/tools/depends/target/binary-addons/raspberry-pi2-debug/build/pvr.sledovanitv.cz/src/ApiManager.cpp:204:52: error: no matching function for call to 'atomic_load(const std::shared_ptr&<const std::basic_string&<char&> &>*)'
     auto session_id = std::atomic_load(&amp;m_sessionId);
                                                    ^
/home/jenkins/workspace/LINUX-RBPI/tools/depends/target/binary-addons/raspberry-pi2-debug/build/pvr.sledovanitv.cz/src/ApiManager.cpp:204:52: note: candidates are:
In file included from /home/jenkins/workspace/LINUX-RBPI/tools/depends/target/binary-addons/raspberry-pi2-debug/build/pvr.sledovanitv.cz/src/ApiManager.cpp:62:0:
/home/jenkins/rbpi-dev/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/arm-linux-gnueabihf/include/c++/4.9.3/atomic:906:5: note: template&<class _ITp&> _ITp std::atomic_load(const std::atomic&<_ITp&>*)
     atomic_load(const atomic&<_ITp&>* __a) noexcept
     ^
/home/jenkins/rbpi-dev/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/arm-linux-gnueabihf/include/c++/4.9.3/atomic:906:5: note:   template argument deduction/substitution failed:
/home/jenkins/workspace/LINUX-RBPI/tools/depends/target/binary-addons/raspberry-pi2-debug/build/pvr.sledovanitv.cz/src/ApiManager.cpp:204:52: note:   'const std::shared_ptr&<const std::basic_string&<char&> &>' is not derived from 'const std::atomic&<_ITp&>'
     auto session_id = std::atomic_load(&amp;m_sessionId);
                                                    ^
In file included from /home/jenkins/workspace/LINUX-RBPI/tools/depends/target/binary-addons/raspberry-pi2-debug/build/pvr.sledovanitv.cz/src/ApiManager.cpp:62:0:
/home/jenkins/rbpi-dev/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/arm-linux-gnueabihf/include/c++/4.9.3/atomic:911:5: note: template&<class _ITp&> _ITp std::atomic_load(const volatile std::atomic&<_ITp&>*)
     atomic_load(const volatile atomic&<_ITp&>* __a) noexcept
     ^
/home/jenkins/rbpi-dev/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/arm-linux-gnueabihf/include/c++/4.9.3/atomic:911:5: note:   template argument deduction/substitution failed:
/home/jenkins/workspace/LINUX-RBPI/tools/depends/target/binary-addons/raspberry-pi2-debug/build/pvr.sledovanitv.cz/src/ApiManager.cpp:204:52: note:   'const std::shared_ptr&<const std::basic_string&<char&> &>' is not derived from 'const volatile std::atomic&<_ITp&>'
     auto session_id = std::atomic_load(&amp;m_sessionId);
                                                    ^
ksooo commented 4 years ago

@popcornmix fyi - any thoughts on this?

popcornmix commented 4 years ago

I'm not sure what can be done. The code isn't compatible with that version of the compiler. Either the code needs changing or the compiler needs changing. Unfortunately gcc 4.9 the only version of the compiler where a cross compile can actually be run on raspbian (any newer and we get seg-faults in libc). Options are to: fix code move to a newer gcc which can build kodi (but it won't be usable) remove pi builds from jenkins