Linux How to build new PVR addons
#76
Hi @wsnipex:

My bad,... you're correct. The extra flags you helped me with will be needed for my custom case.

Will these manual compile steps go away (i.e. be integrated into the compilation) ...

Code:
make -C ./tools/depends/target/libdcadec PREFIX=${PREFIX}
make -C ./tools/depends/target/crossguid PREFIX=${PREFIX}

Thanks again! Smile
Reply
#77
those are only needed once or if something changes in those libs
Reply
#78
Hi!

I had trouble building kodi-platform today.

I found out that CMakeLists.txt has to be adapted because of this change:

rename to p8-platform

the line
Code:
find_package(platform REQUIRED)
has to be changed to:
Code:
find_package(p8-platform REQUIRED)

in order to successfully build kodi-platform


I wanted to create an issue on kodi-platform github but it is not possible (I assume only members of the group can do this)



regards,
Mike
Reply
#79
ok just found out that also the file src/util/XMLUtils.h has to be adapted ...:

line
Code:
#include <platform/util/StdString.h>
has to be changed to:
Code:
#include <p8-platform/util/StdString.h>

first change is needed for cmake, second change for building with make


regards
Reply
#80
you will notice that kodi uses a *specific* version of platform (for this very reason), https://github.com/xbmc/xbmc/blob/master...atform.txt

that change broke many addons, not all but more than 0.

issue trackers on github are not used due to the spam level (everybody in the team get an email on every change).
Reply
#81
ah ok, now I see after you pointed that out Wink

after building kodi-platform I noticed that building pvr.vdr.vnsi addon was also not possible without patching at many places ... maybe its easier if I just use the specific version

thanks
Reply
#82
that was my point Smile
Reply
#83
Hi there - i am still struggeling with this. I have:
- Kodi 15.2 cloned from git, built and installed (make && make install)
- cloned p8-platform, bult and installed (as explained in this thread)
- cloned kodi-platform, built and installed
- cloned current master for pvr.vdr.vnsi , executed cmake - which works fine and then make gives :

Code:
root@kodi0:/nas/kodi/Isengard/pvr.vdr.vnsi# make
[  9%] Building CXX object CMakeFiles/pvr.vdr.vnsi.dir/src/client.cpp.o
In file included from /nas/kodi/Isengard/pvr.vdr.vnsi/src/VNSIDemux.h:23:0,
                 from /nas/kodi/Isengard/pvr.vdr.vnsi/src/client.cpp:24:
/nas/kodi/Isengard/pvr.vdr.vnsi/src/VNSISession.h:72:13: error: ‘CMutex’ in namespace ‘PLATFORM’ does not name a type
   PLATFORM::CMutex m_mutex;
             ^
/nas/kodi/Isengard/pvr.vdr.vnsi/src/VNSISession.h:82:13: error: ‘CMutex’ in namespace ‘PLATFORM’ does not name a type
   PLATFORM::CMutex          m_readMutex;
             ^
