• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 562
  • Last Modified:

AIX shared libraries

I'm using a RS/6000 machine running AIX 4.1. I need to create shared object files (.so files). I am able to compile my C program using cc into a .so file but whenever I try to load the .so file I get the following message:

dlopen():path component not found (errno ERNOENT)

Anyone able to guide me as to how to overcome this problem? It's rather urgent. My project depends on it.
0
thleong
Asked:
thleong
  • 2
1 Solution
 
ahoffmannCommented:
Is the errno returned by dlopen()  ENOENT?
Then you probably misstyped the pathname of your library.
Or, if you just used the library's filename, forgot to set your
LD_LIBRARY_PATH environment variable appropriate.
0
 
thleongAuthor Commented:
Where should the LD_LIBRARY_PATH point to? Is it possible that some component may be missing from my machine that causes the problem? If so, what could the component possibly be and is there any way for me to get it?
0
 
ahoffmannCommented:
LD_LIBRARY_PATH should point to the directories containing the
shared libraries used for your program. It's usage may depend on
some linker options (sorry, I don't have the AIX man-pages handy)
Straight forward, use the absolute pathname of your library in
the dlopen() call.

> Is it possible that some component may be missing from ...
i.g.: no. Your program then wouldn't start complaining about
missing shared libraries. But again, this depends on linker
options (somthing known as: DEFERED, IMMEDIATE, NONFATAL binding)
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now