php扩展和pb 编译的时候问题

/usr/bin/ld: /usr/local/lib/libprotobuf.a(common.o): relocation R_X86_64_32S against `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage@@GLIBCXX_3.4' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libprotobuf.a: could not read symbols: Bad value

collect2: ld returned 1 exit status


这个提示是说,pb编译的时候没有带 -fPIC。那么重新编译的时候应该这样:

./configure --prefix=/data/web_install/protobuf-2.4.1 CFLAGS=-fPIC CXXFLAGS=-fPIC --with-pic=PIC



重新再编译,ok了



php扩展编译的时候,其实是一个动态扩展调用静态的pb库问题。

你可能感兴趣的:(php扩展和pb 编译的时候问题)