2013-04-16 73 views
0

我試圖在集羣的節點上安裝gcc-4.6.2。不幸的是,這個節點沒有互聯網連接,所以我嘗試手動做所有事情。 我已經安裝了所有必需的包和我已經運行具有以下參數配置文件:GCC 4.6.2錯誤:'psignal'的衝突類型

./configure --with-newlib --prefix=/usr/lib64/gcc-4.6.2 --disable-libssp 
--enable-shared --enable-threads=posix --enable-__cxa_atexit 
--enable-clocale=gnu --enable-languages=c,c++,java 
--with-cpu=generic --build=x86_64-redhat-linux    
--host=x86_64-redhat-linux --target=x86_64-redhat-linux 
--with-target-subdir=x86_64-redhat-linux --with-mpfr=/usr/local/lib 
--with-gmp=/usr/local/lib --with-mpc=/usr/local/lib 

然而,當我讓我得到了以下錯誤:

../.././libiberty/strsignal.c:555: error: conflicting types for ‘psignal’ 
/usr/include/signal.h:141: error: previous declaration of ‘psignal’ was here 
莫非

別人的幫助我?

回答

0

我看到你的配置調用三個潛在的問題:

  • 你指定--build--host,並--target,但他們都是一樣的。儘管實際上並沒有從中獲得交叉編譯器,但這使得構建「使我成爲交叉編譯器」模式成爲可能。這是一個不正常的事情,可能無法正常工作。嘗試刪除所有這三個選項。如果您正在構建的節點是而不是x86_64-redhat-linux並且您確實希望對該目標進行交叉編譯,請指定--target僅限於

  • 您已經指定--with-newlib,但是您的--target選擇是x86_64-redhat-linux。最後我聽說,newlib不支持這個操作系統 - 這是一個嵌入式工作的最小C庫。嘗試解決這個問題。

  • 沒有--with-target-subdir選項。這本身無害 - 配置忽略無法識別的--with--enable選項 - 但我不知道意味着什麼要做。你從某處複製了這個配置調用嗎?

進一步的建議,請http://gcc.gnu.org/install/configure.html

(你真的有Java編譯器使用一個?如果不是,禁用它和你的構建將大約快四倍。)

+0

我再次與這個'運行./configure --enable-共享--enable-threads = posix --enable -__ cxa_atexit --enable-clocale = gnu --enable-languages = c,C++,java --with-cpu = generic --with-mpfr =/usr/local/lib - -with-gmp =/usr/local/lib --with-mpc =/usr/local/lib',但是在'/usr/lib64/gcc-4.6.2/x86_64- unknown-linux-gnu/libgcc':configure:error:無法計算目標文件的後綴:無法編譯。 ' – desmo

+0

這表明你的引導編譯器有問題。是否已經安裝了編譯器?它適用於簡單的測試程序嗎?我可能會更具體,如果你在'config.log'的內容發佈(不在這裏,請,這將是巨大的,把它放在一個pastebin或類似的東西,並張貼鏈接) – zwol

+0

我有一個2以前版本的gcc 3.4.6和gcc 4.1.2。 – desmo