共享对象过滤器导致 Solaris 10 上的应用程序崩溃

发布于 2024-11-02 13:34:29 字数 1699 浏览 9 评论 0原文

我已经在使用 Qt 4.7.2 的 Solaris 10 上编译了我的应用程序。 可执行文件的 ldd 显示如下:

libQtScript.so.4 =>     
libclucene.so.0 =>       (file not found)
libX11.so.4 =>   /usr/lib/libX11.so.4
libQtWebKit.so.4 =>   
libQtXml.so.4 =>    
libQtGui.so.4 =>
libQtNetwork.so.4 =>     
libresolv.so.2 =>        /lib/libresolv.so.2
libsocket.so.1 =>        /lib/libsocket.so.1
libxnet.so.1 =>  /lib/libxnet.so.1
libnsl.so.1 =>   /lib/libnsl.so.1
libQtCore.so.4 =>        
libpthread.so.1 =>       /lib/libpthread.so.1
librt.so.1 =>    /lib/librt.so.1
libCstd.so.1 =>  /usr/lib/libCstd.so.1
libCrun.so.1 =>  /usr/lib/libCrun.so.1
libm.so.2 =>     /lib/libm.so.2
libthread.so.1 =>        /lib/libthread.so.1
libc.so.1 =>     /lib/libc.so.1
libXext.so.0 =>  /usr/openwin/lib/libXext.so.0
libXrender.so.1 =>       /usr/sfw/lib/libXrender.so.1
libfreetype.so.6 =>      /usr/sfw/lib/libfreetype.so.6
libSM.so.6 =>    /usr/lib/libSM.so.6
libICE.so.6 =>   /usr/lib/libICE.so.6
libmp.so.2 =>    /lib/libmp.so.2
libmd.so.1 =>    /lib/libmd.so.1
libscf.so.1 =>   /lib/libscf.so.1
libdl.so.1 =>    /lib/libdl.so.1
libaio.so.1 =>   /lib/libaio.so.1
libz.so.1 =>     /usr/lib/libz.so.1
libdoor.so.1 =>  /lib/libdoor.so.1
libuutil.so.1 =>         /lib/libuutil.so.1
libgen.so.1 =>   /lib/libgen.so.1
/usr/lib/cpu/sparcv8plus/libCstd_isa.so.1
/platform/SUNW,Sun-Fire-V490/lib/libc_psr.so.1
/platform/SUNW,Sun-Fire-V490/lib/libmd_psr.so.1

我的应用程序正在崩溃,并且 dbx 显示 libc_psr.so.1 的 _memcpy 是问题所在。 我开始了解辅助过滤器的概念,这导致从 libc_psr.so.1 而不是 libc.so.1 选择 memcpy 的定义 有什么方法可以停止此过滤,以便可以从 libc 而不是 libc_psr 或任何其他解决方法中获取 memcpy 的定义?

I have compiled my application on Solaris 10 which is using Qt 4.7.2.
ldd of executable shows following:

libQtScript.so.4 =>     
libclucene.so.0 =>       (file not found)
libX11.so.4 =>   /usr/lib/libX11.so.4
libQtWebKit.so.4 =>   
libQtXml.so.4 =>    
libQtGui.so.4 =>
libQtNetwork.so.4 =>     
libresolv.so.2 =>        /lib/libresolv.so.2
libsocket.so.1 =>        /lib/libsocket.so.1
libxnet.so.1 =>  /lib/libxnet.so.1
libnsl.so.1 =>   /lib/libnsl.so.1
libQtCore.so.4 =>        
libpthread.so.1 =>       /lib/libpthread.so.1
librt.so.1 =>    /lib/librt.so.1
libCstd.so.1 =>  /usr/lib/libCstd.so.1
libCrun.so.1 =>  /usr/lib/libCrun.so.1
libm.so.2 =>     /lib/libm.so.2
libthread.so.1 =>        /lib/libthread.so.1
libc.so.1 =>     /lib/libc.so.1
libXext.so.0 =>  /usr/openwin/lib/libXext.so.0
libXrender.so.1 =>       /usr/sfw/lib/libXrender.so.1
libfreetype.so.6 =>      /usr/sfw/lib/libfreetype.so.6
libSM.so.6 =>    /usr/lib/libSM.so.6
libICE.so.6 =>   /usr/lib/libICE.so.6
libmp.so.2 =>    /lib/libmp.so.2
libmd.so.1 =>    /lib/libmd.so.1
libscf.so.1 =>   /lib/libscf.so.1
libdl.so.1 =>    /lib/libdl.so.1
libaio.so.1 =>   /lib/libaio.so.1
libz.so.1 =>     /usr/lib/libz.so.1
libdoor.so.1 =>  /lib/libdoor.so.1
libuutil.so.1 =>         /lib/libuutil.so.1
libgen.so.1 =>   /lib/libgen.so.1
/usr/lib/cpu/sparcv8plus/libCstd_isa.so.1
/platform/SUNW,Sun-Fire-V490/lib/libc_psr.so.1
/platform/SUNW,Sun-Fire-V490/lib/libmd_psr.so.1

My application is crashing and dbx shows that _memcpy of libc_psr.so.1 is the problem.
I came to know about concept of auxiliary filters which is causing to pick definition of memcpy from libc_psr.so.1 instead of libc.so.1
Is there any way to stop this filtering so that definition of memcpy could be picked up from libc instead of libc_psr oa any other workaround ??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

第七度阳光i 2024-11-09 13:34:29

尝试导出

LD_NOAUXFLTR=1

阅读此内容

Try exporting

LD_NOAUXFLTR=1

Read this

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文