in reply to Re^6: Why does the h2xs -x switch not generate XSUBs?
in thread Why does the h2xs -x switch not generate XSUBs?

It's just that the XSUB code is supposed to make the actual call to the library, yes?

No. You're confused. h2xs just generates scaffolding. It doesn't compile code, it doesn't link code. It has nothing to do with the error. ldd shows you libtwintree isn't being loaded by TwinTree, probably because libtwintree exports nothing. You need to examine what the compiler/linker are doing before/during make.

  • Comment on Re^7: Why does the h2xs -x switch not generate XSUBs?

Replies are listed 'Best First'.
Re^8: Why does the h2xs -x switch not generate XSUBs?
by FloydATC (Deacon) on Jul 24, 2009 at 18:50 UTC
    Thanks for clearing that up. I was expecting to see XSUB stuff looking like the examples in perlxstut but it seems those stubs are indeed sufficient for functions that don't involve passing anything fancy like structs or arrays.

    I finally got it to work by making two changes. (Irrelevant stuff trimmed)

    TwinTree.xs : libtwintree.so install mkdir -p TwinTree && \ cp libtwintree.h TwinTree && \ h2xs -Oxan TwinTree libtwintree.h -ltwintree # Removed "lib" ----------------------------^ libtwintree.so : libtwintree.o gcc -shared -o libtwintree.so libtwintree.o # Removed "-Wl,-soname,libtwintree.so" and "-lc"
    Again, thank you for putting up and pointing me in the right direction :-)

    -- Time flies when you don't know what you're doing