如何在FreeBSD 8.1下build立snappy-java? (构build错误)

我正在尝试为FreeBSD 8.1构buildsnappy-java,以便与cassandra一起使用(不能在没有它的情况下启用列压缩)。

试图从源代码构build它,并得到一个错误:

  $ hg clone https://snappy-java.googlecode.com/hg/ snappy-java 
 $ cd snappy-java 
 $ export JAVA_HOME = / usr / local / openjdk6 && gmake 

该过程开始,但一段时间后,我得到以下错误:

  g ++ -I / usr / local / openjdk6 / include -Ilib / inc_mac -O2 -fPIC  -  
 fvisibility = hidden -Ilib / include -I“/ usr / local / openjdk6 / include / 
 freebsd“-Itarget / snappy-1.0.4 -o target / snappy-1.0.4-Default / 
 libsnappyjava.so target / snappy-1.0.4-Default / snappy-sinksource.o 
 target / snappy-1.0.4-Default / snappy-stubs-internal.o target / 
 snappy-1.0.4-Default / snappy.o target / snappy-1.0.4-Default / 
 SnappyNative.o -shared -static 
 / usr / bin / ld:/usr/lib/crtbeginT.o:重定位R_X86_64_32不能 
在制作共享对象时使用; 用-fPIC重新编译 
 /usr/lib/crtbeginT.o:无法读取符号:值不好 
 gmake:*** [target / snappy-1.0.4-Default / libsnappyjava.so]错误1 

所以-fPIC已经在…任何帮助表示赞赏。 谢谢

没有它,不能启用列压缩

这不完全正确。 如果没有Snappy库,DeflateCompressor仍然可用。 你需要还是喜欢Snappy? 如果是这样,我会将Snappy项目中的可下载.jar文件添加到您的类path中。 没有必要执行你自己的构build。

尝试从编译器标志中删除-static。 你正在build立一个共享库。