How come we pass the linking stage and still miss symbols ?
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.
精彩评论