gpt4 book ai didi

linux - 链接到 TLS libpthread-2.3.4.so 库而不是系统 libpthread 库

转载 作者:太空宇宙 更新时间:2023-11-04 09:53:10 25 4
gpt4 key购买 nike

我正在使用/usr/include/nptl/pthread.h 中的 pthread_setaffinity_np 等函数。

但是链接器提示找不到“pthread_setaffinity_np”,据我所知,链接器正在错误的 pthread 库 (/usr/lib/libpthread.so) 中查找引用,其中不包括支持 CPU 亲和性。我在 RedHat 4 上。

我相信我必须链接到包含此功能的/lib/tls/libpthread-2.3.4.so。但是,链接到 libpthread-2.3.4.so 会导致其他链接器错误。

在 RedHat 4 上链接到 libpthread-2.3.4.so 的正确方法是什么?

提前致谢

保罗

最佳答案

as far as I understand, the linker is looking for the reference in the wrong pthread library

您的理解不正确

/usr/lib/libpthread.so 是一个链接描述文件,它将您的程序与 libpthread.so.0libpthread_nonshared.alibpthread.so.0 是(应该是)符号链接(symbolic link),很可能是 libpthread-2.3.4.so

您的系统上可能安装了多个版本的libpthread-2.3.4.so:一个在/lib/i686,一个在/lib/tls,也许还有 /lib 中的一个。在运行时使用哪一个取决于您的硬件和内核。

以下命令打印什么?

find /lib -name 'libpthread.so.0' | xargs nm -A | grep pthread_setaffinity_np

ldd /usr/bin/date

关于linux - 链接到 TLS libpthread-2.3.4.so 库而不是系统 libpthread 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8699122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com