libffi-platypus-perl →
0.56-1 →
armhf → 2018-09-10 05:50:26
sbuild (Debian sbuild) 0.71.0 (24 Aug 2016) on bm-wb-02
+==============================================================================+
| libffi-platypus-perl 0.56-1 (armhf) Mon, 10 Sep 2018 05:37:59 +0000 |
+==============================================================================+
Package: libffi-platypus-perl
Version: 0.56-1
Source Version: 0.56-1
Distribution: buster-staging
Machine Architecture: armhf
Host Architecture: armhf
Build Architecture: armhf
I: NOTICE: Log filtering will replace 'var/lib/schroot/mount/buster-staging-armhf-sbuild-db7099a9-b663-44ef-bd08-bf3111c7b48a' with '<<CHROOT>>'
+------------------------------------------------------------------------------+
| Update chroot |
+------------------------------------------------------------------------------+
Get:1 http://172.17.0.1/private buster-staging InRelease [11.3 kB]
Get:2 http://172.17.0.1/private buster-staging/main Sources [11.0 MB]
Get:3 http://172.17.0.1/private buster-staging/main armhf Packages [12.8 MB]
Fetched 23.8 MB in 27s (883 kB/s)
Reading package lists...
W: No sandbox user '_apt' on the system, can not drop privileges
+------------------------------------------------------------------------------+
| Fetch source files |
+------------------------------------------------------------------------------+
Check APT
---------
Checking available source versions...
Download source files with APT
------------------------------
Reading package lists...
NOTICE: 'libffi-platypus-perl' packaging is maintained in the 'Git' version control system at:
https://salsa.debian.org/perl-team/modules/packages/libffi-platypus-perl.git
Please use:
git clone https://salsa.debian.org/perl-team/modules/packages/libffi-platypus-perl.git
to retrieve the latest (possibly unreleased) updates to the package.
Need to get 210 kB of source archives.
Get:1 http://172.17.0.1/private buster-staging/main libffi-platypus-perl 0.56-1 (dsc) [2456 B]
Get:2 http://172.17.0.1/private buster-staging/main libffi-platypus-perl 0.56-1 (tar) [204 kB]
Get:3 http://172.17.0.1/private buster-staging/main libffi-platypus-perl 0.56-1 (diff) [3152 B]
Fetched 210 kB in 0s (4225 kB/s)
Download complete and in download only mode
I: NOTICE: Log filtering will replace 'build/libffi-platypus-perl-LrLMWK/libffi-platypus-perl-0.56' with '<<PKGBUILDDIR>>'
I: NOTICE: Log filtering will replace 'build/libffi-platypus-perl-LrLMWK' with '<<BUILDDIR>>'
+------------------------------------------------------------------------------+
| Install build-essential |
+------------------------------------------------------------------------------+
Setup apt archive
-----------------
Merged Build-Depends: build-essential, fakeroot
Filtered Build-Depends: build-essential, fakeroot
dpkg-deb: building package 'sbuild-build-depends-core-dummy' in '/<<BUILDDIR>>/resolver-x5jmJz/apt_archive/sbuild-build-depends-core-dummy.deb'.
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning: sbuild-build-depends-core-dummy
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.
gpg: keybox '/<<BUILDDIR>>/resolver-x5jmJz/gpg/pubring.kbx' created
gpg: /<<BUILDDIR>>/resolver-x5jmJz/gpg/trustdb.gpg: trustdb created
gpg: key 35506D9A48F77B2E: public key "Sbuild Signer (Sbuild Build Dependency Archive Key) <buildd-tools-devel@lists.alioth.debian.org>" imported
gpg: Total number processed: 1
gpg: imported: 1
gpg: key 35506D9A48F77B2E: "Sbuild Signer (Sbuild Build Dependency Archive Key) <buildd-tools-devel@lists.alioth.debian.org>" not changed
gpg: key 35506D9A48F77B2E: secret key imported
gpg: Total number processed: 1
gpg: unchanged: 1
gpg: secret keys read: 1
gpg: secret keys imported: 1
gpg: using "Sbuild Signer" as default secret key for signing
Ign:1 copy:/<<BUILDDIR>>/resolver-x5jmJz/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-x5jmJz/apt_archive ./ Release [957 B]
Get:3 copy:/<<BUILDDIR>>/resolver-x5jmJz/apt_archive ./ Release.gpg [370 B]
Get:4 copy:/<<BUILDDIR>>/resolver-x5jmJz/apt_archive ./ Sources [349 B]
Get:5 copy:/<<BUILDDIR>>/resolver-x5jmJz/apt_archive ./ Packages [432 B]
Fetched 2108 B in 1s (2825 B/s)
Reading package lists...
W: No sandbox user '_apt' on the system, can not drop privileges
Reading package lists...
Install core build dependencies (apt-based resolver)
----------------------------------------------------
Installing build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
The following packages were automatically installed and are no longer required:
ca-certificates dbus dbus-user-session e2fsprogs-l10n libexpat1
libnss-systemd libpam-systemd libsasl2-modules libssl1.1 openssl
systemd-sysv
Use 'apt autoremove' to remove them.
The following NEW packages will be installed:
sbuild-build-depends-core-dummy
0 upgraded, 1 newly installed, 0 to remove and 66 not upgraded.
Need to get 848 B of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-x5jmJz/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [848 B]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 848 B in 0s (0 B/s)
Selecting previously unselected package sbuild-build-depends-core-dummy.
(Reading database ... 15689 files and directories currently installed.)
Preparing to unpack .../sbuild-build-depends-core-dummy_0.invalid.0_armhf.deb ...
Unpacking sbuild-build-depends-core-dummy (0.invalid.0) ...
Setting up sbuild-build-depends-core-dummy (0.invalid.0) ...
W: No sandbox user '_apt' on the system, can not drop privileges
+------------------------------------------------------------------------------+
| Check architectures |
+------------------------------------------------------------------------------+
Arch check ok (armhf included in any)
+------------------------------------------------------------------------------+
| Install package build dependencies |
+------------------------------------------------------------------------------+
Setup apt archive
-----------------
Merged Build-Depends: debhelper (>= 10), libalt-alien-ffi-system-perl (>= 0.20), libcapture-tiny-perl, libconfig-autoconf-perl (>= 0.309), libffi-checklib-perl, libfile-sharedir-perl, libmodule-build-perl, perl (>= 5.21.4)
Filtered Build-Depends: debhelper (>= 10), libalt-alien-ffi-system-perl (>= 0.20), libcapture-tiny-perl, libconfig-autoconf-perl (>= 0.309), libffi-checklib-perl, libfile-sharedir-perl, libmodule-build-perl, perl (>= 5.21.4)
dpkg-deb: building package 'sbuild-build-depends-libffi-platypus-perl-dummy' in '/<<BUILDDIR>>/resolver-x5jmJz/apt_archive/sbuild-build-depends-libffi-platypus-perl-dummy.deb'.
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning: sbuild-build-depends-core-dummy sbuild-build-depends-libffi-platypus-perl-dummy
dpkg-scanpackages: info: Wrote 2 entries to output Packages file.
gpg: using "Sbuild Signer" as default secret key for signing
Ign:1 copy:/<<BUILDDIR>>/resolver-x5jmJz/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-x5jmJz/apt_archive ./ Release [963 B]
Get:3 copy:/<<BUILDDIR>>/resolver-x5jmJz/apt_archive ./ Release.gpg [370 B]
Get:4 copy:/<<BUILDDIR>>/resolver-x5jmJz/apt_archive ./ Sources [586 B]
Get:5 copy:/<<BUILDDIR>>/resolver-x5jmJz/apt_archive ./ Packages [663 B]
Fetched 2582 B in 1s (3530 B/s)
Reading package lists...
W: No sandbox user '_apt' on the system, can not drop privileges
Reading package lists...
Install libffi-platypus-perl build dependencies (apt-based resolver)
--------------------------------------------------------------------
Installing build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
The following packages were automatically installed and are no longer required:
ca-certificates dbus dbus-user-session e2fsprogs-l10n libexpat1
libnss-systemd libpam-systemd libsasl2-modules libssl1.1 openssl
systemd-sysv
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
autoconf automake autopoint autotools-dev bsdmainutils debhelper
dh-autoreconf dh-strip-nondeterminism dwz file gettext gettext-base
groff-base intltool-debian libalt-alien-ffi-system-perl libarchive-zip-perl
libbsd0 libcapture-tiny-perl libclass-inspector-perl libconfig-autoconf-perl
libcroco3 libelf1 libffi-checklib-perl libffi-dev libfile-sharedir-perl
libfile-slurp-tiny-perl libfile-stripnondeterminism-perl libfreetype6
libglib2.0-0 libgraphite2-3 libharfbuzz0b libicu-le-hb0 libicu60
libmagic-mgc libmagic1 libmodule-build-perl libpipeline1 libsigsegv2
libtimedate-perl libtool libxml2 m4 man-db pkg-config po-debconf
Suggested packages:
autoconf-archive gnu-standards autoconf-doc wamerican | wordlist whois
vacation dh-make gettext-doc libasprintf-dev libgettextpo-dev groff
libtool-doc gfortran | fortran95-compiler gcj-jdk m4-doc apparmor less
www-browser libmail-box-perl
Recommended packages:
curl | wget | lynx libarchive-cpio-perl libglib2.0-data shared-mime-info
xdg-user-dirs libmodule-signature-perl libpod-readme-perl
libsoftware-license-perl libltdl-dev libmail-sendmail-perl
The following NEW packages will be installed:
autoconf automake autopoint autotools-dev bsdmainutils debhelper
dh-autoreconf dh-strip-nondeterminism dwz file gettext gettext-base
groff-base intltool-debian libalt-alien-ffi-system-perl libarchive-zip-perl
libbsd0 libcapture-tiny-perl libclass-inspector-perl libconfig-autoconf-perl
libcroco3 libelf1 libffi-checklib-perl libffi-dev libfile-sharedir-perl
libfile-slurp-tiny-perl libfile-stripnondeterminism-perl libfreetype6
libglib2.0-0 libgraphite2-3 libharfbuzz0b libicu-le-hb0 libicu60
libmagic-mgc libmagic1 libmodule-build-perl libpipeline1 libsigsegv2
libtimedate-perl libtool libxml2 m4 man-db pkg-config po-debconf
sbuild-build-depends-libffi-platypus-perl-dummy
0 upgraded, 46 newly installed, 0 to remove and 66 not upgraded.
Need to get 20.9 MB/21.5 MB of archives.
After this operation, 70.3 MB of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-x5jmJz/apt_archive ./ sbuild-build-depends-libffi-platypus-perl-dummy 0.invalid.0 [952 B]
Get:2 http://172.17.0.1/private buster-staging/main armhf libbsd0 armhf 0.9.1-1 [104 kB]
Get:3 http://172.17.0.1/private buster-staging/main armhf bsdmainutils armhf 11.1.2 [182 kB]
Get:4 http://172.17.0.1/private buster-staging/main armhf groff-base armhf 1.22.3-10 [1005 kB]
Get:5 http://172.17.0.1/private buster-staging/main armhf libpipeline1 armhf 1.5.0-1 [24.6 kB]
Get:6 http://172.17.0.1/private buster-staging/main armhf man-db armhf 2.8.4-2 [1161 kB]
Get:7 http://172.17.0.1/private buster-staging/main armhf libmagic-mgc armhf 1:5.34-2 [239 kB]
Get:8 http://172.17.0.1/private buster-staging/main armhf libmagic1 armhf 1:5.34-2 [107 kB]
Get:9 http://172.17.0.1/private buster-staging/main armhf file armhf 1:5.34-2 [65.0 kB]
Get:10 http://172.17.0.1/private buster-staging/main armhf gettext-base armhf 0.19.8.1-7 [117 kB]
Get:11 http://172.17.0.1/private buster-staging/main armhf libsigsegv2 armhf 2.12-2 [32.3 kB]
Get:12 http://172.17.0.1/private buster-staging/main armhf m4 armhf 1.4.18-1 [185 kB]
Get:13 http://172.17.0.1/private buster-staging/main armhf autoconf all 2.69-11 [341 kB]
Get:14 http://172.17.0.1/private buster-staging/main armhf autotools-dev all 20180224.1 [77.0 kB]
Get:15 http://172.17.0.1/private buster-staging/main armhf automake all 1:1.16.1-1.1 [771 kB]
Get:16 http://172.17.0.1/private buster-staging/main armhf autopoint all 0.19.8.1-7 [434 kB]
Get:17 http://172.17.0.1/private buster-staging/main armhf libtool all 2.4.6-2.1 [547 kB]
Get:18 http://172.17.0.1/private buster-staging/main armhf dh-autoreconf all 19 [16.9 kB]
Get:19 http://172.17.0.1/private buster-staging/main armhf libarchive-zip-perl all 1.63-1 [96.7 kB]
Get:20 http://172.17.0.1/private buster-staging/main armhf libfile-stripnondeterminism-perl all 0.042-1 [20.1 kB]
Get:21 http://172.17.0.1/private buster-staging/main armhf libtimedate-perl all 2.3000-2 [42.2 kB]
Get:22 http://172.17.0.1/private buster-staging/main armhf dh-strip-nondeterminism all 0.042-1 [12.1 kB]
Get:23 http://172.17.0.1/private buster-staging/main armhf libelf1 armhf 0.170-0.5 [160 kB]
Get:24 http://172.17.0.1/private buster-staging/main armhf dwz armhf 0.12-2 [67.4 kB]
Get:25 http://172.17.0.1/private buster-staging/main armhf libglib2.0-0 armhf 2.56.1-2 [2754 kB]
Get:26 http://172.17.0.1/private buster-staging/main armhf libgraphite2-3 armhf 1.3.12-1 [69.1 kB]
Get:27 http://172.17.0.1/private buster-staging/main armhf libharfbuzz0b armhf 1.8.8-2+rpi1 [860 kB]
Get:28 http://172.17.0.1/private buster-staging/main armhf libicu-le-hb0 armhf 1.0.3+git161113-5 [12.8 kB]
Get:29 http://172.17.0.1/private buster-staging/main armhf libicu60 armhf 60.2-6 [7789 kB]
Get:30 http://172.17.0.1/private buster-staging/main armhf libxml2 armhf 2.9.4+dfsg1-7 [602 kB]
Get:31 http://172.17.0.1/private buster-staging/main armhf gettext armhf 0.19.8.1-7 [1218 kB]
Get:32 http://172.17.0.1/private buster-staging/main armhf intltool-debian all 0.35.0+20060710.4 [26.3 kB]
Get:33 http://172.17.0.1/private buster-staging/main armhf po-debconf all 1.0.20 [247 kB]
Get:34 http://172.17.0.1/private buster-staging/main armhf debhelper all 11.3.5 [981 kB]
Get:35 http://172.17.0.1/private buster-staging/main armhf libffi-dev armhf 3.2.1-8 [159 kB]
Get:36 http://172.17.0.1/private buster-staging/main armhf libalt-alien-ffi-system-perl all 0.21-1 [7744 B]
Get:37 http://172.17.0.1/private buster-staging/main armhf libcapture-tiny-perl all 0.48-1 [26.0 kB]
Get:38 http://172.17.0.1/private buster-staging/main armhf libclass-inspector-perl all 1.32-1 [19.1 kB]
Get:39 http://172.17.0.1/private buster-staging/main armhf libfile-slurp-tiny-perl all 0.004-1 [7288 B]
Get:40 http://172.17.0.1/private buster-staging/main armhf libconfig-autoconf-perl all 0.317-1 [41.9 kB]
Get:41 http://172.17.0.1/private buster-staging/main armhf libffi-checklib-perl all 0.20-1 [12.1 kB]
Get:42 http://172.17.0.1/private buster-staging/main armhf libfile-sharedir-perl all 1.116-2 [16.7 kB]
Get:43 http://172.17.0.1/private buster-staging/main armhf libmodule-build-perl all 0.422400-1 [259 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 20.9 MB in 2s (8509 kB/s)
Selecting previously unselected package libbsd0:armhf.
(Reading database ... 15689 files and directories currently installed.)
Preparing to unpack .../00-libbsd0_0.9.1-1_armhf.deb ...
Unpacking libbsd0:armhf (0.9.1-1) ...
Selecting previously unselected package bsdmainutils.
Preparing to unpack .../01-bsdmainutils_11.1.2_armhf.deb ...
Unpacking bsdmainutils (11.1.2) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../02-groff-base_1.22.3-10_armhf.deb ...
Unpacking groff-base (1.22.3-10) ...
Selecting previously unselected package libpipeline1:armhf.
Preparing to unpack .../03-libpipeline1_1.5.0-1_armhf.deb ...
Unpacking libpipeline1:armhf (1.5.0-1) ...
Selecting previously unselected package man-db.
Preparing to unpack .../04-man-db_2.8.4-2_armhf.deb ...
Unpacking man-db (2.8.4-2) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../05-libmagic-mgc_1%3a5.34-2_armhf.deb ...
Unpacking libmagic-mgc (1:5.34-2) ...
Selecting previously unselected package libmagic1:armhf.
Preparing to unpack .../06-libmagic1_1%3a5.34-2_armhf.deb ...
Unpacking libmagic1:armhf (1:5.34-2) ...
Selecting previously unselected package file.
Preparing to unpack .../07-file_1%3a5.34-2_armhf.deb ...
Unpacking file (1:5.34-2) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../08-gettext-base_0.19.8.1-7_armhf.deb ...
Unpacking gettext-base (0.19.8.1-7) ...
Selecting previously unselected package libsigsegv2:armhf.
Preparing to unpack .../09-libsigsegv2_2.12-2_armhf.deb ...
Unpacking libsigsegv2:armhf (2.12-2) ...
Selecting previously unselected package m4.
Preparing to unpack .../10-m4_1.4.18-1_armhf.deb ...
Unpacking m4 (1.4.18-1) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../11-autoconf_2.69-11_all.deb ...
Unpacking autoconf (2.69-11) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../12-autotools-dev_20180224.1_all.deb ...
Unpacking autotools-dev (20180224.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../13-automake_1%3a1.16.1-1.1_all.deb ...
Unpacking automake (1:1.16.1-1.1) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../14-autopoint_0.19.8.1-7_all.deb ...
Unpacking autopoint (0.19.8.1-7) ...
Selecting previously unselected package libtool.
Preparing to unpack .../15-libtool_2.4.6-2.1_all.deb ...
Unpacking libtool (2.4.6-2.1) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../16-dh-autoreconf_19_all.deb ...
Unpacking dh-autoreconf (19) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../17-libarchive-zip-perl_1.63-1_all.deb ...
Unpacking libarchive-zip-perl (1.63-1) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../18-libfile-stripnondeterminism-perl_0.042-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (0.042-1) ...
Selecting previously unselected package libtimedate-perl.
Preparing to unpack .../19-libtimedate-perl_2.3000-2_all.deb ...
Unpacking libtimedate-perl (2.3000-2) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../20-dh-strip-nondeterminism_0.042-1_all.deb ...
Unpacking dh-strip-nondeterminism (0.042-1) ...
Selecting previously unselected package libelf1:armhf.
Preparing to unpack .../21-libelf1_0.170-0.5_armhf.deb ...
Unpacking libelf1:armhf (0.170-0.5) ...
Selecting previously unselected package dwz.
Preparing to unpack .../22-dwz_0.12-2_armhf.deb ...
Unpacking dwz (0.12-2) ...
Selecting previously unselected package libglib2.0-0:armhf.
Preparing to unpack .../23-libglib2.0-0_2.56.1-2_armhf.deb ...
Unpacking libglib2.0-0:armhf (2.56.1-2) ...
Selecting previously unselected package libfreetype6:armhf.
Preparing to unpack .../24-libfreetype6_2.8.1-2_armhf.deb ...
Unpacking libfreetype6:armhf (2.8.1-2) ...
Selecting previously unselected package libgraphite2-3:armhf.
Preparing to unpack .../25-libgraphite2-3_1.3.12-1_armhf.deb ...
Unpacking libgraphite2-3:armhf (1.3.12-1) ...
Selecting previously unselected package libharfbuzz0b:armhf.
Preparing to unpack .../26-libharfbuzz0b_1.8.8-2+rpi1_armhf.deb ...
Unpacking libharfbuzz0b:armhf (1.8.8-2+rpi1) ...
Selecting previously unselected package libicu-le-hb0:armhf.
Preparing to unpack .../27-libicu-le-hb0_1.0.3+git161113-5_armhf.deb ...
Unpacking libicu-le-hb0:armhf (1.0.3+git161113-5) ...
Selecting previously unselected package libicu60:armhf.
Preparing to unpack .../28-libicu60_60.2-6_armhf.deb ...
Unpacking libicu60:armhf (60.2-6) ...
Selecting previously unselected package libxml2:armhf.
Preparing to unpack .../29-libxml2_2.9.4+dfsg1-7_armhf.deb ...
Unpacking libxml2:armhf (2.9.4+dfsg1-7) ...
Selecting previously unselected package libcroco3:armhf.
Preparing to unpack .../30-libcroco3_0.6.12-2_armhf.deb ...
Unpacking libcroco3:armhf (0.6.12-2) ...
Selecting previously unselected package gettext.
Preparing to unpack .../31-gettext_0.19.8.1-7_armhf.deb ...
Unpacking gettext (0.19.8.1-7) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../32-intltool-debian_0.35.0+20060710.4_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.4) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../33-po-debconf_1.0.20_all.deb ...
Unpacking po-debconf (1.0.20) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../34-debhelper_11.3.5_all.deb ...
Unpacking debhelper (11.3.5) ...
Selecting previously unselected package libffi-dev:armhf.
Preparing to unpack .../35-libffi-dev_3.2.1-8_armhf.deb ...
Unpacking libffi-dev:armhf (3.2.1-8) ...
Selecting previously unselected package pkg-config.
Preparing to unpack .../36-pkg-config_0.29-4_armhf.deb ...
Unpacking pkg-config (0.29-4) ...
Selecting previously unselected package libalt-alien-ffi-system-perl.
Preparing to unpack .../37-libalt-alien-ffi-system-perl_0.21-1_all.deb ...
Unpacking libalt-alien-ffi-system-perl (0.21-1) ...
Selecting previously unselected package libcapture-tiny-perl.
Preparing to unpack .../38-libcapture-tiny-perl_0.48-1_all.deb ...
Unpacking libcapture-tiny-perl (0.48-1) ...
Selecting previously unselected package libclass-inspector-perl.
Preparing to unpack .../39-libclass-inspector-perl_1.32-1_all.deb ...
Unpacking libclass-inspector-perl (1.32-1) ...
Selecting previously unselected package libfile-slurp-tiny-perl.
Preparing to unpack .../40-libfile-slurp-tiny-perl_0.004-1_all.deb ...
Unpacking libfile-slurp-tiny-perl (0.004-1) ...
Selecting previously unselected package libconfig-autoconf-perl.
Preparing to unpack .../41-libconfig-autoconf-perl_0.317-1_all.deb ...
Unpacking libconfig-autoconf-perl (0.317-1) ...
Selecting previously unselected package libffi-checklib-perl.
Preparing to unpack .../42-libffi-checklib-perl_0.20-1_all.deb ...
Unpacking libffi-checklib-perl (0.20-1) ...
Selecting previously unselected package libfile-sharedir-perl.
Preparing to unpack .../43-libfile-sharedir-perl_1.116-2_all.deb ...
Unpacking libfile-sharedir-perl (1.116-2) ...
Selecting previously unselected package libmodule-build-perl.
Preparing to unpack .../44-libmodule-build-perl_0.422400-1_all.deb ...
Adding 'diversion of /usr/bin/config_data to /usr/bin/config_data.diverted by libmodule-build-perl'
Adding 'diversion of /usr/share/man/man1/config_data.1.gz to /usr/share/man/man1/config_data.diverted.1.gz by libmodule-build-perl'
Unpacking libmodule-build-perl (0.422400-1) ...
Selecting previously unselected package sbuild-build-depends-libffi-platypus-perl-dummy.
Preparing to unpack .../45-sbuild-build-depends-libffi-platypus-perl-dummy_0.invalid.0_armhf.deb ...
Unpacking sbuild-build-depends-libffi-platypus-perl-dummy (0.invalid.0) ...
Setting up libfile-slurp-tiny-perl (0.004-1) ...
Setting up libarchive-zip-perl (1.63-1) ...
Setting up libffi-checklib-perl (0.20-1) ...
Setting up libtimedate-perl (2.3000-2) ...
Setting up libsigsegv2:armhf (2.12-2) ...
Setting up libelf1:armhf (0.170-0.5) ...
Setting up groff-base (1.22.3-10) ...
Setting up libglib2.0-0:armhf (2.56.1-2) ...
No schema files found: removed existing output file.
Setting up libcapture-tiny-perl (0.48-1) ...
Setting up libffi-dev:armhf (3.2.1-8) ...
Setting up gettext-base (0.19.8.1-7) ...
Setting up libpipeline1:armhf (1.5.0-1) ...
Setting up m4 (1.4.18-1) ...
Setting up libbsd0:armhf (0.9.1-1) ...
Setting up libfreetype6:armhf (2.8.1-2) ...
Setting up libmagic-mgc (1:5.34-2) ...
Setting up libmagic1:armhf (1:5.34-2) ...
Setting up libgraphite2-3:armhf (1.3.12-1) ...
Setting up pkg-config (0.29-4) ...
Processing triggers for libc-bin (2.27-5+rpi1) ...
Setting up dwz (0.12-2) ...
Setting up autotools-dev (20180224.1) ...
Setting up bsdmainutils (11.1.2) ...
update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode
update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode
Setting up libmodule-build-perl (0.422400-1) ...
Setting up autopoint (0.19.8.1-7) ...
Setting up libclass-inspector-perl (1.32-1) ...
Setting up libfile-stripnondeterminism-perl (0.042-1) ...
Setting up libconfig-autoconf-perl (0.317-1) ...
Setting up libalt-alien-ffi-system-perl (0.21-1) ...
Setting up libharfbuzz0b:armhf (1.8.8-2+rpi1) ...
Setting up autoconf (2.69-11) ...
Setting up file (1:5.34-2) ...
Setting up automake (1:1.16.1-1.1) ...
update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode
Setting up man-db (2.8.4-2) ...
Not building database; man-db/auto-update is not 'true'.
Setting up libfile-sharedir-perl (1.116-2) ...
Setting up libtool (2.4.6-2.1) ...
Setting up libicu-le-hb0:armhf (1.0.3+git161113-5) ...
Setting up libicu60:armhf (60.2-6) ...
Setting up libxml2:armhf (2.9.4+dfsg1-7) ...
Setting up libcroco3:armhf (0.6.12-2) ...
Setting up gettext (0.19.8.1-7) ...
Setting up intltool-debian (0.35.0+20060710.4) ...
Setting up po-debconf (1.0.20) ...
Setting up debhelper (11.3.5) ...
Setting up dh-autoreconf (19) ...
Setting up dh-strip-nondeterminism (0.042-1) ...
Setting up sbuild-build-depends-libffi-platypus-perl-dummy (0.invalid.0) ...
Processing triggers for libc-bin (2.27-5+rpi1) ...
W: No sandbox user '_apt' on the system, can not drop privileges
+------------------------------------------------------------------------------+
| Build environment |
+------------------------------------------------------------------------------+
Kernel: Linux 4.9.0-0.bpo.6-armmp armhf (armv7l)
Toolchain package versions: binutils_2.31.1-2+rpi1 dpkg-dev_1.19.0.5 g++-8_8.1.0-12+rpi1 gcc-8_8.1.0-12+rpi1 libc6-dev_2.27-5+rpi1 libstdc++-8-dev_8.1.0-12+rpi1 libstdc++6_8.1.0-12+rpi1 linux-libc-dev_4.16.16-2+rpi1
Package versions: adduser_3.117 apt_1.6.3 autoconf_2.69-11 automake_1:1.16.1-1.1 autopoint_0.19.8.1-7 autotools-dev_20180224.1 base-files_10.1+rpi1 base-passwd_3.5.45 bash_4.4.18-3.1 binutils_2.31.1-2+rpi1 binutils-arm-linux-gnueabihf_2.31.1-2+rpi1 binutils-common_2.31.1-2+rpi1 bsdmainutils_11.1.2 bsdutils_1:2.32.1-0.1 build-essential_12.5 bzip2_1.0.6-8.1 ca-certificates_20170717 coreutils_8.28-1 cpio_2.12+dfsg-6 cpp_4:8.1.0-1+rpi1 cpp-8_8.1.0-12+rpi1 dash_0.5.8-2.10 dbus_1.12.10-1 dbus-user-session_1.12.10-1 debconf_1.5.69 debhelper_11.3.5 debianutils_4.8.6 dh-autoreconf_19 dh-strip-nondeterminism_0.042-1 diffutils_1:3.6-1 dirmngr_2.2.9-1+rpi1 dmsetup_2:1.02.145-4.1+b4 dpkg_1.19.0.5 dpkg-dev_1.19.0.5 dwz_0.12-2 e2fslibs_1.44.3-1 e2fsprogs_1.44.3-1 e2fsprogs-l10n_1.44.3-1 fakeroot_1.23-1 fdisk_2.32.1-0.1 file_1:5.34-2 findutils_4.6.0+git+20171230-2 g++_4:8.1.0-1+rpi1 g++-8_8.1.0-12+rpi1 gcc_4:8.1.0-1+rpi1 gcc-4.6-base_4.6.4-5+rpi1 gcc-4.7-base_4.7.3-11+rpi1 gcc-4.8-base_4.8.5-4 gcc-4.9-base_4.9.4-2+rpi1+b19 gcc-5-base_5.5.0-8 gcc-8_8.1.0-12+rpi1 gcc-8-base_8.1.0-12+rpi1 gettext_0.19.8.1-7 gettext-base_0.19.8.1-7 gnupg_2.2.9-1+rpi1 gnupg-agent_2.2.9-1+rpi1 gnupg-l10n_2.2.9-1+rpi1 gnupg-utils_2.2.9-1+rpi1 gpg_2.2.9-1+rpi1 gpg-agent_2.2.9-1+rpi1 gpg-wks-client_2.2.9-1+rpi1 gpg-wks-server_2.2.9-1+rpi1 gpgconf_2.2.9-1+rpi1 gpgsm_2.2.9-1+rpi1 gpgv_2.2.9-1+rpi1 grep_3.1-2 groff-base_1.22.3-10 gzip_1.9-2 hostname_3.20 inetutils-ping_2:1.9.4-3 init-system-helpers_1.51 initramfs-tools_0.132 initramfs-tools-core_0.132 intltool-debian_0.35.0+20060710.4 klibc-utils_2.0.4-14+rpi1 kmod_25-1 libacl1_2.2.52-3 libalt-alien-ffi-system-perl_0.21-1 libapparmor1_2.13-8 libapt-pkg5.0_1.6.3 libarchive-zip-perl_1.63-1 libargon2-1_0~20171227-0.1 libasan5_8.1.0-12+rpi1 libassuan0_2.5.1-2 libatomic1_8.1.0-12+rpi1 libattr1_1:2.4.47-2 libaudit-common_1:2.8.3-1 libaudit1_1:2.8.3-1 libbinutils_2.31.1-2+rpi1 libblkid1_2.32.1-0.1 libbsd0_0.9.1-1 libbz2-1.0_1.0.6-8.1 libc-bin_2.27-5+rpi1 libc-dev-bin_2.27-5+rpi1 libc6_2.27-5+rpi1 libc6-dev_2.27-5+rpi1 libcap-ng0_0.7.9-1 libcap2_1:2.25-1.2 libcapture-tiny-perl_0.48-1 libcc1-0_8.1.0-12+rpi1 libclass-inspector-perl_1.32-1 libcom-err2_1.44.3-1 libconfig-autoconf-perl_0.317-1 libcroco3_0.6.12-2 libcryptsetup12_2:2.0.4-2 libcryptsetup4_2:1.7.5-1 libdb5.3_5.3.28-13.1 libdbus-1-3_1.12.10-1 libdebconfclient0_0.244 libdevmapper1.02.1_2:1.02.145-4.1+b4 libdpkg-perl_1.19.0.5 libdrm-common_2.4.92-1+rpi1 libdrm2_2.4.92-1+rpi1 libelf1_0.170-0.5 libexpat1_2.2.5-3 libext2fs2_1.44.3-1 libfakeroot_1.23-1 libfdisk1_2.32.1-0.1 libffi-checklib-perl_0.20-1 libffi-dev_3.2.1-8 libffi6_3.2.1-8 libfile-sharedir-perl_1.116-2 libfile-slurp-tiny-perl_0.004-1 libfile-stripnondeterminism-perl_0.042-1 libfreetype6_2.8.1-2 libgcc-8-dev_8.1.0-12+rpi1 libgcc1_1:8.1.0-12+rpi1 libgcrypt20_1.8.3-1 libgdbm-compat4_1.14.1-6 libgdbm3_1.8.3-14 libgdbm5_1.14.1-6 libglib2.0-0_2.56.1-2 libgmp10_2:6.1.2+dfsg-3 libgnutls30_3.5.19-1 libgomp1_8.1.0-12+rpi1 libgpg-error0_1.32-1 libgraphite2-3_1.3.12-1 libharfbuzz0b_1.8.8-2+rpi1 libhogweed4_3.4-1 libicu-le-hb0_1.0.3+git161113-5 libicu60_60.2-6 libidn11_1.33-2.2 libidn2-0_2.0.4-2.2 libip4tc0_1.6.2-1.1 libisl19_0.20-1 libjson-c3_0.12.1-1.3 libklibc_2.0.4-14+rpi1 libkmod2_25-1 libksba8_1.3.5-2 libldap-2.4-2_2.4.46+dfsg-5+rpi1 libldap-common_2.4.46+dfsg-5+rpi1 liblz4-1_1.8.2-1+rpi1 liblzma5_5.2.2-1.3 libmagic-mgc_1:5.34-2 libmagic1_1:5.34-2 libmodule-build-perl_0.422400-1 libmount1_2.32.1-0.1 libmpc3_1.1.0-1 libmpfr6_4.0.1-1 libncurses5_6.1+20180714-1 libncurses6_6.1+20180714-1 libncursesw5_6.1+20180714-1 libncursesw6_6.1+20180714-1 libnettle6_3.4-1 libnpth0_1.6-1 libnss-systemd_239-7 libp11-kit0_0.23.12-2 libpam-modules_1.1.8-3.7 libpam-modules-bin_1.1.8-3.7 libpam-runtime_1.1.8-3.7 libpam-systemd_239-7 libpam0g_1.1.8-3.7 libpcre3_2:8.39-10 libperl5.24_5.24.1-7 libperl5.26_5.26.2-7 libpipeline1_1.5.0-1 libplymouth4_0.9.3-3 libpng16-16_1.6.34-2+rpi1 libprocps7_2:3.3.15-2 libreadline7_7.0-5 libsasl2-2_2.1.27~101-g0780600+dfsg-3.1 libsasl2-modules_2.1.27~101-g0780600+dfsg-3.1 libsasl2-modules-db_2.1.27~101-g0780600+dfsg-3.1 libseccomp2_2.3.3-3 libselinux1_2.8-1 libsemanage-common_2.8-1 libsemanage1_2.8-1 libsepol1_2.8-1 libsigsegv2_2.12-2 libsmartcols1_2.32.1-0.1 libsqlite3-0_3.24.0-1 libss2_1.44.3-1 libssl1.1_1.1.0h-4 libstdc++-8-dev_8.1.0-12+rpi1 libstdc++6_8.1.0-12+rpi1 libsystemd0_239-7 libtasn1-6_4.13-3 libtimedate-perl_2.3000-2 libtinfo5_6.1+20180714-1 libtinfo6_6.1+20180714-1 libtool_2.4.6-2.1 libubsan1_8.1.0-12+rpi1 libudev1_239-7 libunistring2_0.9.10-1 libustr-1.0-1_1.0.4-6 libuuid1_2.32.1-0.1 libxml2_2.9.4+dfsg1-7 libzstd1_1.3.4+dfsg-3+rpi1 linux-base_4.5 linux-libc-dev_4.16.16-2+rpi1 login_1:4.5-1.1 lsb-base_9.20170808+rpi1 m4_1.4.18-1 make_4.2.1-1.2 makedev_2.3.1-93 man-db_2.8.4-2 mawk_1.3.3-17 mount_2.32.1-0.1 multiarch-support_2.27-5+rpi1 nano_2.9.8-1 ncurses-base_6.1+20180714-1 ncurses-bin_6.1+20180714-1 netbase_5.4 openssl_1.1.0h-4 passwd_1:4.5-1.1 patch_2.7.6-3 perl_5.26.2-7 perl-base_5.26.2-7 perl-modules-5.24_5.24.1-7 perl-modules-5.26_5.26.2-7 pinentry-curses_1.1.0-1 pkg-config_0.29-4 plymouth_0.9.3-3 po-debconf_1.0.20 procps_2:3.3.15-2 raspbian-archive-keyring_20120528.2 readline-common_7.0-5 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-libffi-platypus-perl-dummy_0.invalid.0 sed_4.5-1 sensible-utils_0.0.12 systemd_239-7 systemd-sysv_239-7 sysvinit-utils_2.88dsf-59.10 tar_1.30+dfsg-2 tzdata_2018e-1 udev_239-7 util-linux_2.32.1-0.1 xz-utils_5.2.2-1.3 zlib1g_1:1.2.11.dfsg-1
+------------------------------------------------------------------------------+
| Build |
+------------------------------------------------------------------------------+
Unpack source
-------------
gpgv: unknown type of key resource 'trustedkeys.kbx'
gpgv: keyblock resource '/sbuild-nonexistent/.gnupg/trustedkeys.kbx': General error
gpgv: Signature made Fri Sep 7 17:39:47 2018 UTC
gpgv: using RSA key D1E1316E93A760A8104D85FABB3A68018649AA06
gpgv: Can't check signature: No public key
dpkg-source: warning: failed to verify signature on ./libffi-platypus-perl_0.56-1.dsc
dpkg-source: info: extracting libffi-platypus-perl in /<<PKGBUILDDIR>>
dpkg-source: info: unpacking libffi-platypus-perl_0.56.orig.tar.gz
dpkg-source: info: unpacking libffi-platypus-perl_0.56-1.debian.tar.xz
Check disc space
----------------
Sufficient free space for build
User Environment
----------------
APT_CONFIG=/var/lib/sbuild/apt.conf
DEB_BUILD_OPTIONS=parallel=4
HOME=/sbuild-nonexistent
LC_ALL=POSIX
LOGNAME=buildd
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
SCHROOT_ALIAS_NAME=buster-staging-armhf-sbuild
SCHROOT_CHROOT_NAME=buster-staging-armhf-sbuild
SCHROOT_COMMAND=env
SCHROOT_GID=109
SCHROOT_GROUP=buildd
SCHROOT_SESSION_ID=buster-staging-armhf-sbuild-db7099a9-b663-44ef-bd08-bf3111c7b48a
SCHROOT_UID=104
SCHROOT_USER=buildd
SHELL=/bin/sh
TERM=linux
USER=buildd
dpkg-buildpackage
-----------------
dpkg-buildpackage: info: source package libffi-platypus-perl
dpkg-buildpackage: info: source version 0.56-1
dpkg-buildpackage: info: source distribution unstable
dpkg-source --before-build libffi-platypus-perl-0.56
dpkg-buildpackage: info: host architecture armhf
fakeroot debian/rules clean
dh clean
dh_clean
debian/rules build-arch
dh build-arch
dh_update_autotools_config -a
dh_autoreconf -a
dh_auto_configure -a
perl -I. Build.PL --installdirs vendor --config "optimize=-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" --config "ld=arm-linux-gnueabihf-gcc -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now"
command = pkg-config --cflags libffi
command = pkg-config --libs libffi
CONFIGURE
+ $args{extra_compiler_flags} =
+ $args{extra_linker_flags} = -lffi
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'FFI-Platypus' version '0.56'
dh_auto_build -a
perl Build
Checking for cc... arm-linux-gnueabihf-gcc
Checking for stdlib.h... yes
Checking for stdint.h... yes
Checking for sys/types.h... yes
Checking for sys/stat.h... yes
Checking for unistd.h... yes
Checking for alloca.h... yes
Checking for dlfcn.h... yes
Checking for limits.h... yes
Checking for stddef.h... yes
Checking for wchar.h... yes
Checking for signal.h... yes
Checking for inttypes.h... yes
Checking for windows.h... no
Checking for sys/cygwin.h... no
Checking for string.h... yes
Checking for psapi.h... no
Checking for stdio.h... yes
Checking for stdbool.h... yes
Checking for complex.h... yes
Checking for stdlib.h... (cached) yes
Checking for stdarg.h... yes
Checking for string.h... (cached) yes
Checking for float.h... yes
Checking for assert.h... yes
Checking for ctype.h... yes
Checking for errno.h... yes
Checking for limits.h... (cached) yes
Checking for locale.h... yes
Checking for math.h... yes
Checking for setjmp.h... yes
Checking for signal.h... (cached) yes
Checking for stddef.h... (cached) yes
Checking for stdio.h... (cached) yes
Checking for time.h... yes
Checking whether RTLD_LAZY is declared... yes
Checking whether alloca is declared... yes
Checking for dlopen in -ldl... yes
Checking for size of char... yes
Checking for compute result of (signed(char))... no
Checking for size of signed char... yes
Checking for size of unsigned char... yes
Checking for size of short... 2
Checking for compute result of (signed(short))... yes
Checking for size of signed short... 2
Checking for size of unsigned short... 2
Checking for size of int... 4
Checking for compute result of (signed(int))... yes
Checking for size of signed int... 4
Checking for size of unsigned int... 4
Checking for size of long... 4
Checking for compute result of (signed(long))... yes
Checking for size of signed long... 4
Checking for size of unsigned long... 4
Checking for size of size_t... 4
Checking for compute result of (signed(size_t))... no
Checking for size of float... 4
Checking for size of double... 8
Checking for size of bool... no
Checking for size of _Bool... yes
Checking for compute result of (signed(_Bool))... no
Checking for size of long long... 8
Checking for compute result of (signed(long long))... yes
Checking for size of signed long long... 8
Checking for size of unsigned long long... 8
Checking for size of dev_t... 8
Checking for compute result of (signed(dev_t))... no
Checking for size of ino_t... 8
Checking for compute result of (signed(ino_t))... no
Checking for size of mode_t... 4
Checking for compute result of (signed(mode_t))... no
Checking for size of nlink_t... 4
Checking for compute result of (signed(nlink_t))... no
Checking for size of uid_t... 4
Checking for compute result of (signed(uid_t))... no
Checking for size of gid_t... 4
Checking for compute result of (signed(gid_t))... no
Checking for size of off_t... 8
Checking for compute result of (signed(off_t))... no
Checking for size of blksize_t... 4
Checking for compute result of (signed(blksize_t))... no
Checking for size of blkcnt_t... 8
Checking for compute result of (signed(blkcnt_t))... no
Checking for size of time_t... 4
Checking for compute result of (signed(time_t))... no
Checking for size of int_least8_t... yes
Checking for size of int_least16_t... 2
Checking for size of int_least32_t... 4
Checking for size of int_least64_t... 8
Checking for size of uint_least8_t... yes
Checking for size of uint_least16_t... 2
Checking for size of uint_least32_t... 4
Checking for size of uint_least64_t... 8
Checking for size of ptrdiff_t... 4
Checking for compute result of (signed(ptrdiff_t))... no
Checking for size of wchar_t... 4
Checking for compute result of (signed(wchar_t))... no
Checking for size of wint_t... no
Checking for stdlib.h... (cached) yes
Checking for stdarg.h... (cached) yes
Checking for string.h... (cached) yes
Checking for float.h... (cached) yes
Checking for assert.h... (cached) yes
Checking for ctype.h... (cached) yes
Checking for errno.h... (cached) yes
Checking for limits.h... (cached) yes
Checking for locale.h... (cached) yes
Checking for math.h... (cached) yes
Checking for setjmp.h... (cached) yes
Checking for signal.h... (cached) yes
Checking for stddef.h... (cached) yes
Checking for stdio.h... (cached) yes
Checking for time.h... (cached) yes
Checking for sys/types.h... (cached) yes
Checking for sys/stat.h... (cached) yes
Checking for memory.h... yes
Checking for strings.h... yes
Checking for inttypes.h... (cached) yes
Checking for stdint.h... (cached) yes
Checking for unistd.h... (cached) yes
Checking for align of void*... 4
Checking for align of float... 4
Checking for align of double... 8
Checking for align of long double... 8
Checking for align of float complex... no
Checking for compute result of (__builtin_offsetof(struct align, bfloat_complex))... 4
Checking for align of double complex... no
Checking for compute result of (__builtin_offsetof(struct align, bdouble_complex))... 8
Checking for align of int8_t... yes
Checking for align of int16_t... 2
Checking for align of int32_t... 4
Checking for align of int64_t... 8
Checking for size of long double... 8
Checking for size of float complex... 8
Checking for size of double complex... 16
Checking for size of complex... 16
arm-linux-gnueabihf-gcc -Iinclude -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o inc/probe/abi.o inc/probe/abi.c
arm-linux-gnueabihf-gcc -fstack-protector-strong -L/usr/local/lib -Wl,-z,relro -Wl,-z,now -o inc/probe/abi inc/probe/abi.o -lffi
inc/probe/abi --test
exit = 0
arm-linux-gnueabihf-gcc -Iinclude -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o inc/probe/bigendian.o inc/probe/bigendian.c
arm-linux-gnueabihf-gcc -fstack-protector-strong -L/usr/local/lib -Wl,-z,relro -Wl,-z,now -o inc/probe/bigendian inc/probe/bigendian.o -lffi
inc/probe/bigendian --test
exit = 2
arm-linux-gnueabihf-gcc -Iinclude -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o inc/probe/bigendian64.o inc/probe/bigendian64.c
arm-linux-gnueabihf-gcc -fstack-protector-strong -L/usr/local/lib -Wl,-z,relro -Wl,-z,now -o inc/probe/bigendian64 inc/probe/bigendian64.o -lffi
inc/probe/bigendian64 --test
exit = 2
arm-linux-gnueabihf-gcc -Iinclude -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o inc/probe/complex.o inc/probe/complex.c
inc/probe/complex.c: In function 'main':
inc/probe/complex.c:34:14: error: 'ffi_type_complex_float' undeclared (first use in this function); did you mean 'ffi_type_float'?
args[0] = &ffi_type_complex_float;
^~~~~~~~~~~~~~~~~~~~~~
ffi_type_float
inc/probe/complex.c:34:14: note: each undeclared identifier is reported only once for each function it appears in
inc/probe/complex.c:56:14: error: 'ffi_type_complex_double' undeclared (first use in this function); did you mean 'ffi_type_longdouble'?
args[0] = &ffi_type_complex_double;
^~~~~~~~~~~~~~~~~~~~~~~
ffi_type_longdouble
arm-linux-gnueabihf-gcc -Iinclude -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o inc/probe/longdouble.o inc/probe/longdouble.c
arm-linux-gnueabihf-gcc -fstack-protector-strong -L/usr/local/lib -Wl,-z,relro -Wl,-z,now -o inc/probe/longdouble inc/probe/longdouble.o -lffi
inc/probe/longdouble --test
exit = 2
probing for ABIs...
arm-linux-gnueabihf-gcc -E .abi-probe-test/aO3wkBoeNm/ffitest.c
arm-linux-gnueabihf-gcc -Iinclude -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -DTRY_FFI_ABI=FFI_DEFAULT_ABI -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o .abi-probe-test/aO3wkBoeNm/default_abi.o .abi-probe-test/aO3wkBoeNm/default_abi.c
arm-linux-gnueabihf-gcc -fstack-protector-strong -L/usr/local/lib -Wl,-z,relro -Wl,-z,now -o .abi-probe-test/aO3wkBoeNm/default_abi .abi-probe-test/aO3wkBoeNm/default_abi.o -lffi
arm-linux-gnueabihf-gcc -Iinclude -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -DTRY_FFI_ABI=FFI_SYSV -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o .abi-probe-test/aO3wkBoeNm/sysv.o .abi-probe-test/aO3wkBoeNm/sysv.c
arm-linux-gnueabihf-gcc -fstack-protector-strong -L/usr/local/lib -Wl,-z,relro -Wl,-z,now -o .abi-probe-test/aO3wkBoeNm/sysv .abi-probe-test/aO3wkBoeNm/sysv.o -lffi
arm-linux-gnueabihf-gcc -Iinclude -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -DTRY_FFI_ABI=FFI_VFP -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o .abi-probe-test/aO3wkBoeNm/vfp.o .abi-probe-test/aO3wkBoeNm/vfp.c
arm-linux-gnueabihf-gcc -fstack-protector-strong -L/usr/local/lib -Wl,-z,relro -Wl,-z,now -o .abi-probe-test/aO3wkBoeNm/vfp .abi-probe-test/aO3wkBoeNm/vfp.o -lffi
found abi: default_abi = 2
found abi: sysv = 1
found abi: vfp = 2
Building FFI-Platypus
arm-linux-gnueabihf-gcc -Iinclude -Ixs -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o xs/closure.o xs/closure.c
arm-linux-gnueabihf-gcc -Iinclude -Ixs -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o xs/complex.o xs/complex.c
arm-linux-gnueabihf-gcc -Iinclude -Ixs -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o xs/custom.o xs/custom.c
arm-linux-gnueabihf-gcc -Iinclude -Ixs -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o xs/havepm.o xs/havepm.c
arm-linux-gnueabihf-gcc -Iinclude -Ixs -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o xs/meta.o xs/meta.c
arm-linux-gnueabihf-gcc -Iinclude -Ixs -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o xs/names.o xs/names.c
arm-linux-gnueabihf-gcc -Iinclude -Ixs -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o xs/perl_math_int64.o xs/perl_math_int64.c
arm-linux-gnueabihf-gcc -Iinclude -Ixs -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o xs/record_opaque.o xs/record_opaque.c
arm-linux-gnueabihf-gcc -Iinclude -Ixs -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o xs/record_simple.o xs/record_simple.c
arm-linux-gnueabihf-gcc -Iinclude -Ixs -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o xs/record_string.o xs/record_string.c
arm-linux-gnueabihf-gcc -Iinclude -Ixs -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o xs/windl.o xs/windl.c
arm-linux-gnueabihf-gcc -Iinclude -Ixs -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -DVERSION="0.56" -DXS_VERSION="0.56" -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o lib/FFI/Platypus.o lib/FFI/Platypus.c
ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/FFI/Platypus/Platypus.bs')
arm-linux-gnueabihf-gcc -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -shared -L/usr/local/lib -fstack-protector-strong -o blib/arch/auto/FFI/Platypus/Platypus.so lib/FFI/Platypus.o xs/closure.o xs/complex.o xs/custom.o xs/havepm.o xs/meta.o xs/names.o xs/perl_math_int64.o xs/record_opaque.o xs/record_simple.o xs/record_string.o xs/windl.o -lffi
dh_auto_test -a
perl Build test --verbose 1
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/align.o t/ffi/align.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/align_array.o t/ffi/align_array.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/align_fixed.o t/ffi/align_fixed.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/align_string.o t/ffi/align_string.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/basic.o t/ffi/basic.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/closure.o t/ffi/closure.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/color.o t/ffi/color.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/complex_double.o t/ffi/complex_double.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/complex_float.o t/ffi/complex_float.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/double.o t/ffi/double.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/float.o t/ffi/float.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/longdouble.o t/ffi/longdouble.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/memcmp4.o t/ffi/memcmp4.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/pointer.o t/ffi/pointer.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/record.o t/ffi/record.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/sint16.o t/ffi/sint16.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/sint32.o t/ffi/sint32.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/sint64.o t/ffi/sint64.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/sint8.o t/ffi/sint8.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/string.o t/ffi/string.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/uint16.o t/ffi/uint16.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/uint32.o t/ffi/uint32.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/uint64.o t/ffi/uint64.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.26/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o t/ffi/uint8.o t/ffi/uint8.c
arm-linux-gnueabihf-gcc -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -shared -L/usr/local/lib -fstack-protector-strong -o /<<PKGBUILDDIR>>/t/ffi/libtest.so t/ffi/align.o t/ffi/align_array.o t/ffi/align_fixed.o t/ffi/align_string.o t/ffi/basic.o t/ffi/closure.o t/ffi/color.o t/ffi/complex_double.o t/ffi/complex_float.o t/ffi/double.o t/ffi/float.o t/ffi/longdouble.o t/ffi/memcmp4.o t/ffi/pointer.o t/ffi/record.o t/ffi/sint16.o t/ffi/sint32.o t/ffi/sint64.o t/ffi/sint8.o t/ffi/string.o t/ffi/uint16.o t/ffi/uint32.o t/ffi/uint64.o t/ffi/uint8.o -lffi
#
#
#
# HARNESS_ACTIVE=1
# HARNESS_IS_VERBOSE=1
# HARNESS_VERSION=3.38
# LC_ALL=POSIX
# PERL5LIB=/<<PKGBUILDDIR>>/blib/lib:/<<PKGBUILDDIR>>/blib/arch:inc
# PERL_DL_NONLAZY=1
# PERL_USE_UNSAFE_INC=1
# SHELL=/bin/sh
#
#
#
# PERL5LIB path
# /<<PKGBUILDDIR>>/blib/lib
# /<<PKGBUILDDIR>>/blib/arch
# inc
#
#
#
# perl 5.026002
# Alien::Base -
# Alien::FFI 0.21
# Capture::Tiny 0.48
# Config::AutoConf 0.317
# ExtUtils::CBuilder 0.280225
# FFI::CheckLib 0.20
# File::ShareDir 1.116
# IPC::Cmd 0.96
# Module::Build 0.4224
# PkgConfig -
# Test::More 1.302073
# constant 1.33
#
#
#
# Alien::FFI version = 0.21
# Alien::FFI->install_type = system
# Alien::FFI->cflags =
# Alien::FFI->libs = -lffi
# Alien::FFI->dist_dir = undef
# Alien::FFI->version = 3.2.1
# extended diagnostic failed: Can't locate object method "runtime_prop" via package "Alien::FFI" at t/00_diag.t line 38.
#
#
#
# CPU Info:
# model name : ARMv7 Processor rev 10 (v7l)
#
#
#
t/00_diag.t ..............................
1..1
ok 1 - okay
command = pkg-config --cflags libffi
command = pkg-config --libs libffi
ok
t/01_use.t ...............................
ok 1 - require FFI::Platypus;
ok 2 - require FFI::Platypus::API;
ok 3 - require FFI::Platypus::Buffer;
ok 4 - require FFI::Platypus::DL;
ok 5 - require FFI::Platypus::Declare;
ok 6 - require FFI::Platypus::Lang;
ok 7 - require FFI::Platypus::Lang::ASM;
ok 8 - require FFI::Platypus::Lang::C;
ok 9 - require FFI::Platypus::Lang::Win32;
ok 10 - require FFI::Platypus::Memory;
ok 11 - require FFI::Platypus::Record;
ok 12 - require FFI::Platypus::Record::TieArray;
ok 13 - require FFI::Platypus::ShareConfig;
ok 14 - require FFI::Platypus::Type::PointerSizeBuffer;
ok 15 - require FFI::Platypus::Type::StringPointer;
ok 16 - test for FFI::Platypus
ok 17 - test for FFI::Platypus::API
ok 18 - test for FFI::Platypus::Buffer
ok 19 - test for FFI::Platypus::DL
ok 20 - test for FFI::Platypus::Declare
ok 21 - test for FFI::Platypus::Lang
ok 22 - test for FFI::Platypus::Lang::ASM
ok 23 - test for FFI::Platypus::Lang::C
ok 24 - test for FFI::Platypus::Lang::Win32
ok 25 - test for FFI::Platypus::Memory
ok 26 - test for FFI::Platypus::Record
ok 27 - test for FFI::Platypus::Record::TieArray
ok 28 - test for FFI::Platypus::ShareConfig
ok 29 - test for FFI::Platypus::Type::PointerSizeBuffer
ok 30 - test for FFI::Platypus::Type::StringPointer
1..30
ok
t/ffi_platypus.t .........................
# Subtest: constructor
# Subtest: basic
ok 1 - An object of class 'FFI::Platypus' isa 'FFI::Platypus'
1..1
ok 1 - basic
# Subtest: no arguments
ok 1 - 'FFI::Platypus.new' isa 'FFI::Platypus'
ok 2 - ffi.lib
1..2
ok 2 - no arguments
# Subtest: with single lib
ok 1 - 'FFI::Platypus.new' isa 'FFI::Platypus'
ok 2 - ffi.lib
1..2
ok 3 - with single lib
# Subtest: with multiple lib
ok 1 - 'FFI::Platypus.new' isa 'FFI::Platypus'
ok 2 - ffi.lib
1..2
ok 4 - with multiple lib
1..4
ok 1 - constructor
# Subtest: abi
ok 1 - has a default ABI
# Subtest: default_abi
ok 1 - string
ok 2 - integer
1..2
ok 2 - default_abi
# Subtest: sysv
ok 1 - string
ok 2 - integer
1..2
ok 3 - sysv
# Subtest: vfp
ok 1 - string
ok 2 - integer
1..2
ok 4 - vfp
# Subtest: bogus
ok 1 - string
ok 2 - integer
1..2
ok 5 - bogus
1..5
ok 2 - abi
# Subtest: alignof
# Subtest: ffi types
ok 1 - alignof sint8 = 1
ok 2 - alignof sint8 [2] = 1
ok 3 - alignof sint8 * = 4
ok 4 - alignof custom_sint8 = 1
ok 5 - alignof uint8 = 1
ok 6 - alignof uint8 [2] = 1
ok 7 - alignof uint8 * = 4
ok 8 - alignof custom_uint8 = 1
ok 9 - alignof sint16 = 2
ok 10 - alignof sint16 [2] = 2
ok 11 - alignof sint16 * = 4
ok 12 - alignof custom_sint16 = 2
ok 13 - alignof uint16 = 2
ok 14 - alignof uint16 [2] = 2
ok 15 - alignof uint16 * = 4
ok 16 - alignof custom_uint16 = 2
ok 17 - alignof sint32 = 4
ok 18 - alignof sint32 [2] = 4
ok 19 - alignof sint32 * = 4
ok 20 - alignof custom_sint32 = 4
ok 21 - alignof uint32 = 4
ok 22 - alignof uint32 [2] = 4
ok 23 - alignof uint32 * = 4
ok 24 - alignof custom_uint32 = 4
ok 25 - alignof sint64 = 8
ok 26 - alignof sint64 [2] = 8
ok 27 - alignof sint64 * = 4
ok 28 - alignof custom_sint64 = 8
ok 29 - alignof uint64 = 8
ok 30 - alignof uint64 [2] = 8
ok 31 - alignof uint64 * = 4
ok 32 - alignof custom_uint64 = 8
ok 33 - alignof float = 4
ok 34 - alignof float [2] = 4
ok 35 - alignof float * = 4
ok 36 - alignof custom_float = 4
ok 37 - alignof double = 8
ok 38 - alignof double [2] = 8
ok 39 - alignof double * = 4
ok 40 - alignof custom_double = 8
ok 41 - alignof opaque = 4
ok 42 - alignof opaque [2] = 4
ok 43 - alignof opaque * = 4
ok 44 - alignof custom_opaque = 4
ok 45 - alignof string = 4
1..45
ok 1 - ffi types
# Subtest: aliases
ok 1 - alignof ushort = 2
ok 2 - alignof foo = 2
1..2
ok 2 - aliases
# Subtest: closure
ok 1 - sizeof closure_t = 4
1..1
ok 3 - closure
# Subtest: record
ok 1 - generic record alignment not supported
# cannot determine alignment of record at t/ffi_platypus.t line 123.
1..1
ok 4 - record
1..4
ok 3 - alignof
# Subtest: custom type
# Subtest: float
ok 1 - ffi.custom_type 1
# {'float_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl'}}
ok 2 - ffi.custom_type 1
# {'float_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl'}}
ok 3 - ffi.custom_type 1
# {'float_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl'}}
ok 4 - ffi.custom_type 1
# {'float_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl'}}
ok 5 - ffi.custom_type 1
# {'float_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl'}}
ok 6 - ffi.custom_type 1
# {'float_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl'}}
1..6
ok 1 - float
# Subtest: double
ok 1 - ffi.custom_type 1
# {'double_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl'}}
ok 2 - ffi.custom_type 1
# {'double_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl'}}
ok 3 - ffi.custom_type 1
# {'double_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl'}}
ok 4 - ffi.custom_type 1
# {'double_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl'}}
ok 5 - ffi.custom_type 1
# {'double_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl'}}
ok 6 - ffi.custom_type 1
# {'double_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl'}}
1..6
ok 2 - double
# Subtest: opaque
ok 1 - ffi.custom_type 1
# {'opaque_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 4,'type' => 'custom_perl'}}
ok 2 - ffi.custom_type 1
# {'opaque_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 4,'type' => 'custom_perl'}}
ok 3 - ffi.custom_type 1
# {'opaque_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 4,'type' => 'custom_perl'}}
ok 4 - ffi.custom_type 1
# {'opaque_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 4,'type' => 'custom_perl'}}
ok 5 - ffi.custom_type 1
# {'opaque_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 4,'type' => 'custom_perl'}}
ok 6 - ffi.custom_type 1
# {'opaque_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 4,'type' => 'custom_perl'}}
1..6
ok 3 - opaque
# Subtest: uint8
ok 1 - ffi.custom_type 1
# {'uint8_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl'}}
ok 2 - ffi.custom_type 1
# {'uint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl'}}
ok 3 - ffi.custom_type 1
# {'uint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl'}}
ok 4 - ffi.custom_type 1
# {'uint8_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl'}}
ok 5 - ffi.custom_type 1
# {'uint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl'}}
ok 6 - ffi.custom_type 1
# {'uint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl'}}
1..6
ok 4 - uint8
# Subtest: sint8
ok 1 - ffi.custom_type 1
# {'sint8_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl'}}
ok 2 - ffi.custom_type 1
# {'sint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl'}}
ok 3 - ffi.custom_type 1
# {'sint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl'}}
ok 4 - ffi.custom_type 1
# {'sint8_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl'}}
ok 5 - ffi.custom_type 1
# {'sint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl'}}
ok 6 - ffi.custom_type 1
# {'sint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl'}}
1..6
ok 5 - sint8
# Subtest: uint16
ok 1 - ffi.custom_type 1
# {'uint16_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl'}}
ok 2 - ffi.custom_type 1
# {'uint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl'}}
ok 3 - ffi.custom_type 1
# {'uint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl'}}
ok 4 - ffi.custom_type 1
# {'uint16_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl'}}
ok 5 - ffi.custom_type 1
# {'uint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl'}}
ok 6 - ffi.custom_type 1
# {'uint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl'}}
1..6
ok 6 - uint16
# Subtest: sint16
ok 1 - ffi.custom_type 1
# {'sint16_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl'}}
ok 2 - ffi.custom_type 1
# {'sint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl'}}
ok 3 - ffi.custom_type 1
# {'sint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl'}}
ok 4 - ffi.custom_type 1
# {'sint16_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl'}}
ok 5 - ffi.custom_type 1
# {'sint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl'}}
ok 6 - ffi.custom_type 1
# {'sint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl'}}
1..6
ok 7 - sint16
# Subtest: uint32
ok 1 - ffi.custom_type 1
# {'uint32_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl'}}
ok 2 - ffi.custom_type 1
# {'uint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl'}}
ok 3 - ffi.custom_type 1
# {'uint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl'}}
ok 4 - ffi.custom_type 1
# {'uint32_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl'}}
ok 5 - ffi.custom_type 1
# {'uint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl'}}
ok 6 - ffi.custom_type 1
# {'uint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl'}}
1..6
ok 8 - uint32
# Subtest: sint32
ok 1 - ffi.custom_type 1
# {'sint32_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl'}}
ok 2 - ffi.custom_type 1
# {'sint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl'}}
ok 3 - ffi.custom_type 1
# {'sint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl'}}
ok 4 - ffi.custom_type 1
# {'sint32_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl'}}
ok 5 - ffi.custom_type 1
# {'sint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl'}}
ok 6 - ffi.custom_type 1
# {'sint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl'}}
1..6
ok 9 - sint32
# Subtest: uint64
ok 1 - ffi.custom_type 1
# {'uint64_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl'}}
ok 2 - ffi.custom_type 1
# {'uint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl'}}
ok 3 - ffi.custom_type 1
# {'uint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl'}}
ok 4 - ffi.custom_type 1
# {'uint64_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl'}}
ok 5 - ffi.custom_type 1
# {'uint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl'}}
ok 6 - ffi.custom_type 1
# {'uint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl'}}
1..6
ok 10 - uint64
# Subtest: sint64
ok 1 - ffi.custom_type 1
# {'sint64_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl'}}
ok 2 - ffi.custom_type 1
# {'sint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl'}}
ok 3 - ffi.custom_type 1
# {'sint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl'}}
ok 4 - ffi.custom_type 1
# {'sint64_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl'}}
ok 5 - ffi.custom_type 1
# {'sint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl'}}
ok 6 - ffi.custom_type 1
# {'sint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl'}}
1..6
ok 11 - sint64
1..11
ok 4 - custom type
# Subtest: find lib
# Subtest: find_lib
ok 1 - found f0 = 3066667460
1..1
ok 1 - find_lib
# Subtest: external
ok 1 - ffi.find_symbol(f0) = 3066667460
ok 2 - ffi.find_symbol(bogus) = undef
1..2
ok 2 - external
# Subtest: internal
ok 1 - ffi.find_symbol(printf) = 3068145304
ok 2 - ffi.find_symbol(bogus) = undef
1..2
ok 3 - internal
1..3
ok 5 - find lib
# Subtest: find symbol
# Subtest: external
ok 1 - ffi.find_symbol(f0) = 3066667460
ok 2 - ffi.find_symbol(bogus) = undef
1..2
ok 1 - external
# Subtest: internal
ok 1 - ffi.find_symbol(printf) = 3068145304
ok 2 - ffi.find_symbol(bogus) = undef
1..2
ok 2 - internal
1..2
ok 6 - find symbol
# Subtest: lib
# Subtest: basic
ok 1 - exists t/ffi/libtest.so
ok 2 - ffi.lib (set)
ok 3 - ffi.lib (get)
1..3
ok 1 - basic
# Subtest: undef
# Subtest: baseline
ok 1
1..1
ok 1 - baseline
# Subtest: lib => [undef]
ok 1
1..1
ok 2 - lib => [undef]
# Subtest: lib => undef
ok 1
1..1
ok 3 - lib => undef
1..3
ok 2 - undef
# Subtest: coderef
ok 1 - exists t/ffi/libtest.so
ok 2 - ffi.lib (set)
ok 3 - ffi.lib (get)
1..3
ok 3 - coderef
1..3
ok 7 - lib
# Subtest: sizeof
# Subtest: integers
ok 1 - sizeof uint8 = 1
ok 2 - sizeof uint16 = 2
ok 3 - sizeof uint32 = 4
ok 4 - sizeof uint64 = 8
ok 5 - sizeof sint8 = 1
ok 6 - sizeof sint16 = 2
ok 7 - sizeof sint32 = 4
ok 8 - sizeof sint64 = 8
1..8
ok 1 - integers
# Subtest: floats
ok 1 - sizeof float = 4
ok 2 - sizeof double = 8
1..2
ok 2 - floats
# Subtest: pointers
ok 1 - sizeof opaque = 4
ok 2 - sizeof uint8* = 4
ok 3 - sizeof uint16* = 4
ok 4 - sizeof uint32* = 4
ok 5 - sizeof uint64* = 4
ok 6 - sizeof sint8* = 4
ok 7 - sizeof sint16* = 4
ok 8 - sizeof sint32* = 4
ok 9 - sizeof sint64* = 4
ok 10 - sizeof float* = 4
ok 11 - sizeof double* = 4
ok 12 - sizeof opaque* = 4
ok 13 - sizeof string = 4
ok 14 - sizeof (int)->int = 4
1..14
ok 3 - pointers
# Subtest: arrays
ok 1 - sizeof uint8 [32] = 1
ok 2 - sizeof uint8 [32] = 2
ok 3 - sizeof uint8 [32] = 3
ok 4 - sizeof uint8 [32] = 4
ok 5 - sizeof uint8 [32] = 5
ok 6 - sizeof uint8 [32] = 6
ok 7 - sizeof uint8 [32] = 7
ok 8 - sizeof uint8 [32] = 8
ok 9 - sizeof uint8 [32] = 9
ok 10 - sizeof uint8 [32] = 10
ok 11 - sizeof uint16 [32] = 2
ok 12 - sizeof uint16 [32] = 4
ok 13 - sizeof uint16 [32] = 6
ok 14 - sizeof uint16 [32] = 8
ok 15 - sizeof uint16 [32] = 10
ok 16 - sizeof uint16 [32] = 12
ok 17 - sizeof uint16 [32] = 14
ok 18 - sizeof uint16 [32] = 16
ok 19 - sizeof uint16 [32] = 18
ok 20 - sizeof uint16 [32] = 20
ok 21 - sizeof uint32 [32] = 4
ok 22 - sizeof uint32 [32] = 8
ok 23 - sizeof uint32 [32] = 12
ok 24 - sizeof uint32 [32] = 16
ok 25 - sizeof uint32 [32] = 20
ok 26 - sizeof uint32 [32] = 24
ok 27 - sizeof uint32 [32] = 28
ok 28 - sizeof uint32 [32] = 32
ok 29 - sizeof uint32 [32] = 36
ok 30 - sizeof uint32 [32] = 40
ok 31 - sizeof uint64 [32] = 8
ok 32 - sizeof uint64 [32] = 16
ok 33 - sizeof uint64 [32] = 24
ok 34 - sizeof uint64 [32] = 32
ok 35 - sizeof uint64 [32] = 40
ok 36 - sizeof uint64 [32] = 48
ok 37 - sizeof uint64 [32] = 56
ok 38 - sizeof uint64 [32] = 64
ok 39 - sizeof uint64 [32] = 72
ok 40 - sizeof uint64 [32] = 80
ok 41 - sizeof sint8 [32] = 1
ok 42 - sizeof sint8 [32] = 2
ok 43 - sizeof sint8 [32] = 3
ok 44 - sizeof sint8 [32] = 4
ok 45 - sizeof sint8 [32] = 5
ok 46 - sizeof sint8 [32] = 6
ok 47 - sizeof sint8 [32] = 7
ok 48 - sizeof sint8 [32] = 8
ok 49 - sizeof sint8 [32] = 9
ok 50 - sizeof sint8 [32] = 10
ok 51 - sizeof sint16 [32] = 2
ok 52 - sizeof sint16 [32] = 4
ok 53 - sizeof sint16 [32] = 6
ok 54 - sizeof sint16 [32] = 8
ok 55 - sizeof sint16 [32] = 10
ok 56 - sizeof sint16 [32] = 12
ok 57 - sizeof sint16 [32] = 14
ok 58 - sizeof sint16 [32] = 16
ok 59 - sizeof sint16 [32] = 18
ok 60 - sizeof sint16 [32] = 20
ok 61 - sizeof sint32 [32] = 4
ok 62 - sizeof sint32 [32] = 8
ok 63 - sizeof sint32 [32] = 12
ok 64 - sizeof sint32 [32] = 16
ok 65 - sizeof sint32 [32] = 20
ok 66 - sizeof sint32 [32] = 24
ok 67 - sizeof sint32 [32] = 28
ok 68 - sizeof sint32 [32] = 32
ok 69 - sizeof sint32 [32] = 36
ok 70 - sizeof sint32 [32] = 40
ok 71 - sizeof sint64 [32] = 8
ok 72 - sizeof sint64 [32] = 16
ok 73 - sizeof sint64 [32] = 24
ok 74 - sizeof sint64 [32] = 32
ok 75 - sizeof sint64 [32] = 40
ok 76 - sizeof sint64 [32] = 48
ok 77 - sizeof sint64 [32] = 56
ok 78 - sizeof sint64 [32] = 64
ok 79 - sizeof sint64 [32] = 72
ok 80 - sizeof sint64 [32] = 80
ok 81 - sizeof float [32] = 4
ok 82 - sizeof float [32] = 8
ok 83 - sizeof float [32] = 12
ok 84 - sizeof float [32] = 16
ok 85 - sizeof float [32] = 20
ok 86 - sizeof float [32] = 24
ok 87 - sizeof float [32] = 28
ok 88 - sizeof float [32] = 32
ok 89 - sizeof float [32] = 36
ok 90 - sizeof float [32] = 40
ok 91 - sizeof double [32] = 8
ok 92 - sizeof double [32] = 16
ok 93 - sizeof double [32] = 24
ok 94 - sizeof double [32] = 32
ok 95 - sizeof double [32] = 40
ok 96 - sizeof double [32] = 48
ok 97 - sizeof double [32] = 56
ok 98 - sizeof double [32] = 64
ok 99 - sizeof double [32] = 72
ok 100 - sizeof double [32] = 80
ok 101 - sizeof opaque [32] = 4
ok 102 - sizeof opaque [32] = 8
ok 103 - sizeof opaque [32] = 12
ok 104 - sizeof opaque [32] = 16
ok 105 - sizeof opaque [32] = 20
ok 106 - sizeof opaque [32] = 24
ok 107 - sizeof opaque [32] = 28
ok 108 - sizeof opaque [32] = 32
ok 109 - sizeof opaque [32] = 36
ok 110 - sizeof opaque [32] = 40
1..110
ok 4 - arrays
# Subtest: custom_type
ok 1 - sizeof my_uint8 = 1
ok 2 - sizeof my_uint16 = 2
ok 3 - sizeof my_uint32 = 4
ok 4 - sizeof my_uint64 = 8
ok 5 - sizeof my_sint8 = 1
ok 6 - sizeof my_sint16 = 2
ok 7 - sizeof my_sint32 = 4
ok 8 - sizeof my_sint64 = 8
ok 9 - sizeof my_float = 4
ok 10 - sizeof my_double = 8
ok 11 - sizeof my_opaque = 4
1..11
ok 5 - custom_type
1..5
ok 8 - sizeof
# Subtest: type
# Subtest: simple type
ok 1 - ffi.type(sint8)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
1..2
ok 1 - simple type
# Subtest: aliased type
ok 1 - ffi.type(sint8 => my_integer_8)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
ok 3 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
ok 4 - ffi.types returns my_integer_8
1..4
ok 2 - aliased type
# Subtest: ffi basic types
# Subtest: sint8
ok 1 - ffi.type(sint8)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 1,'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'scalar'}
# 0
ok 3 - size = 1
1..3
ok 1 - sint8
# Subtest: uint8
ok 1 - ffi.type(uint8)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 1,'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'scalar'}
# 0
ok 3 - size = 1
1..3
ok 2 - uint8
# Subtest: sint16
ok 1 - ffi.type(sint16)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 2,'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'scalar'}
# 0
ok 3 - size = 2
1..3
ok 3 - sint16
# Subtest: uint16
ok 1 - ffi.type(uint16)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 2,'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'scalar'}
# 0
ok 3 - size = 2
1..3
ok 4 - uint16
# Subtest: sint32
ok 1 - ffi.type(sint32)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar'}
# 0
ok 3 - size = 4
1..3
ok 5 - sint32
# Subtest: uint32
ok 1 - ffi.type(uint32)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 4,'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'scalar'}
# 0
ok 3 - size = 4
1..3
ok 6 - uint32
# Subtest: sint64
ok 1 - ffi.type(sint64)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 8,'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'scalar'}
# 0
ok 3 - size = 8
1..3
ok 7 - sint64
# Subtest: uint64
ok 1 - ffi.type(uint64)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 8,'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'scalar'}
# 0
ok 3 - size = 8
1..3
ok 8 - uint64
# Subtest: float
ok 1 - ffi.type(float)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 4,'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'scalar'}
# 0
ok 3 - size = 4
1..3
ok 9 - float
# Subtest: double
ok 1 - ffi.type(double)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 8,'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'scalar'}
# 0
ok 3 - size = 8
1..3
ok 10 - double
# Subtest: opaque
ok 1 - ffi.type(opaque)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 4,'element_type' => 'opaque','ffi_type' => 'pointer','size' => 4,'type' => 'scalar'}
# 0
ok 3 - size = 4
1..3
ok 11 - opaque
# Subtest: string
ok 1 - ffi.type(string)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'access' => 'ro','element_size' => 4,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 0,'size' => 4,'type' => 'string'}
# 0
ok 3 - size = 4
1..3
ok 12 - string
1..12
ok 3 - ffi basic types
# Subtest: ffi pointer types
# Subtest: sint8 *
ok 1 - ffi.type(sint8 *)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 1,'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 4,'type' => 'pointer'}
# 0
ok 3 - size = 4
1..3
ok 1 - sint8 *
# Subtest: uint8 *
ok 1 - ffi.type(uint8 *)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 1,'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 4,'type' => 'pointer'}
# 0
ok 3 - size = 4
1..3
ok 2 - uint8 *
# Subtest: sint16 *
ok 1 - ffi.type(sint16 *)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 2,'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 4,'type' => 'pointer'}
# 0
ok 3 - size = 4
1..3
ok 3 - sint16 *
# Subtest: uint16 *
ok 1 - ffi.type(uint16 *)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 2,'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 4,'type' => 'pointer'}
# 0
ok 3 - size = 4
1..3
ok 4 - uint16 *
# Subtest: sint32 *
ok 1 - ffi.type(sint32 *)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'pointer'}
# 0
ok 3 - size = 4
1..3
ok 5 - sint32 *
# Subtest: uint32 *
ok 1 - ffi.type(uint32 *)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 4,'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'pointer'}
# 0
ok 3 - size = 4
1..3
ok 6 - uint32 *
# Subtest: sint64 *
ok 1 - ffi.type(sint64 *)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 8,'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 4,'type' => 'pointer'}
# 0
ok 3 - size = 4
1..3
ok 7 - sint64 *
# Subtest: uint64 *
ok 1 - ffi.type(uint64 *)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 8,'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 4,'type' => 'pointer'}
# 0
ok 3 - size = 4
1..3
ok 8 - uint64 *
# Subtest: float *
ok 1 - ffi.type(float *)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 4,'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'pointer'}
# 0
ok 3 - size = 4
1..3
ok 9 - float *
# Subtest: double *
ok 1 - ffi.type(double *)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 8,'element_type' => 'float','ffi_type' => 'double','size' => 4,'type' => 'pointer'}
# 0
ok 3 - size = 4
1..3
ok 10 - double *
# Subtest: opaque *
ok 1 - ffi.type(opaque *)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_size' => 4,'element_type' => 'opaque','ffi_type' => 'pointer','size' => 4,'type' => 'pointer'}
# 0
ok 3 - size = 4
1..3
ok 11 - opaque *
# Subtest: string *
1..0 # SKIP ME GRIMLOCK SAY STRING CAN NO BE POINTER
ok 12 # skip ME GRIMLOCK SAY STRING CAN NO BE POINTER
1..12
ok 4 - ffi pointer types
# Subtest: ffi array types
# Subtest: sint8 [5]
ok 1 - ffi.type(sint8 [5])
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_count' => 5,'element_size' => 1,'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 5,'type' => 'array'}
# 0
ok 3 - size = 5
ok 4 - size = 5
1..4
ok 1 - sint8 [5]
# Subtest: uint8 [7]
ok 1 - ffi.type(uint8 [7])
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_count' => 7,'element_size' => 1,'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 7,'type' => 'array'}
# 0
ok 3 - size = 7
ok 4 - size = 7
1..4
ok 2 - uint8 [7]
# Subtest: sint16 [9]
ok 1 - ffi.type(sint16 [9])
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_count' => 9,'element_size' => 2,'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 18,'type' => 'array'}
# 0
ok 3 - size = 18
ok 4 - size = 9
1..4
ok 3 - sint16 [9]
# Subtest: uint16 [11]
ok 1 - ffi.type(uint16 [11])
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_count' => 11,'element_size' => 2,'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 22,'type' => 'array'}
# 0
ok 3 - size = 22
ok 4 - size = 11
1..4
ok 4 - uint16 [11]
# Subtest: sint32 [13]
ok 1 - ffi.type(sint32 [13])
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_count' => 13,'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 52,'type' => 'array'}
# 0
ok 3 - size = 52
ok 4 - size = 13
1..4
ok 5 - sint32 [13]
# Subtest: uint32 [15]
ok 1 - ffi.type(uint32 [15])
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_count' => 15,'element_size' => 4,'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 60,'type' => 'array'}
# 0
ok 3 - size = 60
ok 4 - size = 15
1..4
ok 6 - uint32 [15]
# Subtest: sint64 [17]
ok 1 - ffi.type(sint64 [17])
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_count' => 17,'element_size' => 8,'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 136,'type' => 'array'}
# 0
ok 3 - size = 136
ok 4 - size = 17
1..4
ok 7 - sint64 [17]
# Subtest: uint64 [19]
ok 1 - ffi.type(uint64 [19])
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_count' => 19,'element_size' => 8,'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 152,'type' => 'array'}
# 0
ok 3 - size = 152
ok 4 - size = 19
1..4
ok 8 - uint64 [19]
# Subtest: float [21]
ok 1 - ffi.type(float [21])
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_count' => 21,'element_size' => 4,'element_type' => 'float','ffi_type' => 'float','size' => 84,'type' => 'array'}
# 0
ok 3 - size = 84
ok 4 - size = 21
1..4
ok 9 - float [21]
# Subtest: double [23]
ok 1 - ffi.type(double [23])
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_count' => 23,'element_size' => 8,'element_type' => 'float','ffi_type' => 'double','size' => 184,'type' => 'array'}
# 0
ok 3 - size = 184
ok 4 - size = 23
1..4
ok 10 - double [23]
# Subtest: opaque [25]
ok 1 - ffi.type(opaque [25])
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
# {'element_count' => 25,'element_size' => 4,'element_type' => 'opaque','ffi_type' => 'pointer','size' => 100,'type' => 'array'}
# 0
ok 3 - size = 100
ok 4 - size = 25
1..4
ok 11 - opaque [25]
# Subtest: string [27]
1..0 # SKIP ME GRIMLOCK SAY STRING CAN NO BE ARRAY
ok 12 # skip ME GRIMLOCK SAY STRING CAN NO BE ARRAY
1..12
ok 5 - ffi array types
# Subtest: closure types
ok 1 - (int)->int is a legal closure type
# {'element_size' => 4,'element_type' => 'opaque','ffi_type' => 'pointer','signature' => [[{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar'}],{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar'}],'size' => 4,'type' => 'closure'}
# 0
ok 2 # skip arrays not currently supported as closure argument types
ok 3 - inline closure illegal
ok 4 - argument type closure illegal
ok 5 - return type closure illegal
ok 6 - a more complicated closure
# {'element_size' => 4,'element_type' => 'opaque','ffi_type' => 'pointer','signature' => [[{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar'},{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar'},{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar'},{'element_size' => 1,'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'scalar'},{'access' => 'ro','element_size' => 4,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 0,'size' => 4,'type' => 'string'},{'element_size' => 4,'element_type' => 'opaque','ffi_type' => 'pointer','size' => 4,'type' => 'scalar'}],{'element_size' => 1,'element_type' => 'void','ffi_type' => 'void','size' => 1,'type' => 'scalar'}],'size' => 4,'type' => 'closure'}
# 0
1..6
ok 6 - closure types
# Subtest: record
# {'element_type' => 'opaque','ffi_type' => 'pointer','ref' => 0,'size' => 1,'type' => 'record'}
# 0
# {'element_type' => 'opaque','ffi_type' => 'pointer','ref' => 0,'size' => 32,'type' => 'record'}
# 0
ok 1 - sizeof my_record_1 = 1
ok 2 - sizeof my_record_32 = 32
# {'element_type' => 'opaque','ffi_type' => 'pointer','ref' => 1,'size' => 22,'type' => 'record'}
# 0
# {'element_type' => 'opaque','ffi_type' => 'pointer','ref' => 1,'size' => 44,'type' => 'record'}
# 0
ok 3 - sizeof my_record_22 = 22
ok 4 - sizeof my_record_44 = 44
1..4
ok 7 - record
# Subtest: string
# Subtest: string
ok 1 - sizeof string = 4
ok 2 - not fixed size
ok 3 - access = ro
# {'access' => 'ro','element_size' => 4,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 0,'size' => 4,'type' => 'string'}
# 0
1..3
ok 1 - string
# Subtest: string_rw
ok 1 - sizeof string_rw = 4
ok 2 - not fixed size
ok 3 - access = rw
# {'access' => 'rw','element_size' => 4,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 0,'size' => 4,'type' => 'string'}
# 0
1..3
ok 2 - string_rw
# Subtest: string_ro
ok 1 - sizeof string_ro = 4
ok 2 - not fixed size
ok 3 - access = ro
# {'access' => 'ro','element_size' => 4,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 0,'size' => 4,'type' => 'string'}
# 0
1..3
ok 3 - string_ro
# Subtest: string rw
ok 1 - sizeof string rw = 4
ok 2 - not fixed size
ok 3 - access = rw
# {'access' => 'rw','element_size' => 4,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 0,'size' => 4,'type' => 'string'}
# 0
1..3
ok 4 - string rw
# Subtest: string ro
ok 1 - sizeof string ro = 4
ok 2 - not fixed size
ok 3 - access = ro
# {'access' => 'ro','element_size' => 4,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 0,'size' => 4,'type' => 'string'}
# 0
1..3
ok 5 - string ro
# Subtest: string (10)
ok 1 - sizeof string (10) = 10
ok 2 - fixed size
ok 3 - access = rw
# {'access' => 'rw','element_size' => 4,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 1,'size' => 10,'type' => 'string'}
# 0
1..3
ok 6 - string (10)
# Subtest: string(10)
ok 1 - sizeof string(10) = 10
ok 2 - fixed size
ok 3 - access = rw
# {'access' => 'rw','element_size' => 4,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 1,'size' => 10,'type' => 'string'}
# 0
1..3
ok 7 - string(10)
1..7
ok 8 - string
# Subtest: private
# Subtest: void
ok 1 - type = FFI::Platypus::Type->new(void)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
ok 3 - type.meta.ffi_type = void
1..3
ok 1 - void
# Subtest: uint8
ok 1 - type = FFI::Platypus::Type->new(uint8)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
ok 3 - type.meta.ffi_type = uint8
1..3
ok 2 - uint8
# Subtest: sint8
ok 1 - type = FFI::Platypus::Type->new(sint8)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
ok 3 - type.meta.ffi_type = sint8
1..3
ok 3 - sint8
# Subtest: uint16
ok 1 - type = FFI::Platypus::Type->new(uint16)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
ok 3 - type.meta.ffi_type = uint16
1..3
ok 4 - uint16
# Subtest: sint16
ok 1 - type = FFI::Platypus::Type->new(sint16)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
ok 3 - type.meta.ffi_type = sint16
1..3
ok 5 - sint16
# Subtest: uint32
ok 1 - type = FFI::Platypus::Type->new(uint32)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
ok 3 - type.meta.ffi_type = uint32
1..3
ok 6 - uint32
# Subtest: sint32
ok 1 - type = FFI::Platypus::Type->new(sint32)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
ok 3 - type.meta.ffi_type = sint32
1..3
ok 7 - sint32
# Subtest: uint64
ok 1 - type = FFI::Platypus::Type->new(uint64)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
ok 3 - type.meta.ffi_type = uint64
1..3
ok 8 - uint64
# Subtest: sint64
ok 1 - type = FFI::Platypus::Type->new(sint64)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
ok 3 - type.meta.ffi_type = sint64
1..3
ok 9 - sint64
# Subtest: float
ok 1 - type = FFI::Platypus::Type->new(float)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
ok 3 - type.meta.ffi_type = float
1..3
ok 10 - float
# Subtest: double
ok 1 - type = FFI::Platypus::Type->new(double)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
ok 3 - type.meta.ffi_type = double
1..3
ok 11 - double
# Subtest: longdouble
1..0 # SKIP test requires longdouble support
ok 12 # skip test requires longdouble support
# Subtest: opaque
ok 1 - type = FFI::Platypus::Type->new(opaque)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
ok 3 - type.meta.ffi_type = pointer
1..3
ok 13 - opaque
# Subtest: pointer
ok 1 - type = FFI::Platypus::Type->new(pointer)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
ok 3 - type.meta.ffi_type = pointer
1..3
ok 14 - pointer
# Subtest: string
ok 1 - type = FFI::Platypus::Type->new(string)
ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type'
ok 3 - type.meta.ffi_type = pointer
1..3
ok 15 - string
1..15
ok 9 - private
1..9
ok 9 - type
# Subtest: class or instance method
ok 1 - class and instance methods are identical
# type: blkcnt_t
# type: blksize_t
# type: bool
# type: char
# type: dev_t
# type: double
# type: float
# type: gid_t
# type: ino_t
# type: int
# type: int16_t
# type: int32_t
# type: int64_t
# type: int8_t
# type: int_least16_t
# type: int_least32_t
# type: int_least64_t
# type: int_least8_t
# type: long
# type: long long
# type: mode_t
# type: nlink_t
# type: off_t
# type: opaque
# type: pointer
# type: ptrdiff_t
# type: short
# type: signed char
# type: signed int
# type: signed long
# type: signed long long
# type: signed short
# type: sint16
# type: sint32
# type: sint64
# type: sint8
# type: size_t
# type: string
# type: time_t
# type: uchar
# type: uid_t
# type: uint
# type: uint16
# type: uint16_t
# type: uint32
# type: uint32_t
# type: uint64
# type: uint64_t
# type: uint8
# type: uint8_t
# type: uint_least16_t
# type: uint_least32_t
# type: uint_least64_t
# type: uint_least8_t
# type: ulong
# type: unsigned char
# type: unsigned int
# type: unsigned long
# type: unsigned long long
# type: unsigned short
# type: ushort
# type: void
# type: wchar_t
1..1
ok 10 - class or instance method
# Subtest: cast
# Subtest: cast from string to pointer
ok 1 - dynamic
ok 2 - static
1..2
ok 1 - cast from string to pointer
# Subtest: cast from pointer to string
ok 1 - dynamic
ok 2 - static
1..2
ok 2 - cast from pointer to string
# Subtest: cast closure to opaque
ok 1 - dynamic
ok 2 - dynamic
ok 3 - static
ok 4 - static
1..4
ok 3 - cast closure to opaque
1..3
ok 11 - cast
# Subtest: ignore_not_found
# Subtest: ignore_not_found=undef
ok 1 - no exception
ok 2 - returned a function
# f1 isa FFI::Platypus::Function
ok 3 - function exception
# exception=unable to find bogus at t/ffi_platypus.t line 625.
ok 4 - attach exception
# exception=unable to find bogus at t/ffi_platypus.t line 629.
1..4
ok 1 - ignore_not_found=undef
# Subtest: ignore_not_found=0
ok 1 - no exception
ok 2 - returned a function
# f1 isa FFI::Platypus::Function
ok 3 - function exception
# exception=unable to find bogus at t/ffi_platypus.t line 645.
ok 4 - attach exception
# exception=unable to find bogus at t/ffi_platypus.t line 649.
1..4
ok 2 - ignore_not_found=0
# Subtest: ignore_not_found=0 (constructor)
ok 1 - no exception
ok 2 - returned a function
# f1 isa FFI::Platypus::Function
ok 3 - function exception
# exception=unable to find bogus at t/ffi_platypus.t line 663.
ok 4 - attach exception
# exception=unable to find bogus at t/ffi_platypus.t line 667.
1..4
ok 3 - ignore_not_found=0 (constructor)
# Subtest: ignore_not_found=1
ok 1 - no exception
ok 2 - returned a function
# f1 isa FFI::Platypus::Function
ok 3 - function no exception
ok 4 - f2 is undefined
ok 5 - attach no exception
1..5
ok 4 - ignore_not_found=1
# Subtest: ignore_not_found=1 (constructor)
ok 1 - no exception
ok 2 - returned a function
# f1 isa FFI::Platypus::Function
ok 3 - function no exception
ok 4 - f2 is undefined
ok 5 - attach no exception
1..5
ok 5 - ignore_not_found=1 (constructor)
# Subtest: ignore_not_found bool context
ok 1 - f1 exists and resolved to boolean true
ok 2 - f2 does not exist and resolved to boolean false
1..2
ok 6 - ignore_not_found bool context
1..6
ok 12 - ignore_not_found
# Subtest: attach basic
ok 1 - f0(22) = 22
ok 2 - f1(22) = 22
ok 3 - Roger::f1(22) = 22
ok 4 - f0_wrap(22) = 25
ok 5 - f0_wrap(22) = 25
1..5
ok 13 - attach basic
# Subtest: attach void
ok 1 - $i_ptr = 43 after f2(\$i_ptr)
ok 2 - $i_ptr = 44 after f2_implicit(\$i_ptr)
1..2
ok 14 - attach void
1..14
ok
t/ffi_platypus_api.t ..................... skipped: TODO
t/ffi_platypus_buffer.t ..................
# Subtest: simple
ok 1 - ptr = 20005720
ok 2 - size = 16
ok 3 - scalar = me grimlock king
1..3
ok 1 - simple
# Subtest: unicode
ok 1 - ptr = 20272344
ok 2 - size = 12
ok 3 - scalar = привет
1..3
ok 2 - unicode
1..2
ok
t/ffi_platypus_closure.t .................
# Subtest: basic
ok 1 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure'
ok 2 - closure.(1) = 2
ok 3 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure'
ok 4 - closure.(1) = 3
ok 5 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure'
ok 6 - closure.(1) = 3
ok 7 - able to call sticky
1..7
ok 1 - basic
# Subtest: private
ok 1 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure'
ok 2 - closure.(1) = 2
1..2
ok 2 - private
# Subtest: space
ok 1 - good without space
ok 2 - good with space
1..2
ok 3 - space
# Subtest: die
ok 1
ok 2 - does not exit
# warning = 'omg i don't want to die! at t/ffi_platypus_closure.t line 50.
# '
1..2
ok 4 - die
# Subtest: reuse
ok 1
ok 2
1..2
ok 5 - reuse
1..5
ok
t/ffi_platypus_declare.t .................
# Subtest: normal
ok 1 - f0(22) = 22
ok 2 - f1(22) = 22
ok 3 - f0_wrap(22) = 25
ok 4 - f0_wrap2(22) = 25
1..4
ok 1 - normal
# Subtest: with type aliases
ok 1 - atoi("42") = 42
1..1
ok 2 - with type aliases
# Subtest: simple closure test
ok 1 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure'
ok 2 - closure.(1) = 2
1..2
ok 3 - simple closure test
# Subtest: abis
ok 1 - has a default ABI
# Subtest: vfp
ok 1 - string
ok 2 - integer
1..2
ok 2 - vfp
# Subtest: sysv
ok 1 - string
ok 2 - integer
1..2
ok 3 - sysv
# Subtest: default_abi
ok 1 - string
ok 2 - integer
1..2
ok 4 - default_abi
# Subtest: bogus
ok 1 - string
ok 2 - integer
1..2
ok 5 - bogus
1..5
ok 4 - abis
# Subtest: lang
# Subtest: C
ok 1 - int is an okay type
ok 2 - foo_t is not an okay type
# unknown type: foo_t at t/ffi_platypus_declare.t line 100.
ok 3 - sint16 is an okay type
1..3
ok 1 - C
# Subtest: Foo constructor
ok 1 - int is not an okay type
# unknown type: int at t/ffi_platypus_declare.t line 129.
ok 2 - foo_t is an okay type
ok 3 - sint16 is an okay type
ok 4 - sizeof foo_t = 2
ok 5 - sizeof foo_t = 4
1..5
ok 2 - Foo constructor
1..2
ok 5 - lang
# Subtest: sizeof
ok 1 - sizeof uint32 = 4
ok 2 - sizeof uint32[2] = 8
1..2
ok 6 - sizeof
# Subtest: sticky
ok 1 - call_closure(2) = 4
1..1
ok 7 - sticky
# Subtest: cast
# Subtest: cast from string to pointer
ok 1 - dynamic
ok 2 - static
1..2
ok 1 - cast from string to pointer
# Subtest: cast from pointer to string
ok 1 - dynamic
ok 2 - static
1..2
ok 2 - cast from pointer to string
# Subtest: cast closure to opaque
ok 1 - dynamic
ok 2 - static
1..2
ok 3 - cast closure to opaque
1..3
ok 8 - cast
1..8
ok
t/ffi_platypus_dl.t ......................
# Subtest: flags
ok 1 - RTLD_PLATYPUS_DEFAULT is defined
# RTLD_LOCAL 0000 0
# RTLD_LAZY 0001 1
# RTLD_PLATYPUS_DEFAULT 0001 1
# RTLD_NOW 0002 2
# RTLD_NOLOAD 0004 4
# RTLD_DEEPBIND 0008 8
# RTLD_GLOBAL 0100 256
# RTLD_NODELETE 1000 4096
1..1
ok 1 - flags
# Subtest: dlopen
# Subtest: bad library
ok 1 - Returns undef on fail
# dlerror = t/ffi/libbogus.so: cannot open shared object file: No such file or directory
1..1
ok 1 - bad library
# Subtest: good library
ok 1 - Returns handle on good
# h = 34086672
1..1
ok 2 - good library
1..2
ok 2 - dlopen
# Subtest: dlsym
# Subtest: good symbol
ok 1 - returns an address
# address = 3066175940
1..1
ok 1 - good symbol
# Subtest: bad symbol
ok 1 - bad symbol returns undef
# dlerror = t/ffi/libtest.so: undefined symbol: bogus
1..1
ok 2 - bad symbol
1..2
ok 3 - dlsym
1..3
ok
t/ffi_platypus_function.t ................
# Subtest: built in type
ok 1 - ffi.function(f0, [uint8] => uint8)
ok 2 - An object of class 'FFI::Platypus::Function' isa 'FFI::Platypus::Function'
ok 3 - function.call(22) = 22
ok 4 - function.(22) = 22
1..4
ok 1 - built in type
# Subtest: custom type
ok 1 - ffi.function(f0, [my_int_8] => my_int_8)
ok 2 - An object of class 'FFI::Platypus::Function' isa 'FFI::Platypus::Function'
ok 3 - function.call(22) = 22
ok 4 - function.(22) = 22
1..4
ok 2 - custom type
# Subtest: private
ok 1 - FFI::Platypus::Function->new
ok 2 - An object of class 'FFI::Platypus::Function' isa 'FFI::Platypus::Function'
ok 3 - function.call(22) = 22
ok 4 - fooble(22) = 22
1..4
ok 3 - private
1..3
ok
t/ffi_platypus_lang.t ....................
# Subtest: Foo constructor
ok 1 - int is not an okay type
# unknown type: int at t/ffi_platypus_lang.t line 14.
ok 2 - foo_t is an okay type
ok 3 - sint16 is an okay type
ok 4 - sizeof foo_t = 2
ok 5 - sizeof foo_t = 4
ok 6
1..6
ok 1 - Foo constructor
# Subtest: Foo attribute
ok 1 - int is not an okay type
# unknown type: int at t/ffi_platypus_lang.t line 34.
ok 2 - foo_t is an okay type
ok 3 - sint16 is an okay type
ok 4 - sizeof foo_t = 2
ok 5 - sizeof foo_t = 4
ok 6
1..6
ok 2 - Foo attribute
# Subtest: MyLang::Roger
ok 1 - int is not an okay type
# unknown type: int at t/ffi_platypus_lang.t line 53.
ok 2 - sizeof foo_t = 4
1..2
ok 3 - MyLang::Roger
1..3
ok
t/ffi_platypus_lang_asm.t ................
# Subtest: ASM
ok 1 - int is not an okay type
# unknown type: int at t/ffi_platypus_lang_asm.t line 13.
ok 2 - foo_t is not an okay type
# unknown type: foo_t at t/ffi_platypus_lang_asm.t line 16.
ok 3 - sint16 is an okay type
ok 4 - unable to find unmangled name
1..4
ok 1 - ASM
1..1
ok
t/ffi_platypus_lang_c.t ..................
# Subtest: C
ok 1 - int is an okay type
ok 2 - foo_t is not an okay type
# unknown type: foo_t at t/ffi_platypus_lang_c.t line 15.
ok 3 - sint16 is an okay type
ok 4 - unable to find unmangled name
1..4
ok 1 - C
1..1
ok
t/ffi_platypus_lang_win32.t ..............
# BOOL sint32
# BOOLEAN uint8
# BYTE uint8
# CCHAR uint8
# CHAR uint8
# COLORREF uint32
# DWORD uint32
# DWORD32 uint32
# DWORD64 uint64
# DWORDLONG uint64
# DWORD_PTR uint16
# FLOAT float
# HACCEL opaque
# HALF_PTR sint16
# HANDLE opaque
# HBITMAP opaque
# HBRUSH opaque
# HCOLORSPACE opaque
# HCONV opaque
# HCONVLIST opaque
# HCURSOR opaque
# HDC opaque
# HDDEDATA opaque
# HDESK opaque
# HDROP opaque
# HDWP opaque
# HENHMETAFILE opaque
# HFILE sint32
# HFONT opaque
# HGDIOBJ opaque
# HGLOBAL opaque
# HHOOK opaque
# HICON opaque
# HINSTANCE opaque
# HKEY opaque
# HKL opaque
# HLOCAL opaque
# HMENU opaque
# HMETAFILE opaque
# HMODULE opaque
# HMONITOR opaque
# HPALETTE opaque
# HPEN opaque
# HRESULT sint32
# HRGN opaque
# HRSRC opaque
# HSZ opaque
# HWINSTA opaque
# HWND opaque
# INT sint32
# INT16 sint16
# INT32 sint32
# INT64 sint64
# INT8 sint8
# INT_PTR sint32
# LANGID uint16
# LCID uint32
# LCTYPE uint32
# LGRPID uint32
# LONG sint32
# LONG32 sint32
# LONG64 sint64
# LONGLONG sint64
# LONG_PTR sint16
# LPCSTR string
# LPCVOID opaque
# LPVOID opaque
# LRESULT sint16
# PSTR string
# PVOID opaque
# QWORD uint64
# SC_HANDLE opaque
# SC_LOCK opaque
# SERVICE_STATUS_HANDLE opaque
# SHORT sint16
# SIZE_T uint16
# SSIZE_T sint16
# UCHAR uint8
# UHALF_PTR uint16
# UINT16 uint16
# UINT32 uint32
# UINT64 uint64
# UINT8 uint8
# UINT_PTR uint32
# ULONG uint32
# ULONG32 uint32
# ULONG64 uint64
# ULONGLONG uint64
# ULONG_PTR uint16
# USHORT uint16
# USN sint64
# VOID void
# WORD uint16
# WPARAM uint32
# blkcnt_t uint64
# blksize_t uint32
# bool uint8
# char uint8
# complex complex_double
# dev_t uint64
# double complex complex_double
# float complex complex_float
# gid_t uint32
# ino_t uint64
# int sint32
# int16_t sint16
# int32_t sint32
# int64_t sint64
# int8_t sint8
# int_least16_t sint16
# int_least32_t sint32
# int_least64_t sint64
# int_least8_t sint8
# long sint32
# long double longdouble
# long long sint64
# mode_t uint32
# nlink_t uint32
# off_t uint64
# ptrdiff_t uint32
# short sint16
# signed char sint8
# signed int sint32
# signed long sint32
# signed long long sint64
# signed short sint16
# size_t uint32
# time_t uint32
# uchar uint8
# uid_t uint32
# uint uint32
# uint16_t uint16
# uint32_t uint32
# uint64_t uint64
# uint8_t uint8
# uint_least16_t uint16
# uint_least32_t uint32
# uint_least64_t uint64
# uint_least8_t uint8
# ulong uint32
# unsigned char uint8
# unsigned int uint32
# unsigned long uint32
# unsigned long long uint64
# unsigned short uint16
# ushort uint16
# wchar_t uint32
ok 1 - good
1..1
ok
t/ffi_platypus_memory.t ..................
# Subtest: malloc calloc memset free
ok 1 - malloc returns 19311592
ok 2 - calloc returns 19818376
ok 3 - string = yyyyxxxx
ok 4 - free $ptr1
ok 5 - free $ptr2
1..5
ok 1 - malloc calloc memset free
# Subtest: memcpy
ok 1 - initial data copied
ok 2 - copy of copy
ok 3 - memcpy returns a pointer
ok 4 - free $ptr1
ok 5 - free $ptr2
1..5
ok 2 - memcpy
# Subtest: realloc
ok 1 - realloc call ptr = 19818192
ok 2 - initial data copied
ok 3 - realloc call ptr = 19883704 (2)
ok 4 - after realloc data there
ok 5 - final free
1..5
ok 3 - realloc
# Subtest: strdup
# strdup implementation = c
ok 1 - string = this and
ok 2 - free $ptr1
1..2
ok 4 - strdup
1..4
ok
t/ffi_platypus_record.t ..................
# Subtest: integer accessor
ok 1 - An object of class 'Foo1' isa 'Foo1'
ok 2 - foo._record_size = 8
ok 3 - foo.first = 1
ok 4 - foo.second = 2
ok 5 - foo.first = 22
ok 6 - foo.second = 42
ok 7 - foo.first = 3
ok 8 - foo.second = 4
1..8
ok 1 - integer accessor
# Subtest: values match in C
ok 1 - An object of class 'Color' isa 'Color'
ok 2 - color.get_red = 50
ok 3 - color.get_green = 100
ok 4 - color.get_blue = 150
1..4
ok 2 - values match in C
# Subtest: complex alignment
ok 1 - An object of class 'Foo2' isa 'Foo2'
ok 2 - uint64 = 512
ok 3 - sint64 = -512
ok 4 - uint32 = 1024
ok 5 - sint32 = -1024
ok 6 - uint16 = 2048
ok 7 - sint16 = -2048
ok 8 - uint8 = 48
ok 9 - sint8 = -48
ok 10 - float = 1.5
ok 11 - double = -1.5
ok 12 - get_opaque = 26147936
ok 13 - opaque = 26147936
ok 14 - get_opaque = undef
ok 15 - opaque = undef
1..15
ok 3 - complex alignment
# Subtest: same name
ok 1 - two members of the same name not allowed
# accessor/method foo already exists at t/ffi_platypus_record.t line 174.
1..1
ok 4 - same name
# Subtest: array alignment
ok 1 - An object of class 'Foo4' isa 'Foo4'
# Subtest: unsigned 8 integer
ok 1 - uint8 = 1,2,3
ok 2 - get_uint8 = 1,2,3
ok 3 - uint8(1) = 2
ok 4 - uint8 = 1,20,3
1..4
ok 2 - unsigned 8 integer
# Subtest: signed 8 integer
ok 1 - sint8 = -1,2,-3
ok 2 - get_sint8 = -1,2,-3
ok 3 - sint8(2) = -3
ok 4 - sint8 = -1,-20,-3
1..4
ok 3 - signed 8 integer
# Subtest: unsigned 16 integer
ok 1 - uint16 = 1,2,3
ok 2 - get_uint16 = 1,2,3
ok 3 - uint16(1) = 2
ok 4 - uint16 = 1,20,3
1..4
ok 4 - unsigned 16 integer
# Subtest: signed 16 integer
ok 1 - sint16 = -1,2,-3
ok 2 - get_sint16 = -1,2,-3
ok 3 - sint16(2) = -3
ok 4 - sint16 = -1,-20,-3
1..4
ok 5 - signed 16 integer
# Subtest: unsigned 32 integer
ok 1 - uint32 = 1,2,3
ok 2 - get_uint32 = 1,2,3
ok 3 - uint32(1) = 2
ok 4 - uint32 = 1,20,3
1..4
ok 6 - unsigned 32 integer
# Subtest: signed 32 integer
ok 1 - sint32 = -1,2,-3
ok 2 - get_sint32 = -1,2,-3
ok 3 - sint32(2) = -3
ok 4 - sint32 = -1,-20,-3
1..4
ok 7 - signed 32 integer
# Subtest: unsigned 64 integer
ok 1 - uint64 = 1,2,3
ok 2 - get_uint64 = 1,2,3
ok 3 - uint64(1) = 2
ok 4 - uint64 = 1,20,3
1..4
ok 8 - unsigned 64 integer
# Subtest: signed 64 integer
ok 1 - sint64 = -1,2,-3
ok 2 - get_sint64 = -1,2,-3
ok 3 - sint64(2) = -3
ok 4 - sint64 = -1,-20,-3
1..4
ok 9 - signed 64 integer
# Subtest: float
ok 1 - float = 1.5,0,-1.5
ok 2
ok 3
ok 4
ok 5 - float = 1.5,20,-1.5
1..5
ok 10 - float
# Subtest: double
ok 1 - double = 1.5,0,-1.5
ok 2
ok 3
ok 4
ok 5 - double = 1.5,20,-1.5
1..5
ok 11 - double
# Subtest: opaque
ok 1 - opaque = 26380056,undef,26035552
ok 2 - opaque = 26380056,26380056,26035552
ok 3 - opaque = undef,26380056,26035552
ok 4
ok 5
ok 6
1..6
ok 12 - opaque
ok 13 - align = 8
ok 14 - align is positive
1..14
ok 5 - array alignment
# Subtest: string ro
ok 1 - An object of class 'Foo5' isa 'Foo5'
ok 2 - foo.value = undef
ok 3 - foo.get_value = undef
ok 4 - foo.value = my value
ok 5 - foo.get_value = my value
ok 6 - value is ro
# member is read only at t/ffi_platypus_record.t line 328.
ok 7 - foo.value = undef
ok 8 - foo.get_value = undef
1..8
ok 6 - string ro
# Subtest: fixed string
ok 1 - An object of class 'Foo6' isa 'Foo6'
ok 2 - foo.value = "\0\0\0\0\0\0\0\0\0\0"
ok 3 - foo.get_value = ""
ok 4 - foo.value = "one two th"
ok 5 - foo.value = 123456789\0
ok 6 - foo.get_value = 123456789
1..6
ok 7 - fixed string
# Subtest: string rw
ok 1 - An object of class 'Foo7' isa 'Foo7'
ok 2 - foo.value = hi there
ok 3 - foo.get_value = hi there
ok 4 - foo.value = undef
ok 5 - foo.get_value = undef
ok 6 - foo.value = starscream!!!
ok 7 - foo.get_value = starscream!!!
1..7
ok 8 - string rw
1..8
ok
t/ffi_platypus_record_tiearray.t .........
ok 1 - An object of class 'Foo' isa 'Foo'
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23
ok 24
ok 25
ok 26
ok 27
ok 28
ok 29
ok 30
ok 31
ok 32
ok 33
ok 34
ok 35
ok 36
ok 37
ok 38
ok 39
ok 40
ok 41
ok 42
ok 43
ok 44
ok 45
1..45
ok
t/ffi_platypus_shareconfig.t .............
# {
# 'abi' => {
# 'default_abi' => 2,
# 'sysv' => 1,
# 'vfp' => 2
# },
# 'align' => {
# 'double' => 8,
# 'double complex' => 8,
# 'float' => 4,
# 'float complex' => 4,
# 'long double' => 8,
# 'pointer' => 4,
# 'sint16' => 2,
# 'sint32' => 4,
# 'sint64' => 8,
# 'sint8' => 1,
# 'uint16' => 2,
# 'uint32' => 4,
# 'uint64' => 8,
# 'uint8' => 1
# },
# 'config_dlext' => [
# 'so'
# ],
# 'diag' => {
# 'args' => {
# 'extra_compiler_flags' => '',
# 'extra_linker_flags' => '-lffi'
# }
# },
# 'probe' => {
# 'abi' => 1
# },
# 'test-key' => 'test-value',
# 'type_map' => {
# 'blkcnt_t' => 'uint64',
# 'blksize_t' => 'uint32',
# 'bool' => 'uint8',
# 'char' => 'uint8',
# 'complex' => 'complex_double',
# 'dev_t' => 'uint64',
# 'double complex' => 'complex_double',
# 'float complex' => 'complex_float',
# 'gid_t' => 'uint32',
# 'ino_t' => 'uint64',
# 'int' => 'sint32',
# 'int16_t' => 'sint16',
# 'int32_t' => 'sint32',
# 'int64_t' => 'sint64',
# 'int8_t' => 'sint8',
# 'int_least16_t' => 'sint16',
# 'int_least32_t' => 'sint32',
# 'int_least64_t' => 'sint64',
# 'int_least8_t' => 'sint8',
# 'long' => 'sint32',
# 'long double' => 'longdouble',
# 'long long' => 'sint64',
# 'mode_t' => 'uint32',
# 'nlink_t' => 'uint32',
# 'off_t' => 'uint64',
# 'ptrdiff_t' => 'uint32',
# 'short' => 'sint16',
# 'signed char' => 'sint8',
# 'signed int' => 'sint32',
# 'signed long' => 'sint32',
# 'signed long long' => 'sint64',
# 'signed short' => 'sint16',
# 'size_t' => 'uint32',
# 'time_t' => 'uint32',
# 'uchar' => 'uint8',
# 'uid_t' => 'uint32',
# 'uint' => 'uint32',
# 'uint16_t' => 'uint16',
# 'uint32_t' => 'uint32',
# 'uint64_t' => 'uint64',
# 'uint8_t' => 'uint8',
# 'uint_least16_t' => 'uint16',
# 'uint_least32_t' => 'uint32',
# 'uint_least64_t' => 'uint64',
# 'uint_least8_t' => 'uint8',
# 'ulong' => 'uint32',
# 'unsigned char' => 'uint8',
# 'unsigned int' => 'uint32',
# 'unsigned long' => 'uint32',
# 'unsigned long long' => 'uint64',
# 'unsigned short' => 'uint16',
# 'ushort' => 'uint16',
# 'wchar_t' => 'uint32'
# }
# }
# 0
ok 1
ok 2
1..2
ok
t/ffi_platypus_type_pointersizebuffer.t ..
ok 1
ok 2
ok 3
ok 4
ok 5
1..5
ok
t/ffi_platypus_type_stringpointer.t ......
# Subtest: arg pass in
ok 1 - not null
ok 2 - \undef is null
ok 3 - undef is null
1..3
ok 1 - arg pass in
# Subtest: arg pass out
ok 1 - not null string = hi there
ok 2 - not null string = and another
1..2
ok 2 - arg pass out
# Subtest: return value
ok 1 - not null string = once more onto
ok 2 - \null
ok 3 - null
1..3
ok 3 - return value
1..3
ok
t/forks.t ................................ skipped: Test requires forks
t/threads.t ..............................
ok 1 - works in a thread
ok 2 - works in main thread
1..2
ok
t/type_complex_double.t .................. skipped: Test requires support for double complex
t/type_complex_float.t ................... skipped: Test requires support for float complex
t/type_double.t ..........................
ok 1 - add(1.5,2.5) = 4
ok 2 - add() = 0.0
ok 3 - inc(\$i,4.25) = \7.75
ok 4 - i=3.5+4.25
ok 5 - inc(\3,4) = \7
ok 6 - sum([1..10]) = 55
ok 7 - sum2([1..10],10) = 55
ok 8 - array increment
ok 9 - null() == undef
ok 10 - is_null(undef) == 1
ok 11 - is_null() == 1
ok 12 - is_null(22) == 0
ok 13 - static_array = [-5.5, 5.5, -10, 10, -15.5, 15.5, 20, -20, 25.5, -25.5]
ok 14 - null2() == undef
ok 15 - call_closure(2.5) = 4.75
ok 16 - call_closure(2.5) = 0
# Subtest: custom type input
ok 1
ok 2 - custom_add(1.25,2.5) = 4
1..2
ok 17 - custom type input
# Subtest: custom type output
ok 1
ok 2 - custom_add2(1,1) = 2.25
1..2
ok 18 - custom type output
ok 19 - closure_pointer_is_null() = 1
1..19
ok
t/type_float.t ...........................
ok 1 - add(1.5,2.5) = 4
ok 2 - add() = 0.0
ok 3 - inc(\$i,4.25) = \7.75
ok 4 - i=3.5+4.25
ok 5 - inc(\3,4) = \7
ok 6 - sum([1..10]) = 55
ok 7 - sum2([1..10],10) = 55
ok 8 - array increment
ok 9 - null() == undef
ok 10 - is_null(undef) == 1
ok 11 - is_null() == 1
ok 12 - is_null(22) == 0
ok 13 - static_array = [-5.5, 5.5, -10, 10, -15.5, 15.5, 20, -20, 25.5, -25.5]
ok 14 - null2() == undef
ok 15 - call_closure(2.5) = 4.75
ok 16 - call_closure(2.5) = 0
# Subtest: custom type input
ok 1
ok 2 - custom_add(1.25,2.5) = 4
1..2
ok 17 - custom type input
# Subtest: custom type output
ok 1
ok 2 - custom_add2(1,1) = 2.25
1..2
ok 18 - custom type output
ok 19 - closure_pointer_is_null() = 1
1..19
ok
t/type_longdouble.t ...................... skipped: test requires support for long double
t/type_opaque.t ..........................
ok 1 - null = undef
ok 2 - is_null(undef) == 1
ok 3 - is_null() == 1
ok 4 - is_null($ptr) = 0
ok 5 - setp(12933776); getp() = 12933776
ok 6 - get($tmp); tmp = 12933776
ok 7 - get(\$tmp); \$tmp = undef
ok 8 - aa_in([one two three])
ok 9 - aa_null_in([undef,undef,undef])
ok 10 - aa_out()
ok 11 - aa_null_out()
ok 12 - ra_out()
ok 13 - ra_null_out
ok 14 - pp2p(\undef) = undef
ok 15 - pp2p(\17307056) = 17307056
ok 16 - p2pp(undef) = \undef
ok 17 - pp2p(13010432) = \13010432
ok 18 - call_closure(undef) = undef
ok 19 - save = undef
ok 20 - call_closure(\17191208) = 17191208
ok 21 - save = 17191208
# Subtest: custom type input
ok 1
ok 2
1..2
ok 22 - custom type input
# Subtest: custom type output
ok 1
ok 2
1..2
ok 23 - custom type output
1..23
ok
t/type_record.t ..........................
# record size = 20
# Subtest: not a reference
# Subtest: in
# packed size = 20
ok 1 - get_value($packed) = 42
ok 2 - get_name($packed) = hi there
ok 3 - is_null(undef)
1..3
ok 1 - in
# Subtest: out
# packed size = 20
ok 1 - get_value($packed) = 47
ok 2 - get_value($packed) = platypus
ok 3 - null() = undef
1..3
ok 2 - out
1..2
ok 1 - not a reference
# Subtest: is a reference
# Subtest: in
# packed size = 20
ok 1 - get_value(\$packed) = 42
ok 2 - get_name(\$packed) = hi there
ok 3 - is_null(\undef)
1..3
ok 1 - in
# Subtest: out
# packed size = 30
ok 1 - An object of class 'My::FooRecord' isa 'My::FooRecord'
ok 2 - packed.my_method = starscream
ok 3 - get_value($packed) = 47
ok 4 - get_value($packed) = platypus
ok 5 - null() = \undef
1..5
ok 2 - out
1..2
ok 2 - is a reference
# Subtest: closure
ok 1 - allow record type as arg
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
# error = record is read-only at t/type_record.t line 126.
ok 8
ok 9
ok 10
ok 11
# error = record is read-only at t/type_record.t line 135.
ok 12
ok 13
# error = record is read-only at t/type_record.t line 142.
ok 14
ok 15
ok 16
# error = record is read-only at t/type_record.t line 151.
ok 17
ok 18
ok 19
# error = record is read-only at t/type_record.t line 160.
ok 20
ok 21
# error = record is read-only at t/type_record.t line 167.
ok 22
ok 23
# error = record is read-only at t/type_record.t line 175.
ok 24
ok 25
ok 26
# error = record is read-only at t/type_record.t line 184.
ok 27
ok 28
ok 29
ok 30
ok 31
ok 32
1..32
ok 3 - closure
1..3
ok
t/type_sint16.t ..........................
ok 1 - add(-1,2) = 1
ok 2 - add() = 0
ok 3 - inc(\$i,4) = \1
ok 4 - i=1
ok 5 - inc(\-3,4) = \1
ok 6 - sum([-5..4]) = -5
ok 7 - sum([-5..4],10) = -5
ok 8 - array increment
ok 9 - null() == undef
ok 10 - is_null(undef) == 1
ok 11 - is_null() == 1
ok 12 - is_null(22) == 0
ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10]
ok 14 - null2() == undef
ok 15 - call_closure(-2) = -4
ok 16 - call_closure(2) = 0
# Subtest: custom type input
ok 1
ok 2 - custom_add(-2,-1) = -5
1..2
ok 17 - custom type input
# Subtest: custom type output
ok 1
ok 2 - custom_add2(-2,-1) = -6
1..2
ok 18 - custom type output
ok 19 - closure_pointer_is_null() = 1
1..19
ok
t/type_sint32.t ..........................
ok 1 - add(-1,2) = 1
ok 2 - add() = 0
ok 3 - inc(\$i,4) = \1
ok 4 - i=1
ok 5 - inc(\-3,4) = \1
ok 6 - sum([-5..4]) = -5
ok 7 - sum([-5..4],10) = -5
ok 8 - array increment
ok 9 - null() == undef
ok 10 - is_null(undef) == 1
ok 11 - is_null() == 1
ok 12 - is_null(22) == 0
ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10]
ok 14 - null2() == undef
ok 15 - call_closure(-2) = -4
ok 16 - call_closure(2) = 0
# Subtest: custom type input
ok 1
ok 2 - custom_add(-2,-1) = -5
1..2
ok 17 - custom type input
# Subtest: custom type output
ok 1
ok 2 - custom_add2(-2,-1) = -6
1..2
ok 18 - custom type output
ok 19 - closure_pointer_is_null() = 1
1..19
ok
t/type_sint64.t ..........................
ok 1 - add(-1,2) = 1
ok 2 - add() = 0
ok 3 - inc(\$i,4) = \1
ok 4 - i=1
ok 5 - inc(\-3,4) = \1
ok 6 - sum([-5..4]) = -5
ok 7 - sum([-5..4],10) = -5
ok 8 - array increment
ok 9 - null() == undef
ok 10 - is_null(undef) == 1
ok 11 - is_null() == 1
ok 12 - is_null(22) == 0
ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10]
ok 14 - null2() == undef
ok 15 - call_closure(-2) = -4
ok 16 - call_closure(2) = 0
# Subtest: custom type input
ok 1
ok 2 - custom_add(-2,-1) = -5
1..2
ok 17 - custom type input
# Subtest: custom type output
ok 1
ok 2 - custom_add2(-2,-1) = -6
1..2
ok 18 - custom type output
ok 19 - closure_pointer_is_null() = 1
1..19
ok
t/type_sint8.t ...........................
ok 1 - add(-1,2) = 1
ok 2 - add() = 0
ok 3 - inc(\$i,4) = \1
ok 4 - i=1
ok 5 - inc(\-3,4) = \1
ok 6 - sum([-5..4]) = -5
ok 7 - sum([-5..4],10) = -5
ok 8 - array increment
ok 9 - null() == undef
ok 10 - is_null(undef) == 1
ok 11 - is_null() == 1
ok 12 - is_null(22) == 0
ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10]
ok 14 - null2() == undef
ok 15 - call_closure(-2) = -4
ok 16 - call_closure(2) = 0
# Subtest: custom type input
ok 1
ok 2 - custom_add(-2,-1) = -5
1..2
ok 17 - custom type input
# Subtest: custom type output
ok 1
ok 2 - custom_add2(-2,-1) = -6
1..2
ok 18 - custom type output
ok 19 - closure_pointer_is_null() = 1
1..19
ok
t/type_string.t ..........................
ok 1 - string_matches_foobarbaz(foobarbaz) = true
ok 2 - string_matches_foobarbaz(foobarbaz) = false
ok 3 - string_return_foobarbaz() = foobarbaz
ok 4 - null() = undef
ok 5 - is_null(undef) = 1
ok 6 - is_null() = 1
ok 7 - is_null("foo") = 0
ok 8 - $save = hey there
ok 9 - $save = undef
ok 10 - fixed_input_test(foobarbaz\0)
ok 11 - fixed_input_is_null(undef)
ok 12 - string_fixed_text(0) = zero
ok 13 - string_fixed_text(1) = one
ok 14 - string_fixed_text(2) = two
ok 15 - string_fixed_text(3) = three
ok 16 - fixed_output_null()
ok 17 - save=zero
1..17
ok
t/type_uint16.t ..........................
ok 1 - add(1,2) = 3
ok 2 - add() = 0
ok 3 - inc(\$i,4) = \7
ok 4 - i=3+4
ok 5 - inc(\3,4) = \7
ok 6 - sum([1..10]) = 55
ok 7 - sum2([1..10],10) = 55
ok 8 - array increment
ok 9 - null() == undef
ok 10 - is_null(undef) == 1
ok 11 - is_null() == 1
ok 12 - is_null(22) == 0
ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20]
ok 14 - null2() == undef
ok 15 - call_closure(2) = 4
ok 16 - call_closure(2) = 0
# Subtest: custom type input
ok 1
ok 2 - custom_add(2,1) = 5
1..2
ok 17 - custom type input
# Subtest: custom type output
ok 1
ok 2 - custom_add2(1,1) = 4
1..2
ok 18 - custom type output
# Subtest: custom type post
ok 1
ok 2 - custom_add3(1,2) = 3
1..2
ok 19 - custom type post
ok 20 - closure_pointer_is_null() = 1
1..20
ok
t/type_uint32.t ..........................
ok 1 - add(1,2) = 3
ok 2 - add() = 0
ok 3 - inc(\$i,4) = \7
ok 4 - i=3+4
ok 5 - inc(\3,4) = \7
ok 6 - sum([1..10]) = 55
ok 7 - sum2([1..10],10) = 55
ok 8 - array increment
ok 9 - null() == undef
ok 10 - is_null(undef) == 1
ok 11 - is_null() == 1
ok 12 - is_null(22) == 0
ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20]
ok 14 - null2() == undef
ok 15 - call_closure(2) = 4
ok 16 - call_closure(2) = 0
# Subtest: custom type input
ok 1
ok 2 - custom_add(2,1) = 5
1..2
ok 17 - custom type input
# Subtest: custom type output
ok 1
ok 2 - custom_add2(1,1) = 4
1..2
ok 18 - custom type output
# Subtest: custom type post
ok 1
ok 2 - custom_add3(1,2) = 3
1..2
ok 19 - custom type post
ok 20 - closure_pointer_is_null() = 1
1..20
ok
t/type_uint64.t ..........................
ok 1 - add(1,2) = 3
ok 2 - add() = 0
ok 3 - inc(\$i,4) = \7
ok 4 - i=3+4
ok 5 - inc(\3,4) = \7
ok 6 - sum([1..10]) = 55
ok 7 - sum2([1..10],10) = 55
ok 8 - array increment
ok 9 - null() == undef
ok 10 - is_null(undef) == 1
ok 11 - is_null() == 1
ok 12 - is_null(22) == 0
ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20]
ok 14 - null2() == undef
ok 15 - call_closure(2) = 4
ok 16 - call_closure(2) = 0
# Subtest: custom type input
ok 1
ok 2 - custom_add(2,1) = 5
1..2
ok 17 - custom type input
# Subtest: custom type output
ok 1
ok 2 - custom_add2(1,1) = 4
1..2
ok 18 - custom type output
# Subtest: custom type post
ok 1
ok 2 - custom_add3(1,2) = 3
1..2
ok 19 - custom type post
ok 20 - closure_pointer_is_null() = 1
1..20
ok
t/type_uint8.t ...........................
ok 1 - add(1,2) = 3
ok 2 - add() = 0
ok 3 - inc(\$i,4) = \7
ok 4 - i=3+4
ok 5 - inc(\3,4) = \7
ok 6 - sum([1..10]) = 55
ok 7 - sum2([1..10],10) = 55
ok 8 - array increment
ok 9 - null() == undef
ok 10 - is_null(undef) == 1
ok 11 - is_null() == 1
ok 12 - is_null(22) == 0
ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20]
ok 14 - null2() == undef
ok 15 - call_closure(2) = 4
ok 16 - call_closure(2) = 0
# Subtest: custom type input
ok 1
ok 2 - custom_add(2,1) = 5
1..2
ok 17 - custom type input
# Subtest: custom type output
ok 1
ok 2 - custom_add2(1,1) = 4
1..2
ok 18 - custom type output
# Subtest: custom type post
ok 1
ok 2 - custom_add3(1,2) = 3
1..2
ok 19 - custom type post
ok 20 - closure_pointer_is_null() = 1
1..20
ok
All tests successful.
Files=37, Tests=378, 38 wallclock secs ( 1.53 usr 0.46 sys + 33.25 cusr 2.51 csys = 37.75 CPU)
Result: PASS
create-stamp debian/debhelper-build-stamp
fakeroot debian/rules binary-arch
dh binary-arch
dh_testroot -a
dh_prep -a
debian/rules override_dh_auto_install
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_install
perl Build install --destdir /<<PKGBUILDDIR>>/debian/libffi-platypus-perl --create_packlist 0
Building FFI-Platypus
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/auto/FFI/Platypus/Platypus.bs
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/auto/FFI/Platypus/Platypus.so
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/API.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Buffer.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/DL.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Declare.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Lang.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Memory.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Record.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/ShareConfig.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Type.pod
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Lang/ASM.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Lang/C.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Lang/Win32.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Record/TieArray.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Type/PointerSizeBuffer.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Type/StringPointer.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/auto/share/dist/FFI-Platypus/README.txt
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.26/auto/share/dist/FFI-Platypus/config.pl
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus.3pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::API.3pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Buffer.3pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::DL.3pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Declare.3pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Lang.3pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Lang::ASM.3pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Lang::C.3pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Lang::Win32.3pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Memory.3pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Record.3pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Record::TieArray.3pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::ShareConfig.3pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Type.3pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Type::PointerSizeBuffer.3pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Type::StringPointer.3pm
rm -f -v /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::ShareConfig.3pm
removed '/<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::ShareConfig.3pm'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_installdocs -a
dh_installchangelogs -a
debian/rules override_dh_installexamples
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_installexamples
sed -i '1s|^#!perl|#!/usr/bin/perl|' /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/share/doc/libffi-platypus-perl/examples/*.pl
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_installman -a
dh_perl -a
dh_link -a
dh_strip_nondeterminism -a
dh_compress -a
dh_fixperms -a
dh_missing -a
dh_strip -a
dh_makeshlibs -a
dh_shlibdeps -a
dh_installdeb -a
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
dpkg-deb: building package 'libffi-platypus-perl' in '../libffi-platypus-perl_0.56-1_armhf.deb'.
dpkg-deb: building package 'libffi-platypus-perl-dbgsym' in '../libffi-platypus-perl-dbgsym_0.56-1_armhf.deb'.
dpkg-genbuildinfo --build=any
dpkg-genchanges --build=any -mRaspbian wandboard test autobuilder <root@raspbian.org> >../libffi-platypus-perl_0.56-1_armhf.changes
dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep packages not included)
dpkg-source --after-build libffi-platypus-perl-0.56
dpkg-buildpackage: info: binary-only upload (no source included)
--------------------------------------------------------------------------------
Build finished at 2018-09-10T05:50:19Z
Finished
--------
I: Built successfully
+------------------------------------------------------------------------------+
| Post Build Chroot |
+------------------------------------------------------------------------------+
+------------------------------------------------------------------------------+
| Changes |
+------------------------------------------------------------------------------+
libffi-platypus-perl_0.56-1_armhf.changes:
------------------------------------------
Format: 1.8
Date: Fri, 07 Sep 2018 19:36:46 +0200
Source: libffi-platypus-perl
Binary: libffi-platypus-perl
Architecture: armhf
Version: 0.56-1
Distribution: buster-staging
Urgency: medium
Maintainer: Raspbian wandboard test autobuilder <root@raspbian.org>
Changed-By: gregor herrmann <gregoa@debian.org>
Description:
libffi-platypus-perl - module to create Perl bindings to non-Perl libraries with FFI
Changes:
libffi-platypus-perl (0.56-1) unstable; urgency=medium
.
* Import upstream version 0.56.
* Add new build dependency: libcapture-tiny-perl.
* Update years of upstream copyright.
* debian/tests/pkg-perl/smoke-files: remove directories which don't
exist anymore in the upstream tarball.
* Declare compliance with Debian Policy 4.2.1.
Checksums-Sha1:
6c3f78a9fe670b1aef1a9219a53382f765fea83e 202012 libffi-platypus-perl-dbgsym_0.56-1_armhf.deb
b5265477a8bdc41e024003f0fc660203e7156adb 5099 libffi-platypus-perl_0.56-1_armhf.buildinfo
c57f0db8946c966d22310014377d2e61a04121c4 162476 libffi-platypus-perl_0.56-1_armhf.deb
Checksums-Sha256:
29dccc1b25a157c92d37269f909682adf7ffd4e23b7194ca708c83e618a0fc4f 202012 libffi-platypus-perl-dbgsym_0.56-1_armhf.deb
f9710e0e4a78ef124b3f858f48f7cd50a4b474613ecc109585b902e314f3a2b5 5099 libffi-platypus-perl_0.56-1_armhf.buildinfo
9169bd62feceb17fb432af42da6fe15206000754a0d1ae0e3b29c6d51136dcce 162476 libffi-platypus-perl_0.56-1_armhf.deb
Files:
b6919a0394940f3fbcd032d71eb0c54e 202012 debug optional libffi-platypus-perl-dbgsym_0.56-1_armhf.deb
7b6d0fec5846b2a0a50b438f7ec6d45e 5099 perl optional libffi-platypus-perl_0.56-1_armhf.buildinfo
ec358153175d03e3abaaf141388adb8b 162476 perl optional libffi-platypus-perl_0.56-1_armhf.deb
+------------------------------------------------------------------------------+
| Package contents |
+------------------------------------------------------------------------------+
libffi-platypus-perl-dbgsym_0.56-1_armhf.deb
--------------------------------------------
new Debian package, version 2.0.
size 202012 bytes: control archive=544 bytes.
412 bytes, 12 lines control
106 bytes, 1 lines md5sums
Package: libffi-platypus-perl-dbgsym
Source: libffi-platypus-perl
Version: 0.56-1
Auto-Built-Package: debug-symbols
Architecture: armhf
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Installed-Size: 226
Depends: libffi-platypus-perl (= 0.56-1)
Section: debug
Priority: optional
Description: debug symbols for libffi-platypus-perl
Build-Ids: c6ae8e5771792f3a9b2523902b62187012d4522a
drwxr-xr-x root/root 0 2018-09-07 17:36 ./
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/debug/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/debug/.build-id/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/debug/.build-id/c6/
-rw-r--r-- root/root 220584 2018-09-07 17:36 ./usr/lib/debug/.build-id/c6/ae8e5771792f3a9b2523902b62187012d4522a.debug
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/share/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/share/doc/
lrwxrwxrwx root/root 0 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl-dbgsym -> libffi-platypus-perl
libffi-platypus-perl_0.56-1_armhf.deb
-------------------------------------
new Debian package, version 2.0.
size 162476 bytes: control archive=2644 bytes.
839 bytes, 16 lines control
6227 bytes, 68 lines md5sums
Package: libffi-platypus-perl
Version: 0.56-1
Architecture: armhf
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Installed-Size: 442
Depends: perl (>= 5.26.2-7), perlapi-5.26.2, libc6 (>= 2.4), libffi6 (>= 3.0.4), libffi-checklib-perl, libfile-sharedir-perl
Section: perl
Priority: optional
Homepage: https://metacpan.org/release/FFI-Platypus
Description: module to create Perl bindings to non-Perl libraries with FFI
FFI::Platypus is a library for creating interfaces to machine code libraries
written in languages like C, C++, Fortran, Rust, Pascal. Essentially anything
that gets compiled into machine code. This implementation uses libffi to
accomplish this task. libffi is battle tested by a number of other scripting
and virtual machine languages, such as Python and Ruby to serve a similar
role.
drwxr-xr-x root/root 0 2018-09-07 17:36 ./
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/
-rw-r--r-- root/root 68026 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus.pm
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/
-rw-r--r-- root/root 5329 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/API.pm
-rw-r--r-- root/root 4174 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Buffer.pm
-rw-r--r-- root/root 5432 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/DL.pm
-rw-r--r-- root/root 11076 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Declare.pm
-rw-r--r-- root/root 1314 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Lang.pm
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Lang/
-rw-r--r-- root/root 1825 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Lang/ASM.pm
-rw-r--r-- root/root 1719 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Lang/C.pm
-rw-r--r-- root/root 6736 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Lang/Win32.pm
-rw-r--r-- root/root 5007 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Memory.pm
-rw-r--r-- root/root 8326 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Record.pm
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Record/
-rw-r--r-- root/root 2526 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Record/TieArray.pm
-rw-r--r-- root/root 1288 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/ShareConfig.pm
-rw-r--r-- root/root 31262 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Type.pod
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Type/
-rw-r--r-- root/root 2667 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Type/PointerSizeBuffer.pm
-rw-r--r-- root/root 2933 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/FFI/Platypus/Type/StringPointer.pm
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/auto/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/auto/FFI/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/auto/FFI/Platypus/
-rw-r--r-- root/root 0 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/auto/FFI/Platypus/Platypus.bs
-rw-r--r-- root/root 115976 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/auto/FFI/Platypus/Platypus.so
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/auto/share/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/auto/share/dist/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/auto/share/dist/FFI-Platypus/
-rw-r--r-- root/root 64 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/auto/share/dist/FFI-Platypus/README.txt
-rw-r--r-- root/root 2185 2018-09-07 17:36 ./usr/lib/arm-linux-gnueabihf/perl5/5.26/auto/share/dist/FFI-Platypus/config.pl
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/share/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/share/doc/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/
-rw-r--r-- root/root 1902 2018-09-03 13:17 ./usr/share/doc/libffi-platypus-perl/CONTRIBUTING.gz
-rw-r--r-- root/root 1222 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/changelog.Debian.gz
-rw-r--r-- root/root 5703 2018-09-03 13:17 ./usr/share/doc/libffi-platypus-perl/changelog.gz
-rw-r--r-- root/root 1344 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/copyright
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/
-rw-r--r-- root/root 3254 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/archive.pl
-rw-r--r-- root/root 331 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/attach_from_pointer.pl
-rw-r--r-- root/root 2052 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/bzip2.pl
-rw-r--r-- root/root 407 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/char.pl
-rw-r--r-- root/root 419 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/closure-opaque.pl
-rw-r--r-- root/root 366 2018-09-03 13:17 ./usr/share/doc/libffi-platypus-perl/examples/closure.c
-rw-r--r-- root/root 480 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/closure.pl
-rw-r--r-- root/root 1971 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/get_uptime.pl
-rw-r--r-- root/root 192 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/getpid.pl
-rw-r--r-- root/root 200 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/integer.pl
drwxr-xr-x root/root 0 2018-09-03 13:17 ./usr/share/doc/libffi-platypus-perl/examples/java/
-rw-r--r-- root/root 253 2018-09-03 13:17 ./usr/share/doc/libffi-platypus-perl/examples/java/Example.java
-rw-r--r-- root/root 312 2018-09-03 13:17 ./usr/share/doc/libffi-platypus-perl/examples/java/Makefile
-rw-r--r-- root/root 295 2018-09-03 13:17 ./usr/share/doc/libffi-platypus-perl/examples/java/between.cpp
-rw-r--r-- root/root 538 2018-09-03 13:17 ./usr/share/doc/libffi-platypus-perl/examples/java/example.pl
-rw-r--r-- root/root 272 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/list_integer_types.pl
-rw-r--r-- root/root 313 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/malloc.pl
-rw-r--r-- root/root 376 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/math.pl
-rw-r--r-- root/root 1058 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/notify.pl
-rw-r--r-- root/root 223 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/pipe.pl
-rw-r--r-- root/root 430 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/string.pl
-rw-r--r-- root/root 1795 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/time.pl
-rw-r--r-- root/root 2253 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/time_oo.pl
-rw-r--r-- root/root 864 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/time_record.pl
-rw-r--r-- root/root 594 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/uuid.pl
-rw-r--r-- root/root 137 2018-09-03 13:17 ./usr/share/doc/libffi-platypus-perl/examples/var_array.c
-rw-r--r-- root/root 220 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/var_array.pl
-rw-r--r-- root/root 242 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/win32_beep.pl
-rw-r--r-- root/root 1568 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/win32_getSystemTime.pl
-rw-r--r-- root/root 2307 2018-09-07 17:36 ./usr/share/doc/libffi-platypus-perl/examples/zmq3.pl
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/share/man/
drwxr-xr-x root/root 0 2018-09-07 17:36 ./usr/share/man/man3/
-rw-r--r-- root/root 20346 2018-09-07 17:36 ./usr/share/man/man3/FFI::Platypus.3pm.gz
-rw-r--r-- root/root 3354 2018-09-07 17:36 ./usr/share/man/man3/FFI::Platypus::API.3pm.gz
-rw-r--r-- root/root 3384 2018-09-07 17:36 ./usr/share/man/man3/FFI::Platypus::Buffer.3pm.gz
-rw-r--r-- root/root 4079 2018-09-07 17:36 ./usr/share/man/man3/FFI::Platypus::DL.3pm.gz
-rw-r--r-- root/root 5232 2018-09-07 17:36 ./usr/share/man/man3/FFI::Platypus::Declare.3pm.gz
-rw-r--r-- root/root 2368 2018-09-07 17:36 ./usr/share/man/man3/FFI::Platypus::Lang.3pm.gz
-rw-r--r-- root/root 2634 2018-09-07 17:36 ./usr/share/man/man3/FFI::Platypus::Lang::ASM.3pm.gz
-rw-r--r-- root/root 2491 2018-09-07 17:36 ./usr/share/man/man3/FFI::Platypus::Lang::C.3pm.gz
-rw-r--r-- root/root 2502 2018-09-07 17:36 ./usr/share/man/man3/FFI::Platypus::Lang::Win32.3pm.gz
-rw-r--r-- root/root 3453 2018-09-07 17:36 ./usr/share/man/man3/FFI::Platypus::Memory.3pm.gz
-rw-r--r-- root/root 4307 2018-09-07 17:36 ./usr/share/man/man3/FFI::Platypus::Record.3pm.gz
-rw-r--r-- root/root 2689 2018-09-07 17:36 ./usr/share/man/man3/FFI::Platypus::Record::TieArray.3pm.gz
-rw-r--r-- root/root 12782 2018-09-07 17:36 ./usr/share/man/man3/FFI::Platypus::Type.3pm.gz
-rw-r--r-- root/root 2591 2018-09-07 17:36 ./usr/share/man/man3/FFI::Platypus::Type::PointerSizeBuffer.3pm.gz
-rw-r--r-- root/root 2519 2018-09-07 17:36 ./usr/share/man/man3/FFI::Platypus::Type::StringPointer.3pm.gz
+------------------------------------------------------------------------------+
| Post Build |
+------------------------------------------------------------------------------+
+------------------------------------------------------------------------------+
| Cleanup |
+------------------------------------------------------------------------------+
Purging /<<BUILDDIR>>
Not cleaning session: cloned chroot in use
+------------------------------------------------------------------------------+
| Summary |
+------------------------------------------------------------------------------+
Build Architecture: armhf
Build-Space: 6932
Build-Time: 327
Distribution: buster-staging
Host Architecture: armhf
Install-Time: 362
Job: libffi-platypus-perl_0.56-1
Machine Architecture: armhf
Package: libffi-platypus-perl
Package-Time: 740
Source-Version: 0.56-1
Space: 6932
Status: successful
Version: 0.56-1
--------------------------------------------------------------------------------
Finished at 2018-09-10T05:50:19Z
Build needed 00:12:20, 6932k disc space