推荐: blog.csdn.net/aquester https://github.com/eyjian https://www.cnblogs.com/aquester http://blog.chinaunix.net/uid/20682147.html
全部博文(594)
分类: LINUX
2015-04-14 18:04:24
Aquester2018-08-02 16:20:10
Aquester:thrift-0.9.3编译和0.9.0稍不同,标准方式指定openssl:
./configure --prefix=/usr/local/thrift-0.9.3 CPPFLAGS=\"-fPIC\" LDFLAGS=\"-fPIC\" --with-libevent=/usr/local/libevent --with-boost=/usr/local/boost --with-openssl=/usr/local/openssl --enable-tutorial=no --enable-tests=no --enable-coverage=no --with-cpp=yes --with-java=yes --with-php=yes --with-ruby=no --with-python=no --with-erlang=no --with-csharp=no --with-qt4=no --with-qt5=no --with-c_glib=no --with-perl=no --with-haskell=no
如果不以标准方式,则报错:
configure: error: \"Error: libcrypto required.\"
Aquester2017-08-17 16:01:44
thrift-0.9.3编译和0.9.0稍不同,标准方式指定openssl:
./configure --prefix=/usr/local/thrift-0.9.3 CPPFLAGS=\"-fPIC\" LDFLAGS=\"-fPIC\" --with-libevent=/usr/local/libevent --with-boost=/usr/local/boost --with-openssl=/usr/local/openssl --enable-tutorial=no --enable-tests=no --enable-coverage=no --with-cpp=yes --with-java=yes --with-php=yes --with-ruby=no --with-python=no --with-erlang=no --with-csharp=no --with-qt4=no --with-qt5=no --with-c_glib=no --with-perl=no --with-haskell=no
Aquester2017-08-17 13:29:40
./configure --prefix=/usr/local/thirdparty/thrift-0.9.3 --with-libevent=/usr/local/thirdparty/libevent --with-boost=/usr/local/thirdparty/boost CXXFLAGS=\"-I/usr/local/thirdparty/openssl/include\" LDFLAGS=\"-L/usr/local/thirdparty/openssl/lib\" --enable-tutorial=no --enable-tests=no --enable-coverage=no --with-cpp=yes --with-java=yes --with-php=yes --with-ruby=no --with-python=no --with-erlang=no --with-csharp=no --with-qt4=no --with-qt5=no --with-c_glib=no --with-perl=no --w
Aquester2017-08-17 11:42:28
./configure --prefix=/usr/local/thrift-0.9.0 --with-libevent=/usr/local/libevent --with-boost=/usr/local/boost CXXFLAGS=\"-I/usr/local/openssl/include\" LDFLAGS=\"-L/usr/local/openssl/lib\" --with-ruby=no --with-python=no --with-erlang=no --with-csharp=no --with-qt4=no --with-c_glib=no --with-perl=no --with-haskell=no --with-d=no --with-go=no
Aquester2017-02-08 14:32:07
Aquester:64位机器上编译,遇到如下链接错误,依赖的thrift为thrift-0.9.0:
/bin/ld: /usr/local/thrift/lib/libthrift.a(Thrift.o): relocation R_X86_64_32S against `_ZNSs4_Rep20_S_empty_rep_storageE\' can not be used when making a shared object; recompile with -fPIC
/usr/local/thrift/lib/libthrift.a: could not read symbols: 错误的值
解决办法:设置CXXFLAGS,加上-fPIC,重编译thrift,但注意不能是CPPFLAGS,如下所示
./configure --prefix=/usr/local/thrift-0.9.0 --with-boost=/usr/local/boost --with-libevent=/us
如下所示的链接错误,可采取同样的方法重编译protobuf,依赖的protobuf为protobuf-2.6.1
/bin/ld: /usr/local/protobuf/lib/libprotobuf.a(common.o): relocation R_X86_64_32S against `_ZTVN6google8protobuf7ClosureE\' can not be used when making a shared object; recompile with -fPIC
/usr/local/protobuf/lib/libprotobuf.a: could not read symbols: 错误的值
重编译protobuf:
./configure --prefix=/usr/local/protobuf-2.6.1 --with-zlib CXXFLAGS=\"-fPIC\"
注意configure后要做下make cle