aldebaran / libqi-java

QiMessaging Java bindings
Other
14 stars 13 forks source link

CMake 3.16 or higher is required. You are running version 3.5.1 #8

Open Michdo93 opened 2 years ago

Michdo93 commented 2 years ago

Hi,

I started over again, hence a new Issue.

I use Ubuntu 16.04 as virtual machine:

lsb_release -a
LSB Version:    core-9.20160110ubuntu0.2-amd64:core-9.20160110ubuntu0.2-noarch:printing-9.20160110ubuntu0.2-amd64:printing-9.20160110ubuntu0.2-noarch:security-9.20160110ubuntu0.2-amd64:security-9.20160110ubuntu0.2-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.7 LTS
Release:    16.04
Codename:   xenial

I installed python2.7 and pip:

python --version
Python 2.7.12

pip --version
pip 20.3.4 from /home/nao/.local/lib/python2.7/site-packages/pip (python 2.7)

I have a Pepper with NAOqi 2.5, so I used this guide:

https://developer.softbankrobotics.com/pepper-naoqi-25/naoqi-developer-guide/sdks/c-sdk/c-sdk-installation-guide

sudo apt-get install build-essential

My compilers are:

g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

cmake --version
cmake version 3.5.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).

Maybe I also have to need lower versions.

Then I run pip install qibuild --user.

After that I run (again) the qibuild config --wizard:

qibuild config --wizard
Found CMake: /usr/bin/cmake
:: Please choose a generator
   1 Unix Makefiles     (default)
   2 Ninja
   3 Watcom WMake
   4 CodeBlocks - Ninja
   5 CodeBlocks - Unix Makefiles
   6 CodeLite - Ninja
   7 CodeLite - Unix Makefiles
   8 Eclipse CDT4 - Ninja
   9 Eclipse CDT4 - Unix Makefiles
   10 KDevelop3
   11 KDevelop3 - Unix Makefiles
   12 Kate - Ninja
   13 Kate - Unix Makefiles
   14 Sublime Text 2 - Ninja
   15 Sublime Text 2 - Unix Makefiles
> 1
:: Please choose an IDE
   1 None   (default)
   2 QtCreator
   3 Eclipse CDT
> 1

:: Found a worktree in /home/nao/work/aldebaran
:: Do you want to configure settings for this worktree? (y/N)
> y
:: Found the following build configs:  android-x86_64, cross-atom, android-x86, myconfig, linux64, win32-vs2013, android-arm, mac64
:: Use one of these build configs by default (Y/n)
> y
:: Choose a build config to use by default
   1 android-x86_64     (default)
   2 cross-atom
   3 android-x86
   4 myconfig
   5 linux64
   6 win32-vs2013
   7 android-arm
   8 mac64
> 7
:: Do you want to use a unique build dir? (mandatory when using Eclipse) (y/N)
> n

I got the toolchains with:

qitoolchain create --feed-name android-arm android-arm https://github.com/aldebaran/toolchains.git
qitoolchain create --feed-name android-x86 android-x86 https://github.com/aldebaran/toolchains.git
qitoolchain create --feed-name android-x86_64 android-x86_64 https://github.com/aldebaran/toolchains.git
qitoolchain create --feed-name linux64 linux64 https://github.com/aldebaran/toolchains.git
qitoolchain create --feed-name mac64 mac64 https://github.com/aldebaran/toolchains.git
qitoolchain create --feed-name win32-vs2013 win32-vs2013 https://github.com/aldebaran/toolchains.git

To /etc/environment I added:

ANDROID_HOME=/home/nao/Android/Sdk
ANDROID_NDK_HOME=/home/nao/Android/Sdk/ndk-bundle
ANDROID_NDK_ROOT=/home/nao/Android/Sdk/ndk-bundle

I installed Android Studio with the Ubuntu Software Center and donwloaded NDK manually and unzipped it to the directory above.

Then I added the qibuild configs:

qibuild add-config android-arm -t android-arm
qibuild add-config android-x86 -t android-x86
qibuild add-config android-x86_64 -t android-x86_64
qibuild add-config linux64 -t linux64
qibuild add-config mac64 -t mac64
qibuild add-config win32-vs2013 -t win32-vs2013

And fetched the sources:

mkdir -p ~/work/aldebaran
cd ~/work/aldebaran
qisrc init https://github.com/aldebaran/manifest.git

Because qisrc init git@github.com:aldebaran/manifest.git does not work.

And then I tried to configure my qibuild:

