mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Clemmer" <clemmer.alexan...@gmail.com>
Subject Re: Review Request 37502: Add CMAKE_CXX_FLAGS to GMOCK_CONFIG_CMD in CMake.
Date Fri, 11 Sep 2015 19:22:31 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37502/#review98669
-----------------------------------------------------------


I think that `-DGTEST_USE_OWN_TR1_TUPLE` is actually unnecessary now that you've upgraded
to GMock 1.7 (in commie a8970ce78f1abbee3dd4de282d54ced38d0e5fa1). Let me just double-check
my understanding here just to make sure we're on the same page.

I've run CMake on my OS X machine and included the output below[1]. You can see that I'm running
vanilla OS X, and that my compiler is clang. When I swap out the GMock version to be v1.6
(instead of v1.7, which is what it currently is), I get the error tr1/tuple error you see
at [2].

BUT, when I run it with GMock v1.7, the issue is fixed. To confirm the fix, I consulted the
source of `gtest-port.h` and found some code[3] that appears to intelligently figure out whether
this flag should be set automatically.

If this is true, then I think this patch can omit this flag set entirely.


[1] CMake config output:
```
 ~/src/mesos/build $ cmake ..
-- The C compiler identification is AppleClang 6.1.0.6020053
-- The CXX compiler identification is AppleClang 6.1.0.6020053
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- ************************************************************
-- ********* Beginning Mesos CMake configuration step *********
-- ************************************************************
-- INSTALLATION PREFIX: /usr/local
-- MACHINE SPECS:
--     Hostname:
--     OS:       DARWIN(14.1.0)
--     Arch:     X86_64
--     BitMode:
--     BuildID:
-- ************************************************************
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Found ZLIB: /usr/lib/libz.dylib (found version "1.2.5")
-- Found APR headers: /usr/include/apr-1
-- Found APR library: /usr/lib/libapr-1.dylib
-- Found APRUTIL headers: /usr/include/apr-1
-- Found APRUTIL library: /usr/lib/libaprutil-1.dylib
-- Found SVN lib: /usr/local/lib/libsvn_client-1.dylib
-- Found SVN lib: /usr/local/lib/libsvn_delta-1.dylib
-- Found SVN lib: /usr/local/lib/libsvn_diff-1.dylib
-- Found SVN lib: /usr/local/lib/libsvn_fs-1.dylib
-- Found SVN lib: /usr/local/lib/libsvn_fs_fs-1.dylib
-- Found SVN lib: /usr/local/lib/libsvn_fs_util-1.dylib
-- Found SVN lib: /usr/local/lib/libsvn_ra-1.dylib
-- Found SVN lib: /usr/local/lib/libsvn_ra_local-1.dylib
-- Found SVN lib: /usr/local/lib/libsvn_ra_serf-1.dylib
-- Found SVN lib: /usr/local/lib/libsvn_ra_svn-1.dylib
-- Found SVN lib: /usr/local/lib/libsvn_repos-1.dylib
-- Found SVN lib: /usr/local/lib/libsvn_subr-1.dylib
-- Found SVN lib: /usr/local/lib/libsvn_wc-1.dylib
-- Found SVN: /usr/local/lib/libsvn_client-1.dylib;/usr/local/lib/libsvn_delta-1.dylib;/usr/local/lib/libsvn_diff-1.dylib;/usr/local/lib/libsvn_fs-1.dylib;/usr/local/lib/libsvn_fs_fs-1.dylib;/usr/local/lib/libsvn_fs_util-1.dylib;/usr/local/lib/libsvn_ra-1.dylib;/usr/local/lib/libsvn_ra_local-1.dylib;/usr/local/lib/libsvn_ra_serf-1.dylib;/usr/local/lib/libsvn_ra_svn-1.dylib;/usr/local/lib/libsvn_repos-1.dylib;/usr/local/lib/libsvn_subr-1.dylib;/usr/local/lib/libsvn_wc-1.dylib
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/alex/src/mesos/build
```

[2] Error generated with GMock v1.6 on my machine:
```
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I/Users/alex/src/mesos/build/3rdparty/libprocess/3rdparty/gmock-1.6.0/src/gmock-1.6.0/gtest
-I./build-aux -I/Users/alex/src/mesos/build/3rdparty/libprocess/3rdparty/gmock-1.6.0/src/gmock-1.6.0/gtest
-I/Users/alex/src/mesos/build/3rdparty/libprocess/3rdparty/gmock-1.6.0/src/gmock-1.6.0/gtest/include
-D_THREAD_SAFE -DGTEST_HAS_PTHREAD=1 -g -O2 -MT src/gtest-all.lo -MD -MP -MF src/.deps/gtest-all.Tpo
-c /Users/alex/src/mesos/build/3rdparty/libprocess/3rdparty/gmock-1.6.0/src/gmock-1.6.0/gtest/src/gtest-all.cc
 -fno-common -DPIC -o src/.libs/gtest-all.o
In file included from /Users/alex/src/mesos/build/3rdparty/libprocess/3rdparty/gmock-1.6.0/src/gmock-1.6.0/gtest/src/gtest-all.cc:39:
In file included from /Users/alex/src/mesos/build/3rdparty/libprocess/3rdparty/gmock-1.6.0/src/gmock-1.6.0/gtest/include/gtest/gtest.h:57:
In file included from /Users/alex/src/mesos/build/3rdparty/libprocess/3rdparty/gmock-1.6.0/src/gmock-1.6.0/gtest/include/gtest/internal/gtest-internal.h:40:
/Users/alex/src/mesos/build/3rdparty/libprocess/3rdparty/gmock-1.6.0/src/gmock-1.6.0/gtest/include/gtest/internal/gtest-port.h:499:13:
fatal error:
      'tr1/tuple' file not found
#   include <tr1/tuple>  // NOLINT
            ^
1 error generated.
```

[3] Part of `gtest-port.h` that appears to intelligently set `GTEST_USE_OWN_TR1_TUPLE`: https://github.com/google/googletest/blob/master/googletest/include/gtest/internal/gtest-port.h#L639-L655

- Alex Clemmer


On Sept. 4, 2015, 4:25 a.m., haosdent huang wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37502/
> -----------------------------------------------------------
> 
> (Updated Sept. 4, 2015, 4:25 a.m.)
> 
> 
> Review request for mesos, Artem Harutyunyan, Alex Clemmer, and Joseph Wu.
> 
> 
> Bugs: MESOS-3270
>     https://issues.apache.org/jira/browse/MESOS-3270
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Add CMAKE_CXX_FLAGS to GMOCK_CONFIG_CMD in CMake.
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/3rdparty/CMakeLists.txt 997cc0d0e316e316136d4746e50e9e292a82b36b

> 
> Diff: https://reviews.apache.org/r/37502/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> haosdent huang
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message