Hi Duncan
Your suggestion to use '-Bsymbolic' proved to be (almost) the solution. I
tried that and it didn't work because I'm using gcc instead of Sun's
compilers. It took me a bit of time to discoed that gcc uses '-symbolic'
rather than '-Bsymbolic'.
Once I figured that out, changing
LIBR_LDFLAGS = -shared
to
LIBR_LDFLAGS = -symbolic -shared
in Makeconf resolves the problem, albeit generating a long list of undefined
reference warnings during the link.
-Greg
-----Original Message-----
From: Duncan Temple Lang [mailto:duncan@research.bell-labs.com]
Sent: Wednesday, May 08, 2002 7:15 PM
To: Warnes, Gregory R
Cc: 'R-devel@stat.math.ethz.ch'; 'Walter Moreira'
Subject: Re: embedded R resolving wrong symbols
Hi Greg.
Yes, there are some ways to arrange for tight/eager binding
rather than dynamically loading libraries. They do depend on
the linker being used and unfortunately precisely how the
libraries containing the symbols are being "included".
One GNU linker option that is of relevance here is -Bsymbolic
which is documented as
"When creating a shared library, bind references to global symbols
to the definition within the shared library, if any. ....."
As a quick guess, I would add this to R's Makeconf for building
libR.so so that all possible symbols are resolved locally within that
library. Then try linking again.
I have seen this on several different systems over the past few years
and I have written up _some_ of the details that I discovered
on this topic.
Unfortunately, I won't have time to dig them up until I get
back to the office at the
beginning of next week. Please remind me.
D.
Warnes, Gregory R wrote:
Hi All,
When R is embedded in python on my system (Solaris 8),
functions 'regcomp' and 'regexec' are being resolved to the
rather than the functions compiled from regex.c. This
because the c-library functions have quite different semantics.
Is there any way to get around this, other than renaming
functions? E.G., would it be possible to use the '-wrap'
perhaps there is another argument which says 'check inside
symbols before looking elsewhere'?
Thanks,
-Greg
----------------- obligatory version information
R 1.4.1, 1.5.0,
gcc 2.95.2, 3.0.3,
python 2.1.1, 2.1.3
SunOs 5.8, sparc
LEGAL NOTICE
Unless expressly stated otherwise, this message is
confidential and may be privileged. It is intended for the
addressee(s) only. Access to this E-mail by anyone else is
unauthorized. If you are not an addressee, any disclosure or
copying of the contents of this E-mail or any action taken
(or not taken) in reliance on it is unauthorized and may be
unlawful. If you are not an addressee, please inform the
sender immediately.
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._