cd ~/work/aldebaran/sdk/libqi-java/jni
qibuild configure -c android-arm

I got following error:

* (1/3) Configuring gtest
-- Adjusting Android API level 'android-17' to 'android-14'
-- Using qibuild 3.17
-- Library: gtest
-- Library: gtest_main
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    WITH_QIBUILD

-- Build files have been written to: /home/nao/work/aldebaran/sdk/libgtest/build-android-arm
* (2/3) Configuring libqi
CMake Error at CMakeLists.txt:5 (cmake_minimum_required):
  CMake 3.16 or higher is required.  You are running version 3.5.1

-- Configuring incomplete, errors occurred!
[ERROR]: ConfigureFailed

I tried it with this solution: https://askubuntu.com/questions/355565/how-do-i-install-the-latest-version-of-cmake-from-the-command-line

Then I received following errors:

Using toolchain: android-arm
* (1/3) Configuring gtest
CMake Deprecation Warning at CMakeLists.txt:3 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at /home/nao/.local/share/qi/toolchains/android-arm/ndk/toolchain.cmake:187 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.
Call Stack (most recent call first):
  /home/nao/.local/share/qi/toolchains/android-arm/toolchain-android-arm.cmake:5 (include)
  /usr/share/cmake-3.20/Modules/CMakeDetermineSystem.cmake:123 (include)
  CMakeLists.txt:4 (project)

-- Adjusting Android API level 'android-17' to 'android-14'
CMake Deprecation Warning at /usr/share/cmake-3.20/Modules/CMakeForceCompiler.cmake:75 (message):
  The CMAKE_FORCE_C_COMPILER macro is deprecated.  Instead just set
  CMAKE_C_COMPILER and allow CMake to identify the compiler.
Call Stack (most recent call first):
  /home/nao/.local/share/qi/toolchains/android-arm/ndk/toolchain.cmake:1162 (CMAKE_FORCE_C_COMPILER)
  /home/nao/.local/share/qi/toolchains/android-arm/toolchain-android-arm.cmake:5 (include)
  /usr/share/cmake-3.20/Modules/CMakeDetermineSystem.cmake:123 (include)
  CMakeLists.txt:4 (project)

CMake Deprecation Warning at /usr/share/cmake-3.20/Modules/CMakeForceCompiler.cmake:89 (message):
  The CMAKE_FORCE_CXX_COMPILER macro is deprecated.  Instead just set
  CMAKE_CXX_COMPILER and allow CMake to identify the compiler.
Call Stack (most recent call first):
  /home/nao/.local/share/qi/toolchains/android-arm/ndk/toolchain.cmake:1174 (CMAKE_FORCE_CXX_COMPILER)
  /home/nao/.local/share/qi/toolchains/android-arm/toolchain-android-arm.cmake:5 (include)
  /usr/share/cmake-3.20/Modules/CMakeDetermineSystem.cmake:123 (include)
  CMakeLists.txt:4 (project)

CMake Deprecation Warning at /home/nao/.local/share/qi/toolchains/android-arm/ndk/toolchain.cmake:187 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.
Call Stack (most recent call first):
  /home/nao/.local/share/qi/toolchains/android-arm/toolchain-android-arm.cmake:5 (include)
  build-android-arm/CMakeFiles/3.20.5/CMakeSystem.cmake:6 (include)
  CMakeLists.txt:4 (project)

CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
-- Configuring incomplete, errors occurred!
See also "/home/nao/work/aldebaran/sdk/libgtest/build-android-arm/CMakeFiles/CMakeOutput.log".
[ERROR]: ConfigureFailed

As suggested I changed cmake_minimum_required to 2.8.12. Before that it was set to 2.6.x.

Then I got errors like CMAKE_FORCE_C_COMPILER macro is deprecated or CMAKE_FORCE_CXX_COMPILER macro is deprecated. I found a solution here:

https://stackoverflow.com/questions/66329704/cmake-deprecation-warning-messagedeprecation-the-cmake-force-c-compiler-mac

I remove it by commenting it out.

And if I run qibuild configure -c android-arm again I got:

Using toolchain: android-arm
* (1/3) Configuring gtest
-- Adjusting Android API level 'android-17' to 'android-14'
CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
-- Configuring incomplete, errors occurred!
See also "/home/nao/work/aldebaran/sdk/libgtest/build-android-arm/CMakeFiles/CMakeOutput.log".
[ERROR]: ConfigureFailed

A solution which I have found is that you have to install sudo apt install build-essential. It is installed so I purged it and install it again. But the error still exists.