2015-11-12 62 views
0

我想在CentOS 6.x上安裝ejabberd,當我運行「make」命令時,它給了我以下錯誤。ejabberd'make'通過「無法運行編譯的C程序」

ejabberd]# make 
rm -rf deps/.got 
rm -rf deps/.built 
/usr/lib/erlang/bin/escript rebar get-deps && :> deps/.got 
==> goldrush (get-deps) 
==> lager (get-deps) 
==> p1_utils (get-deps) 
==> p1_cache_tab (get-deps) 
==> p1_tls (get-deps) 
==> p1_stringprep (get-deps) 
==> p1_xml (get-deps) 
==> p1_stun (get-deps) 
==> esip (get-deps) 
==> p1_yaml (get-deps) 
==> jiffy (get-deps) 
==> oauth2 (get-deps) 
==> xmlrpc (get-deps) 
==> p1_zlib (get-deps) 
==> p1_iconv (get-deps) 
==> rel (get-deps) 
==> ejabberd (get-deps) 
checking for gcc... cc 
checking whether the C compiler works... yes 
checking for C compiler default output file name... a.out 
checking for suffix of executables... 
checking whether we are cross compiling... configure: error: in `/root/ejabberd/deps/p1_tls': 
configure: error: cannot run C compiled programs. 
If you meant to cross compile, use `--host'. 
See `config.log' for more details 
ERROR: Command ['get-deps'] failed! 
make: *** [deps/.got] Error 1 

你能幫我解決這個問題嗎?我已經安裝了Erlang-17.5和所有需要的「開發工具」。謝謝。

+0

它說'看到config.log的更多細節',是不是config.log顯示沒有用?您可以嘗試'yum groupinstall「開發工具」-y'來確保您擁有所有正確的軟件包,然後重試。儘管運行「make」不是root,但是你可以以root身份運行「make install」。 – Michael

+0

我的猜測是你沒有安裝真正的C編譯器,而只是一些默認的編譯不了真正的程序。安裝gcc,然後重新配置。 –

+0

@Michael - 你喜歡看我的config.log文件嗎?我安裝了所有的「開發工具」,如你所說,但它沒有爲我鍛鍊。 –

回答

0

當你收到此錯誤,請確保安裝

# yum install glibc-headers 

這將解決您的錯誤。

0

一個可行的GCC:# yum install gcc-c++

即C++編譯器的安裝也將安裝使gcc完全可用的依賴關係:glibc-devel,glibc-headers,kernel-headers。

+0

我分別安裝glibc標題。它適用於我。所以這意味着「#yum install gcc-C++」不會安裝依賴關係。順便謝謝你。從你的帖子我得到的解決方案。 –