libpthread版本在HP UX上不匹配

时间:2013-11-28 05:53:25

标签: multithreading pthreads hp-ux

我有多线程应用程序,它在我的开发服务器(HP-UX)上运行良好。当它部署到客户端服务器时,它会出现以下错误:

. Process 16448. Starting (CONT) Thread: 0    /usr/lib/pa20_64/dld.sl:
 Unsatisfied code ymbol 'pthread_create' in load module 'bin/CCQO'.
    Killed

我喜欢客户服务器上的libpthread.1没有带nm命令的pthread_create方法。这来自客户端服务器:

/usr/lib/pa20_64 > nm -g libpthread.1 | grep 'pthread_cre'

    [475]    |   4611686018427436512|    1116|FUNC |GLOB |0|.text|__pthread_create_system

但是当我在开发服务器上运行相同的命令时,我得到以下输出:

[733]    |   4611686018427467256|    2160|FUNC |GLOB |0| .text|__pthread_create_generic
[712]    |   4611686018427467192|      64|FUNC |GLOB |0| .text|__pthread_create_system
[625]    |   4611686018427467112|      64|FUNC |WEAK |0| .text|pthread_create 

我尝试将库从我的服务器复制到客户端服务器,但它不起作用。

请知道我现在可以在我的机器和客户端机器上使用线程库的版本吗?

如何使用更新的库更新客户端计算机?

可以将我的库复制到其他服务器,解决问题吗?如果是,那么步骤是什么。

1 个答案:

答案 0 :(得分:1)

  

我喜欢客户服务器上的libpthread.1没有使用nm命令的pthread_create方法。

您客户的libpthread.1已损坏。也许客户运行strip,或以其他方式骚扰客户。

  

可以将我的库复制到其他服务器,解决问题吗?

这可能会导致计算机无法启动,而且几乎可以肯定这样做。

正确的解决方案是让客户的系统管理员从HP-UX介质中恢复系统库。