2021-02-25, 19:48
I'm attempting to test some modifications I made to a binary add-on but to do that, I need to build Kodi so that I can build and install the kodi-framework (which appears to have Kodi as a dependency). Since I was planning to test the add-on on Android, I first set everything up for cross-compiling for aarch64 with the Android NDK (using the official guide) and had no trouble building the dependencies.
However, since it seems like I need to build it for my host system as well in order to successfully build the add-on, ran ./configure again to change back to x86-64 Linux (Ubuntu 20.04). Most of the dependencies seem to build fine but it seems to error out when building mesa complaining that it it can't find the build.ninja file.
EDIT: Running make distclean in ~/kodi/tools/depends/target/mesa and then rerunning make throws the following error:
EDIT 4: I'm still getting the same error about the XFILE namespace seen below. My understanding was that that would be solved by building and installing kodi-platform and p8-platform libs (which in turn required me to build kodi).
Any suggestions?
However, since it seems like I need to build it for my host system as well in order to successfully build the add-on, ran ./configure again to change back to x86-64 Linux (Ubuntu 20.04). Most of the dependencies seem to build fine but it seems to error out when building mesa complaining that it it can't find the build.ninja file.
Quote:make -C mesaI assumed that it might be caused by an earlier build failure/error futher up that was supposed to generate the file (the build.ninja files for other dependecies were seemingly generated by meson), but I don't see any. I've executed make a bunch of times until doesn't build anything else before erroring out with the message above. The Makefile lines don't really provide any obvious clues either. I've made sure that I have all the *-mesa-dev packages listed here.
make[2]: Entering directory '/home/blunden/kodi/tools/depends/target/mesa'
cd x86_64-linux-gnu-debug/build; /home/blunden/xbmc-depends/x86_64-linux-gnu-native/bin/ninja -v
ninja: error: loading 'build.ninja': No such file or directory
make[2]: *** [Makefile:83: x86_64-linux-gnu-debug/build/src/egl/libEGL.so] Error 1
make[2]: Leaving directory '/home/blunden/kodi/tools/depends/target/mesa'
make[1]: *** [Makefile:134: mesa] Error 2
EDIT: Running make distclean in ~/kodi/tools/depends/target/mesa and then rerunning make throws the following error:
Quote:Program python3 found: YES (/home/blunden/xbmc-depends/x86_64-linux-gnu-native/bin/python3)Installing the python3-mako module from Ubuntu's repo doesn't seem to make a difference though. I suppose the python3 binary built by as part of the dependencies might look for modules elsewhere. EDIT 2: Yes, installing the mako package only makes it available to system's default python3. Trying to import the mako module after running the compiled python3 binary above causes it to complain about the missing module while the system one works. EDIT 3: Removing the python3-mako package and installing mako using pip3 instead worked. I then had to install a bunch of other dependencies (running make distclean inside targets/mesa between each one for it to re-run the configure step).
meson.build:799:2: ERROR: Problem encountered: Python (3.x) mako module >= 0.8.0 required to build mesa
EDIT 4: I'm still getting the same error about the XFILE namespace seen below. My understanding was that that would be solved by building and installing kodi-platform and p8-platform libs (which in turn required me to build kodi).
Quote:error: ‘XFILE’ is not a namespace-name
Any suggestions?