Thread View: comp.sys.sun
1 messages
1 total messages
Started by Frank Braun
Wed, 26 Feb 1997 00:00
Bug in ld of SunOS 4.1.4. / Solaris 1.1.2
Author: Frank Braun
Date: Wed, 26 Feb 1997 00:00
Date: Wed, 26 Feb 1997 00:00
131 lines
3896 bytes
3896 bytes
H�!
I work under SunOS 4.1.4 2 sun4m
with gcc 2.7.2.1
- I link a called lib.so File to two different other .so Files.
- These different other .so Files shall be loaded one after another
by a main-prg.
- In trying to load the second of the two different .so Files I get
following error:
ld.so: conflicting usage of dlopen'ed dependents
There is no problem on a sun3 under SunOs 4.1,
so it's obvious, that sun4 dynamicl loader has a problem.
No problem on
SunOS kussun1 4.1.1 2 sun3
but on
SunOS kussun2 4.1.2 2 sun4c
error: ld.so: conflicting usage of dlopen'ed dependents
Does somebody know, if this problem is known?
Exists even a patch?
If not:
1.) what can I do to work around?
2.) Is there a way to inform sun about the error?
I couldn't find an entry on there homepage to to so.
They don't offer free support. (My university don't get support)
3.) Is there a possiblity to initiate a patch or is there no support
of Solaris 1.1.2 since Solaris 2 exists?
To give you the possibilty to test if it works on your system there is
a small test -prg and makefile. Please let me know on what SunOS you
tested it and what happend.
Thank you very much for helping.
Greetings
Frank.
EMail: fbraun@rz.uni-sb.de
Example:
---------------------------------------------
Makefile:
---------------------------------------------
CCC = g++
CCFLAGS = -g -fPIC
LDFLAGS = -Wl,-assert,pure-text,-assert,nodefinitions -shared
-nostdlib
dummy: testso.o libsimaov.so.0.0 regist.so id_AO.so tps
tps : tps.cc
g++ -g -o tps tps.cc
regist.so : regist.o
$(LINK.cc) -o $@ regist.o -L. -lsimaov
regist.o : regist.c
$(COMPILE.cc) $*.c
id_AO.so : id_AO.o
$(LINK.cc) -o $@ id_AO.o -L. -lsimaov
id_AO.o : id_AO.c
$(COMPILE.cc) $*.c
libsimaov.so.0.0 : testso.o
$(LINK.cc) -o $@ testso.o
testso.o : testso.c
$(COMPILE.cc) testso.c
---------------------------------------------
testso.c
--------------------------------------------
testso() {
return 0;
}
---------------------------------------------
id_AO.c
---------------------------------------------
_id_AO(void *slr, long tabsw)
{
return(0);
}
---------------------------------------------
regist.c
---------------------------------------------
_regist(void *slr, long tabsw)
{
return(0);
}
---------------------------------------------
tps.cc
---------------------------------------------
#include <dlfcn.h>
#include <stdio.h>
#define NULL 0
main()
{
// kleines Program das dynam. Funktionen laedt
void *fct1 = NULL;
void *fct2 = NULL;
void (*func) ();
char* fname1 = "regist.so"; // wird zuerst geladen
char* fname2 = "id_AO.so"; // wird als zweites geladen
printf("Lade %s \n",fname1);
if ( (fct1 = dlopen(fname1,1)) == NULL )
printf("beim Laden von %s: %s\n",fname1,dlerror());
printf("Lade %s \n",fname2);
if ( (fct2 = dlopen(fname2,1)) == NULL )
printf("beim Laden von %s: %s\n",fname2,dlerror());
printf("Prg.-Ende\n");
}
-------------------END OF MESSAGE-------------------
EMail: fbraun@rz.uni-sb.de
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads