2012-05-09 26 views
21

Valgrind的最新版本不喜歡的glibc 2.15:的valgrind不接受的glibc

checking the GLIBC_VERSION version... unsupported version 2.15 
configure: error: Valgrind requires glibc version 2.2 - 2.14 

我該如何面對呢?我必須降級glibc嗎?如果這是相關的信息,我正在使用Ubuntu 12.04。

更新:

所以我嘗試下載源,並從那裏,而不是使用apt-get的,因爲我要通過學習C堅硬方式安裝。在我遇到這個問題後,我使用apt-get來查看它是否可行。它安裝了這個包我:

libc6-dbg - Embedded GNU C Library: detached debugging symbols 

回答

9

How can I deal with this?

一兩種方法:

  1. 使用您的發行和下載他們已經建立了您的包,或
  2. 弄清楚問題(configure2.15被添加到configure.in之後沒有被重新生成)並修復它。

do I have to downgrade glibc?

這可能會導致系統未啓動(因爲大多數其他二進制文件依賴於2.15)。

18

我正在閱讀這本書,並遇到了這個問題。我google了一下,最後在這裏結束了這裏的僱主俄羅斯的建議,我去了,並使用配置文件玩,並得到它的工作。

進入您的配置約6404行,然後粘貼在:

  2.15) 
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.15 family" >&5 
$as_echo "2.15 family" >&6; } 

$as_echo "#define GLIBC_2_14 1" >>confdefs.h 

DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" 
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" 
DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" 
;; 

然後我跑configuremake然後sudo make install和它的所有工作。

在configure.in文件中,我還添加了777左右的代碼,但是我不認爲這對最終結果很重要,如果是這樣,雖然我基本上只複製了前面引用2.14的東西,粘貼並全部更改爲2.15

希望這有助於

+1

非常感謝。我能夠安裝並執行make和install命令。現在認爲valgrind對使用「安裝glibc的debuginfo」的抱怨,valgrind本身似乎已經安裝。非常感謝。 – Ayusman

3

裝修一新的的valgrind-3.8.1(這應該在任何準當前的Linux機器的工作 - Slackware的14.0測試):

增加了 「2.17」 選項(約在「2.16」&「valgrind-3.8.1/configure」中的「darwin」的開頭之間的第6607行) ILE。

工作就像一個魅力!謝謝你們的幫助!

乾杯!

--at

10

更新的valgrind 3.9.0和glibc 2。19:

我有同樣的問題,並將其加入到配置腳本,與darwin)前行,固定它:

 2.19) 
    { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.19 family" >&5 
$as_echo "2.19 family" >&6; } 

$as_echo "#define GLIBC_2_19 1" >>confdefs.h 

    DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" 
    DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" 
    DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" 
    ;; 

測試上的Kubuntu 14.04

+0

切記行號更改爲'6551'。所以不要將它複製到'6404'(對於那些害怕編輯配置文件的人)。 – kAmol

1

看來,無論何時一個新版本發佈終端要求不同版本的Glibc。因此,如果終端給出了這樣一個錯誤:

checking the GLIBC_VERSION version... unsupported version 2.19 
configure: error: Valgrind requires glibc version 2.2 - 2.14 

然後,你將需要編輯2.19版本的配置文件,因爲在端子短報道的版本是不受支持。

所以,找到並打開名爲配置Valgrind的目錄,並通過CTRL + F在文件中找到文件中下面的代碼段:

case "${GLIBC_VERSION}" in 2.2)

當你在編輯器中該行的代碼(總是行號可能會因發佈新版本而改變),您會發現下面的代碼以2.2)開頭。

 2.2) 
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.15 family" >&5 
$as_echo "2.15 family" >&6; } 

$as_echo "#define GLIBC_2_14 1" >>confdefs.h 

DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" 
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" 
DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" 
;; 

如果你趴下應該有每個版本從2.22.21以上相同的代碼。複製任何版本的代碼並在最後一個版本之後過去它,但請注意,上述代碼僅適用於2.2版本,該版本以2.2)開頭,因此您需要將所有2.2)的版本更改爲所需的終端版本我的情況是2.19)

因此,如果版本2.19由終端需要你將被添加的代碼如下:

 2.19) 
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.19 family" >&5 
$as_echo "2.19 family" >&6; } 

$as_echo "#define GLIBC_2_19 1" >>confdefs.h 

DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" 
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" 
DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" 
;; 

而下面的代碼,如果再往文件應該有darwin)放在後面的行。

+0

它爲我工作。非常感謝。 –

+0

這是我的錯誤:檢查GLIBC_VERSION版本...不支持的版本2.21 配置:錯誤:Valgrind需要glibc版本2.2 - 2.19 然後,我按照你的指示,像魅力一樣工作。 –