glog安装报错make error relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5'
~/git/glog/build$ make -j4
[ 3%] Building CXX object CMakeFiles/glog_internal.dir/src/demangle.cc.o
[ 6%] Building CXX object CMakeFiles/glog_internal.dir/src/logging.cc.o
[ 10%] Building CXX object CMakeFiles/glog_internal.dir/src/raw_logging.cc.o
[ 13%] Building CXX object CMakeFiles/glog_internal.dir/src/signalhandler.cc.o
[ 16%] Building CXX object CMakeFiles/glog_internal.dir/src/symbolize.cc.o
[ 20%] Building CXX object CMakeFiles/glog_internal.dir/src/utilities.cc.o
[ 23%] Building CXX object CMakeFiles/glog_internal.dir/src/vlog_is_on.cc.o
[ 23%] Built target glog_internal
[ 26%] Generating CMakeFiles/glog.cc
[ 30%] Building CXX object CMakeFiles/logging_unittest.dir/src/logging_unittest.cc.o
[ 33%] Building CXX object CMakeFiles/stl_logging_unittest.dir/src/stl_logging_unittest.cc.o
[ 36%] Building CXX object CMakeFiles/symbolize_unittest.dir/src/symbolize_unittest.cc.o
[ 40%] Building CXX object CMakeFiles/glog.dir/CMakeFiles/glog.cc.o
[ 43%] Linking CXX shared library libglog.so
/usr/bin/ld: /usr/local/lib/libgflags.a(gflags.cc.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/glog.dir/build.make:116: libglog.so.0.7.0] Error 1
make[1]: *** [CMakeFiles/Makefile2:887: CMakeFiles/glog.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 46%] Linking CXX executable symbolize_unittest
[ 46%] Built target symbolize_unittest
[ 50%] Linking CXX executable stl_logging_unittest
[ 50%] Built target stl_logging_unittest
[ 53%] Linking CXX executable logging_unittest
[ 53%] Built target logging_unittest
make: *** [Makefile:166: all] Error 2
解决办法:
在安装编译gflag的时候在cmakelist中添加
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
然后重新编译安装gflag,然后再编译安装glog