2010-08-12 25 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

相关问题