Sponsored Content
Full Discussion: dlopen Linux vs. OSX
Top Forums Programming dlopen Linux vs. OSX Post 302480921 by achenle on Thursday 16th of December 2010 06:28:52 AM
Old 12-16-2010
This looks like a scoping issue. If the names of the two classes are identical, depending on the scope of your symbols at compile and link time, when your Init method creates a new object it can either use the methods from its own shared object or from the first one it finds in the symbol table.

Unless you want to always be chasing down weird issues like this from platform to platform and compiler to compiler and linker to linker, you do not want to depend on symbol scoping to make sure you call the correct method.

The easiest solution is to give each child class a distinct name.
 

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

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... (1 Reply)
Discussion started by: virmin
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. UNIX for Advanced & Expert Users

Help with porting a linux SNC driver to OSX

Hi guys! I'm a regular joe, so this thread might be in the wrong section and if I appear dumb it mostly because I am..and have lack of knowledge about the unix world. :) Please move the tread if needed. To the problem. We are allot of people in the OSx86 community that need a linux driver... (0 Replies)
Discussion started by: Blackshore
0 Replies

8. Programming

Sending emails in C program for multiple machines on Linux/OSX

Hey guys, i am creating a tool that'll run a couple network test, generate a report then email the report. Now i a bit stuck with the email sending part... I tried at first a script which worked on some machines but then it'll work fine on some machine and act up on others... I can't really rely... (2 Replies)
Discussion started by: Jess83
2 Replies

9. 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

10. Shell Programming and Scripting

Flash And Fade DEMO For Mac OSX 10.7.5, (And Linux?).

This is an AT A GLANCE shell DEMO that does:- 1) 10 centred greyscale fades without warning beeps. 2) 5 centred yellow "WARNING!" flashes with beeps every ON state. 3) 5 FULL widowed red "DANGER!!!" flashes with beeps in the ON and OFF states. It assumes that the warning bell is enabled... (0 Replies)
Discussion started by: wisecracker
0 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 12:21 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy