-
Notifications
You must be signed in to change notification settings - Fork 34
Description
Ages ago I created an Arch Linux package of this plugin on the AUR. I didn't really think anyone was using it, I stopped keeping up with it, and it was marked outdated today. I went to fix it and found that I can't build it.
I am using the 21.3.2-Omega release b/c on Arch, Kodi is version 21 (21.2-9).
My cmake completes successfully:
/tmp/makepkg/kodi-addon-pvr-nextpvr/src/pvr.nextpvr-21.3.2-Omega/build% cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DADDONS_TO_BUILD=pvr.nextpvr -DPACKAGE_ZIP=1 ../../xbmc-21.0-Omega/cmake/addons
-- Addon source tarball caching is enabled
-- ZIP packaging enabled (destination: /tmp/makepkg/kodi-addon-pvr-nextpvr/src/pvr.nextpvr-21.3.2-Omega/build/build/zips)
-- Building following addons: pvr.nextpvr
cmake -E touch: failed to update "/usr/lib/kodi/.cmake-inst-test".
cmake -E touch: failed to update "/usr/share/kodi/.cmake-inst-test".
-- check_install_permissions /usr: failed to create files
-- NEED_SUDO: TRUE (no write permission for /usr)
--
-- ---- Preparing general dependencies ----
-- No platform specific file /tmp/makepkg/kodi-addon-pvr-nextpvr/src/xbmc-21.0-Omega/cmake/addons/depends/linux/CMakeLists.txt found
-- Exclusion list:
-- Exact Match list: pvr.nextpvr
-- Regex list:
-- Exact match pvr.nextpvr, building addon
--
-- ---- Configuring addon /tmp/makepkg/kodi-addon-pvr-nextpvr/src/xbmc-21.0-Omega/cmake/addons/addons/pvr.nextpvr/pvr.nextpvr.txt ----
-- pvr.nextpvr: git branch/tag Omega resolved to hash: fd66eb66091059c52de0954da09040375e0b98cc
x pvr.nextpvr-fd66eb66091059c52de0954da09040375e0b98cc/
x pvr.nextpvr-fd66eb66091059c52de0954da09040375e0b98cc/.github/
...
x pvr.nextpvr-fd66eb66091059c52de0954da09040375e0b98cc/src/utilities/GenreMapper.h
x pvr.nextpvr-fd66eb66091059c52de0954da09040375e0b98cc/src/utilities/SettingsMigration.cpp
x pvr.nextpvr-fd66eb66091059c52de0954da09040375e0b98cc/src/utilities/SettingsMigration.h
x pvr.nextpvr-fd66eb66091059c52de0954da09040375e0b98cc/src/utilities/XMLUtils.h
-- Processing /tmp/makepkg/kodi-addon-pvr-nextpvr/src/pvr.nextpvr-21.3.2-Omega/build/build/pvr.nextpvr/depends/common/tinyxml2/tinyxml2.txt
-- tinyxml2 url: https://github.com/leethomason/tinyxml2/archive/7.1.0.tar.gz
-- pvr.nextpvr DEPENDENCIES: tinyxml2
--
CMake Warning at CMakeLists.txt:505 (message):
sudo rights needed to install to /usr
--
please type "make sudo-install"
-- Configuring done (0.4s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/makepkg/kodi-addon-pvr-nextpvr/src/pvr.nextpvr-21.3.2-Omega/build
However when I go to make I get an error that Compatibility with CMake < 3.5 has been removed from CMake.:
/tmp/makepkg/kodi-addon-pvr-nextpvr/src/pvr.nextpvr-21.3.2-Omega/build% make
[ 5%] Creating directories for 'tinyxml2'
[ 11%] Performing download step (download, verify and extract) for 'tinyxml2'
-- Downloading...
dst='/tmp/makepkg/kodi-addon-pvr-nextpvr/src/pvr.nextpvr-21.3.2-Omega/build/build/download/7.1.0.tar.gz'
timeout='none'
inactivity timeout='none'
-- Using src='https://github.com/leethomason/tinyxml2/archive/7.1.0.tar.gz'
-- verifying file...
file='/tmp/makepkg/kodi-addon-pvr-nextpvr/src/pvr.nextpvr-21.3.2-Omega/build/build/download/7.1.0.tar.gz'
-- Downloading... done
-- extracting...
src='/tmp/makepkg/kodi-addon-pvr-nextpvr/src/pvr.nextpvr-21.3.2-Omega/build/build/download/7.1.0.tar.gz'
dst='/tmp/makepkg/kodi-addon-pvr-nextpvr/src/pvr.nextpvr-21.3.2-Omega/build/build/tinyxml2/src/tinyxml2'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 17%] No update step for 'tinyxml2'
[ 23%] Performing patch step for 'tinyxml2'
[ 29%] Performing configure step for 'tinyxml2'
CMake Warning:
Ignoring extra path from command line:
"/usr"
CMake Warning:
Ignoring extra path from command line:
"/usr"
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 has been removed from CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
-- Configuring incomplete, errors occurred!
make[2]: *** [CMakeFiles/tinyxml2.dir/build.make:92: build/tinyxml2/src/tinyxml2-stamp/tinyxml2-configure] Error 1
make[1]: *** [CMakeFiles/Makefile2:181: CMakeFiles/tinyxml2.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
I think this is because the Omega branch is still using tinyxml7.1, which has a very old cmake_minimum_required(VERSION 2.6 FATAL_ERROR) in its CMakeLists.txt .
/tmp/makepkg/kodi-addon-pvr-nextpvr/src/pvr.nextpvr-21.3.2-Omega% grep cmake_minimum_required ./build/build/tinyxml2/src/tinyxml2/CMakeLists.txt
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
In the Piers branch you've updated to using tinyxml2-9.0.0 -- can the Omega branch be similarly updated?
I tried to test this to see if it would work, but I'm missing something with cmake -- Even though I modify the files in depends/common/tinyxml2 to use the 9.0.0 archive, when I run cmake it looks for git and uses the latest Omega branch, ignoring my local changes:
/tmp/makepkg/kodi-addon-pvr-nextpvr/src/pvr.nextpvr-21.3.2-Omega/build% ls ../depends/common/tinyxml2
flags.txt tinyxml2.sha256 tinyxml2.txt
/tmp/makepkg/kodi-addon-pvr-nextpvr/src/pvr.nextpvr-21.3.2-Omega/build% md5sum ../depends/common/tinyxml2/*
f42952a707f1fe5eeddead956f0f1497 ../depends/common/tinyxml2/flags.txt
2a2279adec71b1659a9b47f773a5f37a ../depends/common/tinyxml2/tinyxml2.sha256
1ddccc1cb11872a7570678ee09111680 ../depends/common/tinyxml2/tinyxml2.txt
/tmp/makepkg/kodi-addon-pvr-nextpvr/src/pvr.nextpvr-21.3.2-Omega/build% cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DADDONS_TO_BUILD=pvr.nextpvr -DPACKAGE_ZIP=1 ../../xbmc-21.0-Omega/cmake/addons
-- The C compiler identification is GNU 14.2.1
-- The CXX compiler identification is GNU 14.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
...
-- Exact match pvr.nextpvr, building addon
--
-- ---- Configuring addon /tmp/makepkg/kodi-addon-pvr-nextpvr/src/xbmc-21.0-Omega/cmake/addons/addons/pvr.nextpvr/pvr.nextpvr.txt ----
-- Found Git: /usr/bin/git (found version "2.49.0")
-- pvr.nextpvr: git branch/tag Omega resolved to hash: fd66eb66091059c52de0954da09040375e0b98cc
x pvr.nextpvr-fd66eb66091059c52de0954da09040375e0b98cc/
x pvr.nextpvr-fd66eb66091059c52de0954da09040375e0b98cc/.github/
...
x pvr.nextpvr-fd66eb66091059c52de0954da09040375e0b98cc/src/utilities/SettingsMigration.h
x pvr.nextpvr-fd66eb66091059c52de0954da09040375e0b98cc/src/utilities/XMLUtils.h
-- Processing /tmp/makepkg/kodi-addon-pvr-nextpvr/src/pvr.nextpvr-21.3.2-Omega/build/build/pvr.nextpvr/depends/common/tinyxml2/tinyxml2.txt
-- tinyxml2 url: https://github.com/leethomason/tinyxml2/archive/7.1.0.tar.gz
-- pvr.nextpvr DEPENDENCIES: tinyxml2
...