Java

如何在 FreeBSD 8.1 下建構 snappy-java?(建構錯誤)

  • February 21, 2012

我正在嘗試為 FreeBSD 8.1 建構 snappy-java 以將其與 cassandra 一起使用(沒有它就無法啟用列壓縮)。

嘗試從原始碼建構它並收到錯誤:

$ hg 複製 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 目標/snappy-1.0.4-Default/snappy-sinksource.o
目標/snappy-1.0.4-預設/snappy-stubs-internal.o 目標/
snappy-1.0.4-Default/snappy.o 目標/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 已經打開了……感謝任何幫助。謝謝

沒有它就無法啟用列壓縮

這並不完全正確。DeflateCompressor 在沒有 Snappy 庫的情況下仍然可用。您需要還是更喜歡 Snappy?如果是這樣,我會將Snappy 項目中的可下載 .jar 添加到您的類路徑中。無需執行您自己的建構。

嘗試從編譯器標誌中刪除 -static。您正在建構一個共享庫。

引用自:https://serverfault.com/questions/361659