[Raleigh-talk] Integrating latest threads::shared(3pm) into older perl 5.8.5
James Olin Oden
james.oden at gmail.com
Mon Mar 12 08:41:58 PDT 2007
So far I've got it building (replaced ext/threads/shared tree, and
updated global MANIFEST), and it builds, but when I run the tests I
get:
perl: symbol lookup error: ../lib/auto/threads/shared/shared.so:
undefined symbol: SvREFCNT_inc_void
I did some research and it turns out this internal perl API symbol was
introduced in perl 5.9.x. Looking at the source for threads::shared
version 1.07 (which is what I'm using) there is a ppport.h file that
has a redefinition for SvREFCNT_inc_void() if it does not exist. If I
build this module outside of the perl sources, it actually uses this
redefinition and seems to work fine(otherwise my script I was testing
would not work...the goal here was to chase down a memory leak in a
script of mine that turned out to be in threads::shared). When I try
to build it from the perl sources it does not ssem to use the ppport.h
file.
So my question is simply what am I doing wrong? More specifically
theough what do I need to tweak so the ppport.h file will get used?
I know of course I can just patch the stinken shared.xs file to have
the redefinition directly inline, but I'd like to avoid that.
Thanks...james
More information about the Raleigh-talk
mailing list