2014-02-06 38 views
1

我試圖在碼頭集裝箱內編譯下面的程序。碼頭無法編譯程序(可能未被忽略的宏AC_MSG_ERROR)

https://github.com/adaptivecomputing/torque

當試圖運行autoconf我給出一個錯誤「可能未定義的宏:AC_MSG_ERROR」

谷歌有幾十個結果這一確切的錯誤。他們大多數通過安裝pkg-config或libtool-ltdl來解決。

正如您從docker文件中看到的,這兩個軟件包都已安裝。

FROM centos 

RUN yum install -y autoconf make autogen gcc gcc-c++ openssl-devel git libxml2-devel libtool libtool-ltdl 
RUN git clone git://github.com/adaptivecomputing/torque.git -b 4.2.6.1 /tmp/pbs_server 
RUN cd /tmp/pbs_server 
RUN autoconf 
RUN ./configure --with-debug 
RUN make -j4 
RUN make install 

這裏是運行docker build .

Step 4 : RUN autoconf 
configure.ac:50: error: possibly undefined macro: AC_MSG_ERROR 
     If this token and others are legitimate, please use m4_pattern_allow. 
     See the Autoconf documentation. 
configure.ac:54: error: possibly undefined macro: AM_INIT_AUTOMAKE 
configure.ac:57: error: possibly undefined macro: AM_PROG_CC_C_O 
configure.ac:63: error: possibly undefined macro: AM_MAINTAINER_MODE 
configure.ac:82: error: possibly undefined macro: AM_CONFIG_HEADER 
configure.ac:144: error: possibly undefined macro: AM_CONDITIONAL 
configure.ac:644: error: possibly undefined macro: AC_PROG_LIBTOOL 
configure.ac:651: error: possibly undefined macro: AM_PROG_LEX 
configure.ac:2053: error: possibly undefined macro: AC_DECL_H_ERRNO 
configure.ac:2056: error: possibly undefined macro: AC_DECL_FD_SET_SYS_SELECT_H 
configure.ac:2138: error: possibly undefined macro: AC_C_BIGENDIAN_CROSS 
configure.ac:2204: error: possibly undefined macro: AC_CREATE_GENERIC_CONFIG 

時,我有沒有問題,編譯泊塢窗之外和普通的服務器裏面這個程序,我得到的錯誤。我懷疑有一個圖書館或缺少的東西。

任何人都可以解釋爲什麼我得到這個錯誤,或更好的是,如何解決它?

回答

1

您需要安裝autoconf,automake和libtool。可能還有pkgconfig。之後,運行autogen.sh腳本。自動工具腳本現在應該就位,您可以配置該軟件包。

1

正如@BrettHale所說,您需要安裝automake(我沒有在yum install行中看到),因爲扭矩肯定會使用它。而這個:

RUN autoconf 

大概應該是:

RUN ./autogen.sh 

它會調用autoconf,以及其他的東西。我仍然不明白你爲什麼似乎立即死亡。 AC_MSG_ERROR等是autoconf的基本宏的一部分。幾乎像那些宏在docker中是不可讀的...