[OE-core] [oe] cmake update broke mariadb

Stefan Herbrechtsmeier stefan at herbrechtsmeier.net
Tue Jun 30 10:32:00 UTC 2015


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 <akuster808 at gmail.com> 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.




More information about the Openembedded-core mailing list