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

时间:2014-10-15 05:08:35

标签: 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.

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

我是否需要在配置选项中进行任何更改..?

1 个答案:

答案 0 :(得分:1)

看起来您的可执行文件正在加载系统(较旧的)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