2015-10-07 59 views
0

我使用jnetpcap V1.3在我的Java項目和文件,所以它使用了本地調用,對libpcap0.9但我libpcap的依賴版本爲0.8,並且無法在apt存儲庫中找到此庫。無法在java中加載jnetpcap.so文件在Debian喘息

那麼我該如何在debian wheezy上安裝libpcap0.9來解決這個依賴性問題呢?

p.s .:使用命令'ld libjnetpcap.so'我找到了錯誤的依賴鏈接。

回答

0

所謂文件,它使用的本地調用,對libpcap0.9依賴

Debian不會一個libpcap0.9:

https://packages.debian.org/search?keywords=libpcap&searchon=names&suite=stable&section=all

https://packages.debian.org/search?keywords=libpcap0.9&searchon=names&suite=stable&section=all

似乎可能有一個libpcap0.9在一個點,但是they got rid of it because it had no reason to exist。正如該報告所述,「libpcap0.9源代碼包已不再需要,事實證明,libpcap的0.9版本是API和ABI兼容libpcap0.8」。

他們可能會只將名稱更改爲如果API或不兼容的方式改變ABI比「libpcap0.8」其他的東西,我也沒有不斷打算讓公佈的libpcap API或ABI的變化以與使用早期版本的libpcap構建的程序相兼容的方式(請注意pcap_t結構的佈局是而不是發佈的API或ABI的一部分......)。因此,只要我是libpcap核心開發人員,版本1.N + 1的libpcap將API和ABI與版本1.N兼容,雖然它可能具有新功能 - 任何使用1.N構建的程序都可以使用1.N + 1,雖然使用1.N + 1構建的程序,如果他們使用任何這些新功能,將不能與1.N(這是軟件的工作方式)一起使用。

看着從SVN倉庫jnetpcap來源,releases/jnetpcap-1.3/release-1.3.0-1/src/deb/jnetpcap-1.control文件說:

Depends: libpcap-dev (>= 0.8) 

和0.8肯定是> = 0.8,因爲它是=(或者,如果你正在寫的C代碼,= =)0.8。

舊jnetpcap發佈了

Depends: libpcap0.8 (>= 0.9) 

但即使不應該產生的「libpcap0.9」的依賴,它應該產生於libpcap0.8的依賴,其版本號> = 0.9 。

wheezy has libpcap0.8 with a version number of 1.3.0-1和1.3.0-1是> = 0.9,因此喘息不應該依賴於「libpcap0.8(> = 0.9)」的包,除非1)取決於:行並不意味着我期望它的意思,或者2)依賴性檢查被打破,並且它沒有意識到libpcap 1.3.0肯定晚於libpcap 0.9。