Develop PVR addons with new cmake build system
Hi, please for hint.

I want build own PVR addon for Shield TV (Android aarch64, Krypton) but without without success.

./configure --with-tarballs=/$HOME/xbmc-tarballs --host=aarch64-linux-android --with-sdk-path=/$HOME/android-sdk-linux --with-ndk=/$HOME/android-ndk-r14b --with-toolchain=/home/media/aarch64-linux-android-4.9/android-21 --prefix=/$HOME/xbmc-depends

cmake -DADDONS_TO_BUILD=pvr.sledovanitv -DADDON_SRC_PREFIX=../.. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../../xbmc/addons -DCMAKE_TOOLCHAIN_FILE=/home/media/xbmc-depends/aarch64-linux-android-android-21/share/Toolchain_binaddons.cmake -DPACKAGE_ZIP=1 ../../xbmc/project/cmake/addons

make
Code:
Scanning dependencies of target jsoncpp
[  2%] Creating directories for 'jsoncpp'
[  4%] Performing download step (download, verify and extract) for 'jsoncpp'
-- downloading...
     src='http://mirrors.kodi.tv/build-deps/sources/jsoncpp-src-0.5.0.tar.gz'
     dst='/home/media/pvr.sledovanitv/build/build/download/jsoncpp-src-0.5.0.tar.gz'
     timeout='none'
-- [download 0% complete]
-- [download 15% complete]
-- [download 30% complete]
-- [download 46% complete]
-- [download 61% complete]
-- [download 76% complete]
-- [download 91% complete]
-- [download 100% complete]
-- downloading... done
-- verifying file...
     file='/home/media/pvr.sledovanitv/build/build/download/jsoncpp-src-0.5.0.tar.gz'
-- verifying file... warning: did not verify file - no URL_HASH specified?
-- extracting...
     src='/home/media/pvr.sledovanitv/build/build/download/jsoncpp-src-0.5.0.tar.gz'
     dst='/home/media/pvr.sledovanitv/build/build/jsoncpp/src/jsoncpp'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[  7%] Performing patch step for 'jsoncpp'
[  9%] No update step for 'jsoncpp'
[ 12%] Performing configure step for 'jsoncpp'
CMake Warning (dev) at /home/media/xbmc-depends/aarch64-linux-android-android-21/share/Toolchain_binaddons.cmake:5 (set):
  Policy CMP0053 is not set: Simplify variable reference and escape sequence
  evaluation.  Run "cmake --help-policy CMP0053" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For input:

    '@CMAKE_FIND_ROOT_PATH@'

  the old evaluation rules produce:

    '@CMAKE_FIND_ROOT_PATH@;/home/media/aarch64-linux-android-4.9/android-21/sysroot/usr'

  but the new evaluation rules produce:

    '@CMAKE_FIND_ROOT_PATH@'

  Using the old result for compatibility since the policy is not set.
Call Stack (most recent call first):
  /home/media/pvr.sledovanitv/build/build/jsoncpp/src/jsoncpp-build/CMakeFiles/3.5.1/CMakeSystem.cmake:6 (include)
  CMakeLists.txt:1 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- The C compiler identification is GNU 4.9.0
-- The CXX compiler identification is GNU 4.9.0
-- Check for working C compiler: /home/media/aarch64-linux-android-4.9/android-21/bin/aarch64-linux-android-gcc
-- Check for working C compiler: /home/media/aarch64-linux-android-4.9/android-21/bin/aarch64-linux-android-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /home/media/aarch64-linux-android-4.9/android-21/bin/aarch64-linux-android-g++
-- Check for working CXX compiler: /home/media/aarch64-linux-android-4.9/android-21/bin/aarch64-linux-android-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_INCLUDE_PATH
    CMAKE_LIBRARY_PATH
    ENABLE_STATIC
    PACKAGE_CONFIG_PATH


