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

(Updated April 28, 2016, 11:55 p.m.)


Review request for mesos, Kapil Arya and Vinod Kone.


Changes
-------

Set the GFLAGS_CFLAGS and GFLAGS_LIBS variables per vinod's suggestion.


Repository: mesos


Description
-------

The glog library will attempt to detect whether the gflag library
is installed on the system. However, glog can compile correctly
when gflags is absent, due to a compatiblity layer:

https://github.com/google/glog/blob/v0.3.3/src/base/commandlineflags.h

We do not want a 3rd party dependency on the host to be picked up
by glog in general. In the case of gflags, it turns out that this
may break the build (when the gflag headers are incompatible).

There is no configure flag for disabling this auto-detection, so
we patch glog to remove it.


Diffs (updated)
-----

  3rdparty/libprocess/3rdparty/glog-0.3.3.patch 
f05f4b56bfc217f3fb82c32b56a950e0fc9956f2 

Diff: https://reviews.apache.org/r/46804/diff/


Testing
-------

`make check` succeeds with an installed gflags library.

Previously, the following occurs:

```
g++ -DHAVE_CONFIG_H -I. -I./src  -I./src  -pthread    -Wall -Wwrite-strings 
-Woverloaded-virtual -Wno-sign-compare  -DNO_FRAME_POINTER  -g1 -O0 
-Wno-unused-local-typedefs -std=c++11 -MT logging_unittest-logging_unittest.o 
-MD -MP -MF .deps/logging_unittest-logging_unittest.Tpo -c -o 
logging_unittest-logging_unittest.o `test -f 'src/logging_unittest.cc' || echo 
'./'`src/logging_unittest.cc
src/logging_unittest.cc: In function ‘int main(int, char**)’:
src/logging_unittest.cc:179:43: error: ‘ParseCommandLineFlags’ was not declared 
in this scope
   ParseCommandLineFlags(&argc, &argv, true);
                                           ^
src/logging_unittest.cc:179:43: note: suggested alternative:
In file included from src/glog/logging.h:85:0,
                 from src/utilities.h:82,
                 from src/logging_unittest.cc:33:
/usr/include/gflags/gflags.h:346:15: note:   ‘gflags::ParseCommandLineFlags’
 extern GFLAGS_DLL_DECL uint32 ParseCommandLineFlags(int *argc, char*** argv, 
bool remove_flags);
               ^
src/logging_unittest.cc: In static member function ‘static void 
Test_DeathNoAllocNewHook_logging::Run()’:
src/logging_unittest.cc:296:130: error: ‘FlagSaver’ was not declared in this 
scope
 TEST(DeathNoAllocNewHook, logging) {
                                                                                
                                                  ^
src/logging_unittest.cc:296:130: note: suggested alternative:
In file included from src/glog/logging.h:85:0,
                 from src/utilities.h:82,
                 from src/logging_unittest.cc:33:
/usr/include/gflags/gflags.h:277:7: note:   ‘gflags::FlagSaver’
 class GFLAGS_DLL_DECL FlagSaver {
       ^
src/logging_unittest.cc:296:140: error: expected ‘;’ before ‘fs’
 TEST(DeathNoAllocNewHook, logging) {
                                                                                
                                                            ^
src/logging_unittest.cc: In function ‘void TestRawLogging()’:
src/logging_unittest.cc:308:3: error: ‘FlagSaver’ was not declared in this scope
   FlagSaver saver;
   ^
src/logging_unittest.cc:308:3: note: suggested alternative:
In file included from src/glog/logging.h:85:0,
                 from src/utilities.h:82,
                 from src/logging_unittest.cc:33:
/usr/include/gflags/gflags.h:277:7: note:   ‘gflags::FlagSaver’
 class GFLAGS_DLL_DECL FlagSaver {
       ^
src/logging_unittest.cc:308:13: error: expected ‘;’ before ‘saver’
   FlagSaver saver;
             ^
src/logging_unittest.cc: In function ‘void LogWithLevels(int, int, bool, bool)’:
src/logging_unittest.cc:363:3: error: ‘FlagSaver’ was not declared in this scope
   FlagSaver saver;
   ^
src/logging_unittest.cc:363:3: note: suggested alternative:
In file included from src/glog/logging.h:85:0,
                 from src/utilities.h:82,
                 from src/logging_unittest.cc:33:
/usr/include/gflags/gflags.h:277:7: note:   ‘gflags::FlagSaver’
 class GFLAGS_DLL_DECL FlagSaver {
       ^
src/logging_unittest.cc:363:13: error: expected ‘;’ before ‘saver’
   FlagSaver saver;
             ^
src/logging_unittest.cc: In static member function ‘static void 
Test_DeathRawCHECK_logging::Run()’:
src/logging_unittest.cc:436:118: error: ‘FlagSaver’ was not declared in this 
scope
 TEST(DeathRawCHECK, logging) {
                                                                                
                                      ^
src/logging_unittest.cc:436:118: note: suggested alternative:
In file included from src/glog/logging.h:85:0,
                 from src/utilities.h:82,
                 from src/logging_unittest.cc:33:
/usr/include/gflags/gflags.h:277:7: note:   ‘gflags::FlagSaver’
 class GFLAGS_DLL_DECL FlagSaver {
       ^
src/logging_unittest.cc:436:128: error: expected ‘;’ before ‘fs’
 TEST(DeathRawCHECK, logging) {
                                                                                
                                                ^
src/logging_unittest.cc: In static member function ‘static void 
Test_DeathSTREQ_logging::Run()’:
src/logging_unittest.cc:586:112: error: ‘FlagSaver’ was not declared in this 
scope
 TEST(DeathSTREQ, logging) {
                                                                                
                                ^
src/logging_unittest.cc:586:112: note: suggested alternative:
In file included from src/glog/logging.h:85:0,
                 from src/utilities.h:82,
                 from src/logging_unittest.cc:33:
/usr/include/gflags/gflags.h:277:7: note:   ‘gflags::FlagSaver’
 class GFLAGS_DLL_DECL FlagSaver {
       ^
src/logging_unittest.cc:586:122: error: expected ‘;’ before ‘fs’
 TEST(DeathSTREQ, logging) {
                                                                                
                                          ^
src/logging_unittest.cc: In static member function ‘static void 
Test_CheckNOTNULL_Simple::Run()’:
src/logging_unittest.cc:596:114: error: ‘FlagSaver’ was not declared in this 
scope
 TEST(CheckNOTNULL, Simple) {
                                                                                
                                  ^
src/logging_unittest.cc:596:114: note: suggested alternative:
In file included from src/glog/logging.h:85:0,
                 from src/utilities.h:82,
                 from src/logging_unittest.cc:33:
/usr/include/gflags/gflags.h:277:7: note:   ‘gflags::FlagSaver’
 class GFLAGS_DLL_DECL FlagSaver {
       ^
src/logging_unittest.cc:596:124: error: expected ‘;’ before ‘fs’
 TEST(CheckNOTNULL, Simple) {
                                                                                
                                            ^
src/logging_unittest.cc: In static member function ‘static void 
Test_DeathCheckNN_Simple::Run()’:
src/logging_unittest.cc:607:114: error: ‘FlagSaver’ was not declared in this 
scope
 TEST(DeathCheckNN, Simple) {
                                                                                
                                  ^
src/logging_unittest.cc:607:114: note: suggested alternative:
In file included from src/glog/logging.h:85:0,
                 from src/utilities.h:82,
                 from src/logging_unittest.cc:33:
/usr/include/gflags/gflags.h:277:7: note:   ‘gflags::FlagSaver’
 class GFLAGS_DLL_DECL FlagSaver {
       ^
src/logging_unittest.cc:607:124: error: expected ‘;’ before ‘fs’
 TEST(DeathCheckNN, Simple) {
                                                                                
                                            ^
src/logging_unittest.cc: In static member function ‘static void 
Test_SafeFNMatch_logging::Run()’:
src/logging_unittest.cc:866:114: error: ‘FlagSaver’ was not declared in this 
scope
 TEST(SafeFNMatch, logging) {
                                                                                
                                  ^
src/logging_unittest.cc:866:114: note: suggested alternative:
In file included from src/glog/logging.h:85:0,
                 from src/utilities.h:82,
                 from src/logging_unittest.cc:33:
/usr/include/gflags/gflags.h:277:7: note:   ‘gflags::FlagSaver’
 class GFLAGS_DLL_DECL FlagSaver {
       ^
src/logging_unittest.cc:866:124: error: expected ‘;’ before ‘fs’
 TEST(SafeFNMatch, logging) {
                                                                                
                                            ^
src/logging_unittest.cc: In static member function ‘static void 
Test_Strerror_logging::Run()’:
src/logging_unittest.cc:1041:108: error: ‘FlagSaver’ was not declared in this 
scope
 TEST(Strerror, logging) {
                                                                                
                            ^
src/logging_unittest.cc:1041:108: note: suggested alternative:
In file included from src/glog/logging.h:85:0,
                 from src/utilities.h:82,
                 from src/logging_unittest.cc:33:
/usr/include/gflags/gflags.h:277:7: note:   ‘gflags::FlagSaver’
 class GFLAGS_DLL_DECL FlagSaver {
       ^
src/logging_unittest.cc:1041:118: error: expected ‘;’ before ‘fs’
 TEST(Strerror, logging) {
                                                                                
                                      ^
src/logging_unittest.cc: In static member function ‘static void 
Test_UserDefinedClass_logging::Run()’:
src/logging_unittest.cc:1206:124: error: ‘FlagSaver’ was not declared in this 
scope
 TEST(UserDefinedClass, logging) {
                                                                                
                                            ^
src/logging_unittest.cc:1206:124: note: suggested alternative:
In file included from src/glog/logging.h:85:0,
                 from src/utilities.h:82,
                 from src/logging_unittest.cc:33:
/usr/include/gflags/gflags.h:277:7: note:   ‘gflags::FlagSaver’
 class GFLAGS_DLL_DECL FlagSaver {
       ^
src/logging_unittest.cc:1206:134: error: expected ‘;’ before ‘fs’
 TEST(UserDefinedClass, logging) {
                                                                                
                                                      ^
make[7]: *** [logging_unittest-logging_unittest.o] Error 1
```


Thanks,

Ben Mahler

Reply via email to