Subject: | Module::Build / ExtUtils::CBuilder use wrong tooling in cross compile |
Hi,
even if Copying lib/Math/Random/ISAAC/XS.pm -> blib/lib/Math/Random/ISAAC/XS.pm
Copying src/ISAAC.xs -> lib/Math/Random/ISAAC/XS.xs
lib/Math/Random/ISAAC/XS.xs -> lib/Math/Random/ISAAC/XS.c
arm-poky-linux-gnueabi-gcc -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a8 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/home/sno/gpw-community-bsp/gpw-yocto-platform/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/math-random-isaac-xs-perl/1.004-r0/recipe-sysroot -Isrc -I/home/sno/gpw-community-bsp/gpw-yocto-platform/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/math-random-isaac-xs-perl/1.004-r0/recipe-sysroot/usr/lib/perl5/5.32.0/arm-linux/CORE -DVERSION="1.004" -DXS_VERSION="1.004" -fPIC -Wno-unused-function -DUSE_INT -c -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/home/sno/gpw-community-bsp/gpw-yocto-platform/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/math-random-isaac-xs-perl/1.004-r0=/usr/src/debug/math-random-isaac-xs-perl/1.004-r0 -fdebug-prefix-map=/home/sno/gpw-community-bsp/gpw-yocto-platform/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/math-random-isaac-xs-perl/1.004-r0=/usr/src/debug/math-random-isaac-xs-perl/1.004-r0 -fdebug-prefix-map=/home/sno/gpw-community-bsp/gpw-yocto-platform/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/math-random-isaac-xs-perl/1.004-r0/recipe-sysroot= -fdebug-prefix-map=/home/sno/gpw-community-bsp/gpw-yocto-platform/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/math-random-isaac-xs-perl/1.004-r0/recipe-sysroot-native= -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/home/sno/gpw-community-bsp/gpw-yocto-platform/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/math-random-isaac-xs-perl/1.004-r0=/usr/src/debug/math-random-isaac-xs-perl/1.004-r0 -fdebug-prefix-map=/home/sno/gpw-community-bsp/gpw-yocto-platform/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/math-random-isaac-xs-perl/1.004-r0=/usr/src/debug/math-random-isaac-xs-perl/1.004-r0 -fdebug-prefix-map=/home/sno/gpw-community-bsp/gpw-yocto-platform/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/math-random-isaac-xs-perl/1.004-r0/recipe-sysroot= -fdebug-prefix-map=/home/sno/gpw-community-bsp/gpw-yocto-platform/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/math-random-isaac-xs-perl/1.004-r0/recipe-sysroot-native= -fwrapv -fno-strict-aliasing -o lib/Math/Random/ISAAC/XS.o lib/Math/Random/ISAAC/XS.c
ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/Math/Random/ISAAC/XS/XS.bs')
arm-poky-linux-gnueabi-gcc -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a8 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/home/sno/gpw-community-bsp/gpw-yocto-platform/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/math-random-isaac-xs-perl/1.004-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now -shared -o blib/arch/auto/Math/Random/ISAAC/XS/XS.so lib/Math/Random/ISAAC/XS.o src/rand.o
doesn't look wrong on first look, it creates for unknown (to me) reason a build result which causes:
lib/Math/Random/ISAAC/XS.c: loadable library and perl binaries are mismatched (got handshake key 0x9800000, needed 0x9900000)
It's strongly recommended to use ExtUtils::MakeMaker for distributions with XS components. Makefiles are much easier to tweak then Module::Build -> ExtUtils::CBuilder calls.