-- Build files have been written to: /home/media/pvr.sledovanitv/build/build/jsoncpp/src/jsoncpp-build
[ 14%] Performing build step for 'jsoncpp'
Scanning dependencies of target jsoncpp
[ 25%] Building CXX object CMakeFiles/jsoncpp.dir/src/lib_json/json_reader.cpp.o
[ 50%] Building CXX object CMakeFiles/jsoncpp.dir/src/lib_json/json_value.cpp.o
[ 75%] Building CXX object CMakeFiles/jsoncpp.dir/src/lib_json/json_writer.cpp.o
[100%] Linking CXX static library libjsoncpp.a
[100%] Built target jsoncpp
[ 17%] Performing install step for 'jsoncpp'
[100%] Built target jsoncpp
Install the project...
-- Install configuration: "Release"
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/lib/libjsoncpp.a
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/jsoncpp/json
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/jsoncpp/json/value.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/jsoncpp/json/writer.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/jsoncpp/json/forwards.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/jsoncpp/json/config.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/jsoncpp/json/json.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/jsoncpp/json/autolink.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/jsoncpp/json/features.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/jsoncpp/json/reader.h
[ 19%] Completed 'jsoncpp'
[ 19%] Built target jsoncpp
Scanning dependencies of target tinyxml
[ 21%] Creating directories for 'tinyxml'
[ 24%] Performing download step (download, verify and extract) for 'tinyxml'
-- downloading...
     src='http://mirrors.kodi.tv/build-deps/sources/tinyxml-2.6.2_2.tar.gz'
     dst='/home/media/pvr.sledovanitv/build/build/download/tinyxml-2.6.2_2.tar.gz'
     timeout='none'
-- [download 0% complete]
-- [download 8% complete]
-- [download 15% complete]
-- [download 23% complete]
-- [download 30% complete]
-- [download 38% complete]
-- [download 45% complete]
-- [download 53% complete]
-- [download 60% complete]
-- [download 68% complete]
-- [download 75% complete]
-- [download 83% complete]
-- [download 90% complete]
-- [download 98% complete]
-- [download 100% complete]
-- downloading... done
-- verifying file...
     file='/home/media/pvr.sledovanitv/build/build/download/tinyxml-2.6.2_2.tar.gz'
-- verifying file... warning: did not verify file - no URL_HASH specified?
-- extracting...
     src='/home/media/pvr.sledovanitv/build/build/download/tinyxml-2.6.2_2.tar.gz'
     dst='/home/media/pvr.sledovanitv/build/build/tinyxml/src/tinyxml'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 26%] Performing patch step for 'tinyxml'
[ 29%] No update step for 'tinyxml'
[ 31%] Performing configure step for 'tinyxml'
-- The C compiler identification is GNU 4.9.0
-- The CXX compiler identification is GNU 4.9.0
-- Check for working C compiler: /home/media/aarch64-linux-android-4.9/android-21/bin/aarch64-linux-android-gcc
-- Check for working C compiler: /home/media/aarch64-linux-android-4.9/android-21/bin/aarch64-linux-android-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /home/media/aarch64-linux-android-4.9/android-21/bin/aarch64-linux-android-g++
-- Check for working CXX compiler: /home/media/aarch64-linux-android-4.9/android-21/bin/aarch64-linux-android-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_INCLUDE_PATH
    CMAKE_LIBRARY_PATH
    ENABLE_STATIC
    PACKAGE_CONFIG_PATH


