2014-03-27 70 views
0

我試圖在wireshark上安裝補丁,並且wireshark的編譯需要libtool庫。然而,從ftp://ftp.gnu.org/pub/gnu/libtool/安裝的libtool後,命令./autogen.sh吐出了這個錯誤:安裝libtool

error: /Library/Developer/CommandLineTools/usr/bin/libtool: unknown option character `-' in: --version 
Usage: /Library/Developer/CommandLineTools/usr/bin/libtool -static [-] file [...] [-filelist listfile[,dirname]] [-arch_only arch] [-sacLT] 
Usage: /Library/Developer/CommandLineTools/usr/bin/libtool -dynamic [-] file [...] [-filelist listfile[,dirname]] [-arch_only arch] [-o output] [-install_name name] [-compatibility_version #] [-current_version #] [-seg1addr 0x#] [-segs_read_only_addr 0x#] [-segs_read_write_addr 0x#] [-seg_addr_table <filename>] [-seg_addr_table_filename <file_system_path>] [-all_load] [-noall_load] 

,然後指示我下載的libtool。

錯誤的含義是什麼,我需要做些什麼來解決它?

+0

除非修補程序涉及autotools文件,否則不需要運行autogen.sh,也不需要安裝libtool。 – DanielKO

回答

1

What does the error mean

這意味着:

  • NeXTSTEP的有一個名爲創建GNU的libtool很久以前 「的libtool」 計劃;作爲NeXTSTEP的後代,OS X也有這樣的工具;
  • 早期版本的OS X還提供了GNU libtool;
  • 這導致名稱衝突,OS X通過將GNU libtool重命名爲「glibtool」來解決這個問題;
  • 如果您在提供GNU libtool的OS X版本上運行,您沒有意識到它,並且自己安裝它;
  • 如果您沒有運行提供GNU libtool的OS X版本,您自己安裝它;
  • 安裝的版本與OS X libtool具有相同的名稱,所以存在名稱衝突。

要麼你或其他人,似乎已經編輯了autogen.sh的腳本直接運行/Library/Developer/CommandLineTools/usr/bin/libtool或做一些其他的變化,以使其運行該腳本;這是錯誤的事情,因爲這是OS X的libtool,這絕對是最好的不是 Wireshark希望的libtool。

what do I need to do to fix it?

  1. 撤銷一切做的目的是使autogen.sh,使其運行/Library/Developer/CommandLineTools/usr/bin/libtool;
  2. 更名不管你安裝的libtool(可能/usr/local/bin/libtool)到glibtool,並在同一目錄重命名libtoolizeglibtoolize,所以它看起來就像GNU libtool的是OS X用於提供,因而版本,以便Wireshark的企圖使用GNU libtool工程。