It's just that the XSUB code is supposed to make the actual call to the library, yes? As long as this is missing, the library could implement the meaning of life, universe and everything and the perl script would never know.
And the thing is, even if I write the XSUB code manually, say for instance like this
int
return_one()
CODE:
RETVAL = return_one();
OUTPUT:
RETVAL
int
return_zero()
CODE:
RETVAL = return_one();
OUTPUT:
RETVAL
..it still doesn't work:
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_h
+arness(0, 'blib/lib', 'blib/arch')" t/*.t
t/TwinTree....NOK 1
+
# Failed test 'use TwinTree;'
# at t/TwinTree.t line 9.
# Tried to use 'TwinTree'.
# Error: Can't load '/home/floyd/twintree/TwinTree/blib/arch/auto
+/TwinTree/TwinTree.so' for module TwinTree: /home/floyd/twintree/Twin
+Tree/blib/arch/auto/TwinTree/TwinTree.so: undefined symbol: return_on
+e at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line
+230.
# at (eval 4) line 2
# Compilation failed in require at (eval 4) line 2.
# BEGIN failed--compilation aborted at (eval 4) line 2.
# Looks like you failed 1 test of 1.
t/TwinTree....dubious
+
Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 1
Failed 1/1 tests, 0.00% okay
Failed Test Stat Wstat Total Fail Failed List of Failed
----------------------------------------------------------------------
+---------
t/TwinTree.t 1 256 1 1 100.00% 1
Failed 1/1 test scripts, 0.00% okay. 1/1 subtests failed, 0.00% okay.
make: *** [test_dynamic] Error 1
...the pieces just don't fit. There's probably just a tiny command-line switch or something missing somewhere, but I still don't have the faintest clue where to look. Logically I would expect h2xs to discover this and point it out, instead of generating a lot of code that just doesn't compile.
--
Time flies when you don't know what you're doing
|