[MCOL-504] CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake:177 (message): Created: 2017-01-12  Updated: 2019-01-16  Resolved: 2017-01-16

Status: Closed
Project: MariaDB ColumnStore
Component/s: Build
Affects Version/s: 1.0.6
Fix Version/s: Icebox

Type: Bug Priority: Major
Reporter: Masaaki Yoshikawa Assignee: Andrew Hutchings (Inactive)
Resolution: Not a Bug Votes: 0
Labels: None
Environment:

OS:centos7 3.10.0-327.36.3.el7.x86_64
gcc:4.8.5


Attachments: File CMakeError.log     File CMakeOutput.log    
Issue Links:
Relates
relates to MDEV-18273 CMake Error at storage/tokudb/Percona... Closed
Sprint: 2017-01

 Description   

CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake:177 (message):
/usr/bin/c++ doesn't support -std=c+11 or -std=c+0x, you need one that
does.
Call Stack (most recent call first):
storage/tokudb/PerconaFT/CMakeLists.txt:38 (include)

storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake's Line 177 is check_cxx_compiler_flag error.
As if it was modified above. So cmake process is continued.
I think it has something wrong in check_cxx_compiler_flag.

  1. pick language dialect
    set(CMAKE_C_FLAGS "-std=c99 ${CMAKE_C_FLAGS}")
    check_cxx_compiler_flag(-std=c++11 HAVE_STDCXX11)
    check_cxx_compiler_flag(-std=c++0x HAVE_STDCXX0X)
    if (HAVE_STDCXX11)
    set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
    elseif (HAVE_STDCXX0X)
    set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}")
    else ()
    set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
    ##message(FATAL_ERROR "${CMAKE_CXX_COMPILER} doesn't support -std=c+11 or -std=c+0x, you need one that does.")
    endif ()


 Comments   
Comment by Andrew Hutchings (Inactive) [ 2017-01-12 ]

Hi Masaaki,

You appear to be using CentOS/RedHat 6 64bit based on the logs. Can you please let us know what flags you provided cmake when you compiled?

Comment by Masaaki Yoshikawa [ 2017-01-12 ]

Dear Andrew Hutchings-san,

I'm using default Centos7 env. without customize settings.

[myoshika@cent7 work]$ cmake --version
cmake version 2.8.11
[myoshika@cent7 work]$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)

and DL mariadb-columnstore-server-columnstore-1.0.6.tar.gz
tar zxvf mariadb-columnstore-server-columnstore-1.0.6.tar.gz
cd mariadb-columnstore-server-columnstore-1.0.6
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb/columnstore/mysql

I see README.md's building process refarence.

Comment by Andrew Hutchings (Inactive) [ 2017-01-12 ]

Thank you for this information. I'll take a look at this and attempt to reproduce it as soon as possible.

Comment by Andrew Hutchings (Inactive) [ 2017-01-12 ]

I'm just about to jump on a plane but have taken another quick look at this. It looks like cmake suddenly mixes up cc and c++ on your system half way through the checks.

I'll analyse this next week when I'm back in the office. In the mean time I recommend running a "yum update" you appear to have an older version of GCC and cmake and possibly other dependencies too. You would then need to remove CMakeCache.txt to try again. Alternatively you can use the packages we have built for CentOS 7.

Comment by Masaaki Yoshikawa [ 2017-01-13 ]

I missed centos6's boost 1.55 build process.
I just install boost-devel package. So It was finished cmake process w/o CMake Error.

I apologize for the inconvenience of investigation.

Summary:
Use boost-devel package -> OK
Build boost 1.55 -> CMake Error

Comment by Andrew Hutchings (Inactive) [ 2017-01-16 ]

Glad you got it fixed. Many thanks for letting us know.

Generated at Thu Feb 08 02:21:35 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.