-- Build files have been written to: /home/media/pvr.sledovanitv/build/build/tinyxml/src/tinyxml-build
[ 34%] Performing build step for 'tinyxml'
Scanning dependencies of target tinyxml
[ 20%] Building CXX object CMakeFiles/tinyxml.dir/src/tinystr.cpp.o
[ 40%] Building CXX object CMakeFiles/tinyxml.dir/src/tinyxml.cpp.o
[ 60%] Building CXX object CMakeFiles/tinyxml.dir/src/tinyxmlerror.cpp.o
[ 80%] Building CXX object CMakeFiles/tinyxml.dir/src/tinyxmlparser.cpp.o
[100%] Linking CXX static library libtinyxml.a
[100%] Built target tinyxml
[ 36%] Performing install step for 'tinyxml'
[100%] Built target tinyxml
Install the project...
-- Install configuration: "Release"
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/tinystr.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/tinyxml.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/lib/libtinyxml.a
[ 39%] Completed 'tinyxml'
[ 39%] Built target tinyxml
Scanning dependencies of target p8-platform
[ 41%] Creating directories for 'p8-platform'
[ 43%] Performing download step (git clone) for 'p8-platform'
Cloning into 'p8-platform'...
Note: checking out '38343e0acd6a636ac46139aa666aee4a8d1f13db'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 38343e0... bump to 2.0.1
[ 46%] No patch step for 'p8-platform'
[ 48%] Performing update step for 'p8-platform'
[ 51%] Performing configure step for 'p8-platform'
CMake Warning (dev) at /home/media/xbmc-depends/aarch64-linux-android-android-21/share/Toolchain_binaddons.cmake:5 (set):
  Policy CMP0053 is not set: Simplify variable reference and escape sequence
  evaluation.  Run "cmake --help-policy CMP0053" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For input:

    '@CMAKE_FIND_ROOT_PATH@'

  the old evaluation rules produce:

    '@CMAKE_FIND_ROOT_PATH@;/home/media/aarch64-linux-android-4.9/android-21/sysroot/usr'

  but the new evaluation rules produce:

    '@CMAKE_FIND_ROOT_PATH@'

  Using the old result for compatibility since the policy is not set.
Call Stack (most recent call first):
  /home/media/pvr.sledovanitv/build/build/p8-platform/src/p8-platform-build/CMakeFiles/3.5.1/CMakeSystem.cmake:6 (include)
  CMakeLists.txt:1 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- The C compiler identification is GNU 4.9.0
-- The CXX compiler identification is GNU 4.9.0
-- Check for working C compiler: /home/media/aarch64-linux-android-4.9/android-21/bin/aarch64-linux-android-gcc
-- Check for working C compiler: /home/media/aarch64-linux-android-4.9/android-21/bin/aarch64-linux-android-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /home/media/aarch64-linux-android-4.9/android-21/bin/aarch64-linux-android-g++
-- Check for working CXX compiler: /home/media/aarch64-linux-android-4.9/android-21/bin/aarch64-linux-android-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE  
-- Looking for __atomic_fetch_add_4 in atomic
-- Looking for __atomic_fetch_add_4 in atomic - found
-- Performing Test HAS_BUILTIN_SYNC_ADD_AND_FETCH
-- Performing Test HAS_BUILTIN_SYNC_ADD_AND_FETCH - Success
-- Performing Test HAS_BUILTIN_SYNC_SUB_AND_FETCH
-- Performing Test HAS_BUILTIN_SYNC_SUB_AND_FETCH - Success
-- Performing Test HAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP
-- Performing Test HAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP - Success
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    ENABLE_STATIC
    OUTPUT_DIR


