Yes, CMake is currently checking if the -std=c++11 flag exists. CMake
3 supports the autotools-style "feature check" style (which would be
more appropriate on platforms like Windows, anyway) but it's not clear
how far back we want to support just yet -- right now we support back
to 2.8.

One thing to consider is that the "default" install of CMake for
apt-get on recent versions of Ubuntu is v2.8. In general, we'd like to
have as smooth an install experience as possible for as many platforms
as we can; I'm willing to be convinced that this isn't worth it, but
to be safe we've developed with 2.8 in mind, because it's easier to go
from 2.8 to 3 than the reverse.

On Mon, Jul 27, 2015 at 9:37 AM, James Peach <[email protected]> wrote:
>
>> On Jul 23, 2015, at 12:40 PM, Alex Clemmer <[email protected]> 
>> wrote:
>>
>> A fix is up for review here[1]. Thanks again for your feedback, this
>> is very valuable!
>>
>> [1] https://reviews.apache.org/r/36743/
>
> AFAICT this just checks whether the -std=c++11 compiler option is accepted. 
> The equivalent autoconf macro checks that various C++11 features compile, and 
> people have added more over time ... 
> 9eda4331dd23c3646aba1ec710e0dd3190e579ab, 
> 623d6a0d0f0eb90be80b7e95c91ece89de513367, 
> b930d5ce32b60b7c126844a3ef6ae119d36bc8d0, etc.
>
> Am I reading the cmake right?
>
>>
>> On Thu, Jul 23, 2015 at 12:18 PM, Vinod Kone <[email protected]> wrote:
>>> yup.
>>>
>>> checking for C++ compiler version... 4.1.2
>>>
>>> checking for C++ compiler vendor... (cached) gnu
>>>
>>> configure: error: GCC 4.8 or higher required (found 4.1.2)
>>>
>>> [vinod@smfd-atr-11-sr1 build-cmake]$ echo $?
>>>
>>> 1
>>>
>>> On Thu, Jul 23, 2015 at 12:17 PM, Alex Clemmer <[email protected]>
>>> wrote:
>>>
>>>> We can easily change that to be a FATAL_ERROR or a WARNING. I
>>>> recommend being at parity with autotools -- am I correct in assuming
>>>> that it errors out?
>>>>
>>>> On Thu, Jul 23, 2015 at 12:12 PM, Vinod Kone <[email protected]> wrote:
>>>>> The one thing I found odd while testing was that some errors when running
>>>>> 'cmake' do not result in a non-zero exit status.
>>>>> For example, when I tested with an older version of GCC it gave a warning
>>>>> about C++11 not being supported but went ahead otherwise.
>>>>>
>>>>> -- Performing Test COMPILER_SUPPORTS_CXX11 - Failed
>>>>>
>>>>> *--
>>>>>
>>>> Thecompiler/usr/bin/c++doesnotsupportthe`-std=c++11`flag.PleaseuseadifferentC++compiler.*
>>>>>
>>>>> -- Looking for include file pthread.h
>>>>>
>>>>> -- Looking for include file pthread.h - found
>>>>>
>>>>> -- Looking for pthread_create
>>>>>
>>>>> -- Looking for pthread_create - not found
>>>>>
>>>>> -- Looking for pthread_create in pthreads
>>>>>
>>>>> -- Looking for pthread_create in pthreads - not found
>>>>>
>>>>> -- Looking for pthread_create in pthread
>>>>>
>>>>> -- Looking for pthread_create in pthread - found
>>>>>
>>>>> -- Found Threads: TRUE
>>>>>
>>>>> -- Found ZLIB: /usr/lib64/libz.so (found version "1.2.3")
>>>>>
>>>>> -- Found APR headers: /usr/include/apr-1
>>>>>
>>>>> -- Found APR library: /usr/lib64/libapr-1.so
>>>>>
>>>>> -- Found APRUTIL headers: /usr/include/apr-1
>>>>>
>>>>> -- Found APRUTIL library: /usr/lib64/libaprutil-1.so
>>>>>
>>>>> -- Found SVN lib: /usr/lib64/libsvn_client-1.so
>>>>>
>>>>> -- Found SVN lib: /usr/lib64/libsvn_delta-1.so
>>>>>
>>>>> -- Found SVN lib: /usr/lib64/libsvn_diff-1.so
>>>>>
>>>>> -- Found SVN lib: /usr/lib64/libsvn_fs-1.so
>>>>>
>>>>> -- Found SVN lib: /usr/lib64/libsvn_fs_base-1.so
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Jul 23, 2015 at 12:07 PM, Alex Clemmer <
>>>> [email protected]>
>>>>> wrote:
>>>>>
>>>>>> I've put up a pair of fixes, tested on OS X 10.10. They are here:
>>>>>>
>>>>>> (1) https://reviews.apache.org/r/36740/
>>>>>> (2) https://reviews.apache.org/r/36741/
>>>>>>
>>>>>> This should resolve the issues, and thanks again for the bug report.
>>>>>>
>>>>>> On Thu, Jul 23, 2015 at 3:32 AM, haosdent <[email protected]> wrote:
>>>>>>> Sure, I use OS X 10.10. Seems OS X don't have librt, don't add rt when
>>>>>> the
>>>>>>> operate system is OSX?
>>>>>>>
>>>>>>> On Thu, Jul 23, 2015 at 6:22 PM, Alex Clemmer <
>>>>>> [email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Thanks for reporting the issue! I appreciate it.
>>>>>>>>
>>>>>>>> This code is trying to find librt, which provides the POSIX.1b
>>>>>>>> Realtime Extension (i.e., things like message passing, async I/O,
>>>>>>>> mmap'd files, etc.). Assuming you're running some flavor of Linux,
>>>>>>>> this _should_ exist on your system already, and `find_library` is the
>>>>>>>> CMake-standard function to find it, so it is not immediately clear to
>>>>>>>> me what went wrong here.
>>>>>>>>
>>>>>>>> Do you mind if I ask what system you are running?
>>>>>>>>
>>>>>>>> On Thu, Jul 23, 2015 at 1:16 AM, haosdent <[email protected]>
>>>> wrote:
>>>>>>>>> Hi, @Alex Clemmer  I try to build it on OS X 10.10
>>>>>>>>>
>>>>>>>>> ```
>>>>>>>>> mkdir build-cmake
>>>>>>>>> cmake ..
>>>>>>>>> make
>>>>>>>>> ```
>>>>>>>>>
>>>>>>>>> But have this error:
>>>>>>>>> ```
>>>>>>>>> CMake Error: The following variables are used in this project, but
>>>>>> they
>>>>>>>> are
>>>>>>>>> set to NOTFOUND.
>>>>>>>>> Please set them or make sure they are set and tested correctly in
>>>> the
>>>>>>>> CMake
>>>>>>>>> files:
>>>>>>>>> LIBRT_LIBRARIES
>>>>>>>>>    linked by target "tests" in directory
>>>>>>>>> /Users/haosdent/workspace/cpp/mesos/3rdparty/libprocess/src/tests
>>>>>>>>>
>>>>>>>>> -- Configuring incomplete, errors occurred!
>>>>>>>>> ```
>>>>>>>>>
>>>>>>>>> Any steps I wrong here?
>>>>>>>>>
>>>>>>>>> On Thu, Jul 23, 2015 at 11:27 AM, Marco Massenzio <
>>>>>> [email protected]>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> This is really cool!
>>>>>>>>>> Eclipse CDT is becoming a bit tiresome to use, but JetLabs' CLion
>>>>>> only
>>>>>>>>>> support cmake, so I definitely have a stake in this working :)
>>>>>>>>>>
>>>>>>>>>> Please keep us posted on progress, I'll definitely try and give
>>>> it a
>>>>>>>> spin
>>>>>>>>>> on Ubuntu and OSX.
>>>>>>>>>> Thanks for doing it!
>>>>>>>>>>
>>>>>>>>>> *Marco Massenzio*
>>>>>>>>>> *Distributed Systems Engineer*
>>>>>>>>>>
>>>>>>>>>> On Wed, Jul 22, 2015 at 6:06 PM, Alex Clemmer <
>>>>>>>> [email protected]
>>>>>>>>>>>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> On Wed, Jul 22, 2015 at 3:47 PM, Vinod Kone <
>>>> [email protected]>
>>>>>>>> wrote:
>>>>>>>>>>>> This is exciting! Thanks for sharing the progress Alex.
>>>>>>>>>>>>
>>>>>>>>>>>> Mind sending us instructions on how to build/test with cmake
>>>> for
>>>>>>>> noobs
>>>>>>>>>>> like
>>>>>>>>>>>> me?
>>>>>>>>>>>
>>>>>>>>>>> Ah, rats, I knew I was forgetting something.
>>>>>>>>>>>
>>>>>>>>>>> It actually looks pretty much like the autotools build system:
>>>>>>>>>>>
>>>>>>>>>>> 1. Make sure you have all the "normal" system dependencies
>>>>>> installed
>>>>>>>>>>> (like APR, etc.)
>>>>>>>>>>> 2. Make sure you have CMake 2.8 or later installed on your
>>>> machine.
>>>>>>>>>>> (On Ubuntu this looks like: `sudo apt-get install cmake`)
>>>>>>>>>>> 3. Go to the root of your Mesos source tree and do something
>>>> like
>>>>>> the
>>>>>>>>>>> following. Note that you will never have to run bootstrap or
>>>>>>>>>>> configure, so you should _only_ have to run the following
>>>> commands.
>>>>>>>>>>>
>>>>>>>>>>> mkdir build-cmake
>>>>>>>>>>> cmake ..
>>>>>>>>>>> make
>>>>>>>>>>>
>>>>>>>>>>> 4. Watch as it builds, and hopefully doesn't explode!
>>>>>>>>>>>
>>>>>>>>>>> Finally to run tests, you can do `make test ARGS="-V"`. They run
>>>>>>>>>>> without ANSI colors right now, which is not ideal, but we know
>>>>>> it's an
>>>>>>>>>>> issue.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Alex
>>>>>>>>>>>
>>>>>>>>>>> Theory is the first term in the Taylor series of practice. --
>>>>>> Thomas M
>>>>>>>>>>> Cover (1992)
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Best Regards,
>>>>>>>>> Haosdent Huang
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Alex
>>>>>>>>
>>>>>>>> Theory is the first term in the Taylor series of practice. -- Thomas
>>>> M
>>>>>>>> Cover (1992)
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Best Regards,
>>>>>>> Haosdent Huang
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Alex
>>>>>>
>>>>>> Theory is the first term in the Taylor series of practice. -- Thomas M
>>>>>> Cover (1992)
>>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Alex
>>>>
>>>> Theory is the first term in the Taylor series of practice. -- Thomas M
>>>> Cover (1992)
>>>>
>>
>>
>>
>> --
>> Alex
>>
>> Theory is the first term in the Taylor series of practice. -- Thomas M
>> Cover (1992)
>



-- 
Alex

Theory is the first term in the Taylor series of practice. -- Thomas M
Cover (1992)

Reply via email to