2010-08-12 54 views
0

我在編譯的應用程序:的libstdC++ so.6:不能處理TLS數據

  • gcc版本4.1.2 20061115(搶鮮)(Debian的4.1.1-21)
  • 的Debian的Linux 2.6。 18-5-686#1 SMP Fri Jun 1 00:47:00 UTC 2007 i686 GNU/Linux

它運行良好。

現在我想在運行它:

  • Linux的2.4.20_mvlcge31 - 托馬斯#7星期四5月7日11時33分21秒CEST 2009年的i686未知

我得到了以下錯誤:

的libstdC++ so.6:不能處理TLS數據

從我看到有人在網上提出要做到這一點:export LD_ASSUME_KERNEL=2.2.5

我試過,但得到更多的錯誤: LS:錯誤而載入共享庫:librt.so.1:無法打開共享對象文件:沒有這樣的文件或目錄

誰能幫我它?謝謝

回答

0

您已經針對更新的libc和內核版本編譯了應用程序,您無法使用最新的libc在2.6上編譯程序,並期望它可以在舊內核上運行。

另外你還在哪裏使用Linux 2.4?

+0

Artyom:謝謝你的回覆! 這是否意味着如果我想讓程序運行,它必須在舊的內核2.4上重新編譯,沒有任何其他可選的簡單選項? – 2010-08-12 07:28:19

+0

@Isaac李你可能需要得到舊的編譯器和舊的libstdC++/libc,並嘗試與他們編譯,但...我從未做過這樣的事情,所以我不確定它會工作,你需要多少努力放入它。我認爲安裝2.4 Linux發行版會簡單得多。在VM中並在那裏編譯。 – Artyom 2010-08-12 07:58:11

+0

謝謝,Artyom。 – 2010-08-13 01:44:50

相關問題