P.S. I think you should also send a message to syphilis too about this last error.
Which error is that ?
I don't understand how it happens that the XS module Test::LeakTrace is fine for the OP, but the XS module List::MoreUtils::XS is not.
I keep thinking that should be giving us a clue ... but I don't see any clues.
I compared the way both modules built on the OP's perl-5.30.3 and both build in essentially the same way. In the (below) copy'n'paste, the first line of each pair of lines is from the Test::LeakTrace build, the second line is from the List::MoreUtils::XS build:
Running Mkbootstrap for LeakTrace ()
Running Mkbootstrap for XS ()
chmod 644 "LeakTrace.bs"
chmod 644 "XS.bs"
"/home/rg8239/perl/bin/perl" "-Iinc" -MExtUtils::Command::MM -e 'cp_no
+nempty' -- LeakTrace.bs blib/arch/auto/Test/LeakTrace/LeakTrace.bs 64
+4
"/home/rg8239/perl/bin/perl" -MExtUtils::Command::MM -e 'cp_no
+nempty' -- XS.bs blib/arch/auto/List/MoreUtils/XS/XS.bs 644
"/home/rg8239/perl/bin/perl" "-Iinc" "/home/rg8239/perl/lib/5.30.3/Ext
+Utils/xsubpp" -typemap '/home/rg8239/perl/lib/5.30.3/ExtUtils/typema
+p' LeakTrace.xs > LeakTrace.xsc
"/home/rg8239/perl/bin/perl" "/home/rg8239/perl/lib/5.30.3/Ext
+Utils/xsubpp" -typemap '/home/rg8239/perl/lib/5.30.3/ExtUtils/typema
+p' XS.xs > XS.xsc
mv LeakTrace.xsc LeakTrace.c
mv XS.xsc XS.c
gcc -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFI
+LE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.16\" -DXS_VERSI
+ON=\"0.16\" -fPIC "-I/home/rg8239/perl/lib/5.30.3/x86_64-linux/CORE"
+ LeakTrace.c
gcc -c -I. -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFI
+LE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.428\" -DXS_VERSI
+ON=\"0.428\" -fPIC "-I/home/rg8239/perl/lib/5.30.3/x86_64-linux/CORE"
+ XS.c
rm -f blib/arch/auto/Test/LeakTrace/LeakTrace.so
rm -f blib/arch/auto/List/MoreUtils/XS/XS.so
gcc -shared -O2 -L/usr/local/lib LeakTrace.o -o blib/arch/auto/Test
+/LeakTrace/LeakTrace.so \
gcc -shared -O2 -L/usr/local/lib XS.o -o blib/arch/auto/List
+/MoreUtils/XS/XS.so \
\
\
chmod 755 blib/arch/auto/Test/LeakTrace/LeakTrace.so
chmod 755 blib/arch/auto/List/MoreUtils/XS/XS.so
Manifying 3 pod documents
Manifying 1 pod document
LEEJO/Test-LeakTrace-0.16.tar.gz
REHSACK/List-MoreUtils-XS-0.428.tar.gz
/usr/bin/make -- OK
/usr/bin/make -- OK
In both cases we see the same process, and the same flags - yet one results in a runtime mismatch and the other doesn't.
The L::MU::XS build inserts a
-I. in a couple of spots (needed to load headers that are located in the L::MU::XS top-level source directory), and the T::LT build inserts a
"-Iinc" in a couple of spots - but I don't see anything telling in those minor differences.
And, apart from those 2 minor discrepancies, the builds are identical.
How can one module incur a mismatch, and the other not ?
Cheers,
Rob
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.