Re: [OE-core] [oe] cmake update broke mariadb
> Op 30 jun. 2015, om 12:32 heeft Stefan Herbrechtsmeier > het volgende geschreven: > > Am 30.06.2015 um 11:59 schrieb Koen Kooi: >> Burton, Ross schreef op 30-06-15 om 11:44: >>> On 30 June 2015 at 01:39, akuster808 wrote: >>> eo-core commit f8661aa "cmake: Upgrade 2.8.12.2 -> 3.2.2" broke mariadb in meta-oe. DOes the person who updated cmake need to fix this or the person who is feeling the pain will be fixing it ? >>> Depends on what the breakage is really. Can you provide build logs? >> ERROR: Function failed: do_configure (log file is located at >> /build/linaro/build/build/tmp-glibc/work/x86_64-linux/mariadb-native/5.5.44-r0/temp/log.do_configure.25603) >> ERROR: Logfile of failure stored in: >> /build/linaro/build/build/tmp-glibc/work/x86_64-linux/mariadb-native/5.5.44-r0/temp/log.do_configure.25603 >> Log data follows: >> | DEBUG: Executing python function sysroot_cleansstate >> | DEBUG: Python function sysroot_cleansstate finished >> | DEBUG: Executing shell function autotools_preconfigure >> | DEBUG: Shell function autotools_preconfigure finished >> | DEBUG: Executing python function autotools_copy_aclocals >> | DEBUG: Python function autotools_copy_aclocals finished >> | DEBUG: Executing shell function do_configure >> | -- Running cmake version 3.2.2 >> | -- The C compiler identification is GNU 4.8.3 >> | -- The CXX compiler identification is GNU 4.8.3 >> | CMake Error at CMakeLists.txt:86 (PROJECT): >> | The CMAKE_C_COMPILER: >> | >> | gcc >> | >> | is not a full path and was not found in the PATH. >> | >> | Tell CMake where to find the compiler by setting either the environment >> | variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path >> to >> | the compiler, or to the compiler name if it is in the PATH. >> | >> | >> | CMake Error at CMakeLists.txt:86 (PROJECT): >> | The CMAKE_CXX_COMPILER: >> | >> | g++ >> | >> | is not a full path and was not found in the PATH. >> | >> | Tell CMake where to find the compiler by setting either the environment >> | variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full >> path >> | to the compiler, or to the compiler name if it is in the PATH. >> | >> | >> | -- Configuring incomplete, errors occurred! > The problem should be the usage of cmake for a native package. > > The cmake.bbclass disables the host path and thereby CMake could not find the > gcc binary. > > I think the cmake.bbclass need to distinguish between cross and native build > and set the following for native build: > set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH ) > set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH ) > set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH ) > > This allows CMake to search the binaries, libraries and includes first in the > CMAKE_FIND_ROOT_PATH, then in the CMAKE_SYSROOT and then in the non-rooted > directories. THanks for the hint, I’m going to test something like this: [koen@thinkpad classes]$ git diff diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass index b0a3972..ead4a26 100644 --- a/meta/classes/cmake.bbclass +++ b/meta/classes/cmake.bbclass @@ -27,6 +27,13 @@ OECMAKE_RPATH ?= "" OECMAKE_PERLNATIVE_DIR ??= "" OECMAKE_EXTRA_ROOT_PATH ?= "" +OECMAKE_PATHS ?= "" +OECMAKE_PATHS_class-native = " \ +set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH ) \ +set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH ) \ +set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH ) \ +" + cmake_do_generate_toolchain_file() { cat > ${WORKDIR}/toolchain.cmake
Re: [OE-core] [oe] cmake update broke mariadb
Am 30.06.2015 um 11:59 schrieb Koen Kooi: Burton, Ross schreef op 30-06-15 om 11:44: On 30 June 2015 at 01:39, akuster808 wrote: eo-core commit f8661aa "cmake: Upgrade 2.8.12.2 -> 3.2.2" broke mariadb in meta-oe. DOes the person who updated cmake need to fix this or the person who is feeling the pain will be fixing it ? Depends on what the breakage is really. Can you provide build logs? ERROR: Function failed: do_configure (log file is located at /build/linaro/build/build/tmp-glibc/work/x86_64-linux/mariadb-native/5.5.44-r0/temp/log.do_configure.25603) ERROR: Logfile of failure stored in: /build/linaro/build/build/tmp-glibc/work/x86_64-linux/mariadb-native/5.5.44-r0/temp/log.do_configure.25603 Log data follows: | DEBUG: Executing python function sysroot_cleansstate | DEBUG: Python function sysroot_cleansstate finished | DEBUG: Executing shell function autotools_preconfigure | DEBUG: Shell function autotools_preconfigure finished | DEBUG: Executing python function autotools_copy_aclocals | DEBUG: Python function autotools_copy_aclocals finished | DEBUG: Executing shell function do_configure | -- Running cmake version 3.2.2 | -- The C compiler identification is GNU 4.8.3 | -- The CXX compiler identification is GNU 4.8.3 | CMake Error at CMakeLists.txt:86 (PROJECT): | The CMAKE_C_COMPILER: | | gcc | | is not a full path and was not found in the PATH. | | Tell CMake where to find the compiler by setting either the environment | variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to | the compiler, or to the compiler name if it is in the PATH. | | | CMake Error at CMakeLists.txt:86 (PROJECT): | The CMAKE_CXX_COMPILER: | | g++ | | is not a full path and was not found in the PATH. | | Tell CMake where to find the compiler by setting either the environment | variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path | to the compiler, or to the compiler name if it is in the PATH. | | | -- Configuring incomplete, errors occurred! The problem should be the usage of cmake for a native package. The cmake.bbclass disables the host path and thereby CMake could not find the gcc binary. I think the cmake.bbclass need to distinguish between cross and native build and set the following for native build: set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH ) set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH ) set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH ) This allows CMake to search the binaries, libraries and includes first in the CMAKE_FIND_ROOT_PATH, then in the CMAKE_SYSROOT and then in the non-rooted directories. -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [oe] cmake update broke mariadb
On 30 June 2015 at 10:59, Koen Kooi wrote: > CMake Error at CMakeLists.txt:86 (PROJECT): > | The CMAKE_C_COMPILER: > | > | gcc > | > | is not a full path and was not found in the PATH. > I'm definitely not the cmake maintainer and barely understand cmake files, but the new release needs that to be a full path and not a filename. The recipe/class does this (as demonstrated by it working in oe-core/meta-multimedia) so does the mariadb recipe do something else or use a different class? Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core