Article View: comp.sys.sun
Article #14266Bug in ld of SunOS 4.1.4. / Solaris 1.1.2
From: 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
Technical Details
Message-ID:
<331372da.12150184@nntp.rz.uni-sb.de>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII X-Google-Thread: f6653,4cd3664aeb214f5e,start X-Google-Attributes: gidf6653,public X-Google-Thread: 103ab4,4cd3664aeb214f5e,start X-Google-Attributes: gid103ab4,public X-Google-Thread: 10b379,4cd3664aeb214f5e,start X-Google-Attributes: gid10b379,public From: fbraun@rz.uni-sb.de (Frank Braun) Subject: Bug in ld of SunOS 4.1.4. / Solaris 1.1.2 Date: 1997/02/26 Message-ID: <331372da.12150184@nntp.rz.uni-sb.de> X-Deja-AN: 221459083 Organization: University of Saarland, Computing Center, Germany. Newsgroups: comp.sys.sun,comp.sys.sun.misc,han.sys.sun