开发者

How come we pass the linking stage and still miss symbols ?

开发者 https://www.devze.com 2022-12-11 07:10 出处:网络
operating system: AIX 5.3. compiler: xlC_r build system is: \"Unix Makefiles\" our application uses several static (.a) libs and several shared (.so) libs.

operating system: AIX 5.3. compiler: xlC_r

build system is: "Unix Makefiles"

our application uses several static (.a) libs and several shared (.so) libs. the build process pass successfully (we do get some duplicate symbol warnings). but when we try to execute we are getting symbol missing errors.

Note: we are not using dl to load shared libs at runtime.

Are we missing someth开发者_运维问答ing ?

How come we pass the linking stage and still miss symbols ?


Dynamic symbols get checked on linking time, so if you're missing something on execution, then any of the dynamic libs or their dependencies may not be in the proper path.


The shared libs may depend on other sharedlibs that they can't find at runtime.

Make sure your environment is set up correctly so that dlopen() knows where to look for othere shared libs.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号