In file included from /nas/kodi/Isengard/pvr.vdr.vnsi/src/client.cpp:26:0:
/nas/kodi/Isengard/pvr.vdr.vnsi/src/VNSIData.h:33:1: error: expected class-name before ‘{’ token
{
^
/nas/kodi/Isengard/pvr.vdr.vnsi/src/VNSIData.h:88:15: error: ‘CEvent’ in namespace ‘PLATFORM’ does not name a type
     PLATFORM::CEvent *event;
               ^
/nas/kodi/Isengard/pvr.vdr.vnsi/src/VNSIData.h:95:13: error: ‘CMutex’ in namespace ‘PLATFORM’ does not name a type
   PLATFORM::CMutex m_mutex;
             ^
In file included from /nas/kodi/Isengard/pvr.vdr.vnsi/src/client.cpp:28:0:
/nas/kodi/Isengard/pvr.vdr.vnsi/src/VNSIAdmin.h:92:13: error: ‘CMutex’ in namespace ‘PLATFORM’ does not name a type
   PLATFORM::CMutex m_osdMutex;
             ^
/nas/kodi/Isengard/pvr.vdr.vnsi/src/client.cpp:68:11: error: ‘CMutex’ in namespace ‘PLATFORM’ does not name a type
PLATFORM::CMutex TimeshiftMutex;
           ^
/nas/kodi/Isengard/pvr.vdr.vnsi/src/client.cpp: In function ‘DemuxPacket* DemuxRead()’:
/nas/kodi/Isengard/pvr.vdr.vnsi/src/client.cpp:679:3: error: ‘TimeshiftMutex’ was not declared in this scope
   TimeshiftMutex.Lock();
   ^
/nas/kodi/Isengard/pvr.vdr.vnsi/src/client.cpp: In function ‘time_t GetPlayingTime()’:
/nas/kodi/Isengard/pvr.vdr.vnsi/src/client.cpp:742:2: error: ‘TimeshiftMutex’ was not declared in this scope
  TimeshiftMutex.Lock();
  ^
/nas/kodi/Isengard/pvr.vdr.vnsi/src/client.cpp: In function ‘time_t GetBufferTimeStart()’:
/nas/kodi/Isengard/pvr.vdr.vnsi/src/client.cpp:754:2: error: ‘TimeshiftMutex’ was not declared in this scope
  TimeshiftMutex.Lock();
  ^
/nas/kodi/Isengard/pvr.vdr.vnsi/src/client.cpp: In function ‘time_t GetBufferTimeEnd()’:
/nas/kodi/Isengard/pvr.vdr.vnsi/src/client.cpp:766:2: error: ‘TimeshiftMutex’ was not declared in this scope
  TimeshiftMutex.Lock();
  ^
/nas/kodi/Isengard/pvr.vdr.vnsi/src/client.cpp: In function ‘bool IsTimeshifting()’:
/nas/kodi/Isengard/pvr.vdr.vnsi/src/client.cpp:778:2: error: ‘TimeshiftMutex’ was not declared in this scope
  TimeshiftMutex.Lock();
  ^
CMakeFiles/pvr.vdr.vnsi.dir/build.make:54: recipe for target 'CMakeFiles/pvr.vdr.vnsi.dir/src/client.cpp.o' failed
make[2]: *** [CMakeFiles/pvr.vdr.vnsi.dir/src/client.cpp.o] Error 1
CMakeFiles/Makefile2:91: recipe for target 'CMakeFiles/pvr.vdr.vnsi.dir/all' failed
make[1]: *** [CMakeFiles/pvr.vdr.vnsi.dir/all] Error 2
Makefile:137: recipe for target 'all' failed
make: *** [all] Error 2

the weird thing is - the addon builds fine on a second machine which i upgraded a couple of months ago
...
kodi3: LE 7.93.5 on Pi3
kodi4: LE 7.93.5 on Wetek Play 2
Server vdr 2.2.0, vnsi,...
Reply
#84
you can't use vnsi master with kodi 15. Use the isengard branch
Reply
#85
In case anybody is building Kodi 16 final from source on Fedora 23 Server, this is what I had to do (thanks to the comments above):

(installs to /usr; I had previously built 15.2 and found no extra missing dependencies other than the one library below)

sudo dnf install libuuid-devel

sudo make -C tools/depends/target/libdcadec PREFIX=/usr
sudo make -C tools/depends/target/crossguid PREFIX=/usr

PKG_CONFIG_PATH=/usr/lib/pkgconfig CFLAGS="$CFLAGS -I/usr/include" CXXFLAGS="$CFLAGS -I/usr/include" LDFLAGS="-L/usr/lib -lcrossguid -luuid" ./configure --prefix=/usr --disable-libcec

Early testing on Baytrail is showing no issues
Reply

Logout Mark Read Team Forum Stats Members Help
How to build new PVR addons2