lib庫安裝小心得(libnetfilter_log的安裝)

    最近要寫一個iptables的nflog接收軟件,去網上找到了一個歷程,下載下來安裝後提示缺少libnetfilter_log庫。軟件作者提示可以去netfilter官網上查看此庫的說明。於是我便去官網上找到了這個庫的文檔和下載地址。在這不得不說的是,如果要進行基於linux某些模塊的開發工作,這些模塊的官網是必須要看的,上面可能有模塊的開發說明文檔,比如說這個libnetfilter_log模塊,官網上就有相關的函數說明,寫的非常清除。爲了安裝這個庫,我便從官網上下載了安裝文件準備安裝,而這也是悲劇的開始。
    下完安裝包後./configure, 結果報錯說找不到libnfnetlink,可是這個庫文件明明在lib下放着啊!百思不得其解。之後去網上查了查說是因爲dkg-config中沒有記錄庫的相關信息,就是缺少.pc文件,到lib/dkg_config下查看後發現還真是缺這個。但是我也沒法自己造出這個文件啊!看來唯一的辦法是讓configure繞過dkg-config了。幸好軟件的作者已經考慮到了這一點,可以通過設置兩個環境變量來繞過dkg-config。設置完變量後configure終於通了,但是make又遇到問題,這次是說缺少頭文件。於是又去網上查解決辦法,有網友說libnfnetlink的安裝包中有這個頭文件。於是我便去下載了libnfnetlink這個安裝包,並拷貝了頭文件。再次make,頭文件是找到了,但是又提示缺少一個什麼lo文件。(lo: 使用libtool編譯出的目標文件,其實就是在o文件中添加了一些信息)。到這我是徹底沒轍了,甚至開始考慮不用nflog。
    一段時間後,我無意間看到網上有一個軟件的說明中寫到用apt-get安裝lib。原來apt-get不只能安裝軟件啊!之後我便試着yum install libnetfilter-log,但是卻提示找不到包。到這我想大概是fedora沒這個包吧。但是細想了下覺得不應該啊,接着我又去網上搜索fedora  libnetfilter-log,在更新日誌中可以明顯看出fedora是有這個包。那是怎麼回事呢?這時我想到yum有個search功能,既然這樣我就去search看看fedora到底都有什麼關於 libnetfilter的包。這一search結果就多了,而其中就有libnetfilter_log包,原來之前之所以找不到是因爲我把“_”寫成了“-”,汗,就這一個小錯誤讓我白忙活了半天。同時還發現結果中還有名爲libnetfilter_log-devel的包,也就是用於開發的包,這些頭文件的問題也解決了。我便趕緊yum install安裝了libnetfilter_log庫,真實輕鬆加愉快啊!
    這次安裝這個庫文件的經驗就是,不到萬不得已一定不要自己編譯安裝庫或者程序包,你會被各種各樣的問題折騰死!只要是比較正規的項目組開發的包基本上都能通過yum安裝,直接yum即可。另外yum的時候如果提示找不到包,可以擴大關鍵字範圍然後使用yum search命令看看是不是自己把包名輸錯了,不要像我一樣。yum真的是一個神器,你自己make需要折騰半天才能裝上的包,yum一分鐘就搞定了,不得不說只要方法對了,效率提升的絕不是一點不點。
發佈了47 篇原創文章 · 獲贊 20 · 訪問量 108萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章