-- Build files have been written to: /home/media/pvr.sledovanitv/build/build/p8-platform/src/p8-platform-build
[ 53%] Performing build step for 'p8-platform'
Scanning dependencies of target p8-platform
[ 50%] Building CXX object CMakeFiles/p8-platform.dir/src/util/StringUtils.cpp.o
[100%] Linking CXX static library libp8-platform.a
[100%] Built target p8-platform
[ 56%] Performing install step for 'p8-platform'
[100%] Built target p8-platform
Install the project...
-- Install configuration: "Release"
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/lib/libp8-platform.a
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/p8-platform/os.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/p8-platform/posix/os-socket.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/p8-platform/posix/os-threads.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/p8-platform/posix/os-types.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/p8-platform/sockets/cdevsocket.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/p8-platform/sockets/socket.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/p8-platform/sockets/tcp.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/p8-platform/threads/atomics.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/p8-platform/threads/mutex.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/p8-platform/threads/threads.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/p8-platform/util/atomic.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/p8-platform/util/buffer.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/p8-platform/util/StringUtils.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/p8-platform/util/StdString.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/p8-platform/util/timeutils.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/include/p8-platform/util/util.h
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/lib/pkgconfig/p8-platform.pc
-- Installing: /home/media/pvr.sledovanitv/build/build/depends/lib/p8-platform/p8-platform-config.cmake
[ 58%] Completed 'p8-platform'
[ 58%] Built target p8-platform
Scanning dependencies of target kodi-platform
[ 60%] Creating directories for 'kodi-platform'
[ 63%] Performing download step (git clone) for 'kodi-platform'
Cloning into 'kodi-platform'...
Note: checking out 'c8188d82678fec6b784597db69a68e74ff4986b5'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at c8188d8... Merge pull request #25 from hudokkow/find_package_Kodi
[ 65%] No patch step for 'kodi-platform'
[ 68%] Performing update step for 'kodi-platform'
[ 70%] Performing configure step for 'kodi-platform'
CMake Warning (dev) at /home/media/xbmc-depends/aarch64-linux-android-android-21/share/Toolchain_binaddons.cmake:5 (set):
  Policy CMP0053 is not set: Simplify variable reference and escape sequence
  evaluation.  Run "cmake --help-policy CMP0053" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For input:

    '@CMAKE_FIND_ROOT_PATH@'

  the old evaluation rules produce:

    '@CMAKE_FIND_ROOT_PATH@;/home/media/aarch64-linux-android-4.9/android-21/sysroot/usr'

  but the new evaluation rules produce:

    '@CMAKE_FIND_ROOT_PATH@'

  Using the old result for compatibility since the policy is not set.
Call Stack (most recent call first):
  /home/media/pvr.sledovanitv/build/build/kodi-platform/src/kodi-platform-build/CMakeFiles/3.5.1/CMakeSystem.cmake:6 (include)
  CMakeLists.txt:1 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- The C compiler identification is GNU 4.9.0
-- The CXX compiler identification is GNU 4.9.0
-- Check for working C compiler: /home/media/aarch64-linux-android-4.9/android-21/bin/aarch64-linux-android-gcc
-- Check for working C compiler: /home/media/aarch64-linux-android-4.9/android-21/bin/aarch64-linux-android-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /home/media/aarch64-linux-android-4.9/android-21/bin/aarch64-linux-android-g++
-- Check for working CXX compiler: /home/media/aarch64-linux-android-4.9/android-21/bin/aarch64-linux-android-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Checking to see if CXX compiler accepts flag -flto
-- Checking to see if CXX compiler accepts flag -flto - yes
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find TinyXML (missing: TINYXML_INCLUDE_DIR TINYXML_LIBRARIES)
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  FindTinyXML.cmake:24 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:9 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/media/pvr.sledovanitv/build/build/kodi-platform/src/kodi-platform-build/CMakeFiles/CMakeOutput.log".
depends/CMakeFiles/kodi-platform.dir/build.make:105: návod pro cíl „build/kodi-platform/src/kodi-platform-stamp/kodi-platform-configure“ selhal
make[2]: *** [build/kodi-platform/src/kodi-platform-stamp/kodi-platform-configure] Chyba 1
CMakeFiles/Makefile2:293: návod pro cíl „depends/CMakeFiles/kodi-platform.dir/all“ selhal
make[1]: *** [depends/CMakeFiles/kodi-platform.dir/all] Chyba 2
Makefile:83: návod pro cíl „all“ selhal
make: *** [all] Chyba 2

The output ended with error about "Could NOT find TinyXML (missing: TINYXML_INCLUDE_DIR TINYXML_LIBRARIES)"

When build addon for x86 without DCMAKE_TOOLCHAIN_FILE option so works fine and build end with success. Host machine Ubuntu 16. 04., amd64.
Reply


Messages In This Thread
RE: Develop PVR addons with new cmake build system - by BrozikCZ - 2017-07-29, 10:45
Logout Mark Read Team Forum Stats Members Help
Develop PVR addons with new cmake build system0