linux - GCC-4.4.2 libstdc++.so.6 库的符号错误

标签 linux

我正在为基于 x86 的系统构建 GCC-4.4.2(使用 bitbake 1.8 版打开嵌入式配方)。

配置选项如下:

"--enable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap"

经过一些小改动后它构建成功,并且正在创建 libstdc++.so.6.0.13 库。

我的目标是在基于 x86 的目标上运行 Citrix 接收器。为此,我按如下方式运行 storebrowse:

./usr/lib/ICAClient/storebrowse

但我收到以下错误。

./storebrowse: /usr/lib/libxml2.so.2: no version information available (required by ./storebrowse)
./storebrowse: relocation error: ./storebrowse: symbol _ZTISt15basic_streambufIwSt11char_traitsIwEE, version GLIBCXX_3.4 not defined in file libstdc++.so.6 with link time reference.

libxml2 错误可以通过删除并创建指向 libxml 的新符号链接(symbolic link)来解决。我无法解决符号错误 (_ZTISt15basic_streambufIwSt11char_traitsIwEE)。我正在使用默认的 gcc_4.4.2.bb 配方进行编译。

我需要对配置选项进行任何更改吗?

最佳答案

看起来您的可执行文件正在加载系统的(较旧的)libstdc++。要解决此问题,请使用 --enable-rpath 配置 GCC 或使用 -Wl,-rpath=/path/to/your/gcc/lib< 将 RPATH 显式添加到对 g++ 的调用中,或者像这样运行你的可执行文件:

LD_LIBRARY_PATH=/path/to/your/gcc/lib ./usr/lib/ICAClient/storebrowse

我按照个人喜好的顺序写了这三种可能的解决方案。 :)

此页面可能会引起一些兴趣:https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html

关于linux - GCC-4.4.2 libstdc++.so.6 库的符号错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26374880/

相关文章:

mysql - 如何导出数据库?我正在使用teraterm

linux - 无法解决 TypeError : '>' not supported between instances of 'NoneType' and 'int'

c - Linux 套接字终止监听线程

c - 从文件中删除一行,读取和重写是非常低效的……有人能想出更好的算法吗?

linux - bash 脚本中的除法

linux - 在 gnuplot 中定义 xrange 时如何使用变量?

python - python 解释器中 'enter' 键的替代方案?

linux - 如何将文件从通过 SSH 连接的计算机移动到 VPS?

linux - 错误 q : Command not found on Vim

linux - FreeIPA 无主机复制