in reply to Inline C solaris vs linux

byteorder=87654321

Is that the same on both machines ?
If not, then the 2 machines have different endianness, and that is more likely the source of your problems.

I've been bitten by this in the past with long long values - though I'm not sure it was precisely the same as your case.
On a little-endian machine, the "%u" format run on a long long value will work fine iff the "long long" value fits into a "long". But that doesn't hold on a big-endian machine, and that's where my code was coming unstuck.

The ivsize-ptrsize difference you noticed is normal for a 64-bit integer perl on a 32-bit architecture and should not be the source of the problem.

What is the ivtype on the other machine ?

Cheers,
Rob

Replies are listed 'Best First'.
Re^2: Inline C solaris vs linux
by Anonymous Monk on Feb 09, 2016 at 09:26 UTC
    I've been bitten by this in the past with long long values - though I'm not sure it was precisely the same as your case.
    I think it is. To the OP: what happens when you use printf format llu instead of lu?