Sponsored Content
Full Discussion: dlopen failed!
Top Forums Programming dlopen failed! Post 87724 by virmin on Thursday 27th of October 2005 05:53:28 AM
Old 10-27-2005
dlopen failed!

I can open my so file successfully by calling dlopen directly in my main function. But if I fork a child process, and call dlopen in child process, it failed!
I don't know why. Following is my code:
#include <stdio.h>
#include <errno.h>
#include <dlfcn.h>
void childFunc(void)
{
void *handle;

handle = dlopen("mytrd.so", RTLD_LAZY);
if( handle == NULL )
{
printf("errno[%d], errmsg[%s]\n", errno, dlerror());
return;
}
dlclose(handle);
}

void main(void)
{
int ret;
/* childFunc(); call directly, dlopen will success.*/

ret = fork();
if( ret == 0 )
{
childFunc(); /* dlopen will fail */
return;
}
else if( ret == -1 )
{
perror("fork");
retrun;
}
else
{
waitpid(ret);
}
}

Can anyone tell me why this happened? Is that a bug of Aix5.2 or there is anything wrong with my so file??The errmsg is "Bad address", the errno is 14.
 

10 More Discussions You Might Find Interesting

1. Solaris

dlopen issue with a dll

HI All, I am trying to use a dll using dlopen but in vain. When I try to ldd that dll it returns no output. Can anybody please tell me how I can load this dll in my process space. PS: ldd -l returns a lot of unsatisfied dependent symbols. Thanks a lot in advance Codeman (0 Replies)
Discussion started by: codeman
0 Replies

2. Programming

default location of libs in dlopen

Hi Where is the default location of libs to search, when we specify any lib in dlopen function. And if we want to specify a custom location, how will we do it? thanks. (1 Reply)
Discussion started by: sumsin
1 Replies

3. Programming

compile error while using dlopen

Hi unix lovers, I am getting error while compile a function which uses dlopen. My code is I am getting error as follows Am I missing something? I think I am missing a lot :-) I am using solaris. Thanks in advance, -Ashish (5 Replies)
Discussion started by: shriashishpatil
5 Replies

4. Programming

resolve_symbols: loader error: dlopen:

when i try to run an executable i got the following error message: resolve_symbols: loader error: dlopen: what does this error mean and what should be done to avoid this? with regards (1 Reply)
Discussion started by: gfhgfnhhn
1 Replies

5. Programming

dlopen help

//foo.c #include<stdio.h> int pen(int a) { printf("%d",a); } $cc -c foo.c $ls -shared -o libfoo.so foo.o ///////////now libfoo.so formed //i have already designed libfoo.so //main.c #include<stdio.h> #include <dlfcn.h> int main() { (2 Replies)
Discussion started by: lookforlohith
2 Replies

6. Solaris

dlopen() on dolaris

Dear experts, please help #include <stdio.h> #include <dlfcn.h> #include <link.h> #include <iostream.h> #include<stdlib.h> #include<errno.h> void main() { printf("\n in the main\n"); void *handle; handle = dlopen("my.so", RTLD_LAZY); if( handle ==... (2 Replies)
Discussion started by: vin_pll
2 Replies

7. Programming

Dynamic library load with dlopen

Hi, I created two library libsum.so and libproduct.so. In the libproduct.so is defined function "product" that use function "sum" defined in libsum.so. So libproduct depends on libsum. In main function I called product function by a dlopen request. Unfortunaly, when I execute program I have an... (5 Replies)
Discussion started by: shade82
5 Replies

8. Programming

Linux: dlopen fails to find symbols

I've attached a tar.gz containing three tests to demonstrate the problem I'm having. Within the tar are two shared libraries, two test applications, and a Makefile that builds the three tests. The shared libaries are libshlib1.so and libshlib2.so. Both export a function, libFunc, which takes... (5 Replies)
Discussion started by: DreamWarrior
5 Replies

9. AIX

Coredump in _Init when used dlopen() on AIX 6.1

Hello, One of our Customer is getting Coredump when our application is trying to load a library(one of our products library) using dlopen() on AIX 6.1. Our application and our shared library are built on AIX 5.3 machine using xlC compiler. we have tried executing the same application on... (2 Replies)
Discussion started by: erra_krishna
2 Replies

10. Programming

dlopen Linux vs. OSX

I've got a C++ program and some plugins ( shared objects ) that I have been developing for Linux. I was originally using and OSX machine to develop and test most of the code. I use dlopen to open the shared objects and then call methods from them. It behaves differently on Linux ( don't know the... (3 Replies)
Discussion started by: rfkrakora
3 Replies
DLERROR(3)						     Linux Programmer's Manual							DLERROR(3)

NAME
dlerror - obtain error diagnostic for functions in the dlopen API SYNOPSIS
#include <dlfcn.h> char *dlerror(void); Link with -ldl. DESCRIPTION
The dlerror() function returns a human-readable, null-terminated string describing the most recent error that occurred from a call to one of the functions in the dlopen API since the last call to dlerror(). The returned string does not include a trailing newline. dlerror() returns NULL if no errors have occurred since initialization or since it was last called. VERSIONS
dlerror() is present in glibc 2.0 and later. ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7). +----------+---------------+---------+ |Interface | Attribute | Value | +----------+---------------+---------+ |dlerror() | Thread safety | MT-Safe | +----------+---------------+---------+ CONFORMING TO
POSIX.1-2001. NOTES
The message returned by dlerror() may reside in a statically allocated buffer that is overwritten by subsequent dlerror() calls. History This function is part of the dlopen API, derived from SunOS. EXAMPLE
See dlopen(3). SEE ALSO
dladdr(3), dlinfo(3), dlopen(3), dlsym(3) COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. Linux 2017-09-15 DLERROR(3)
All times are GMT -4. The time now is 08:12 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy