libffi-platypus-perl →
0.59-1 →
armhf → 2018-12-24 04:59:48
sbuild (Debian sbuild) 0.71.0 (24 Aug 2016) on bm-wb-01
+==============================================================================+
| libffi-platypus-perl 0.59-1 (armhf) Mon, 24 Dec 2018 04:47:49 +0000 |
+==============================================================================+
Package: libffi-platypus-perl
Version: 0.59-1
Source Version: 0.59-1
Distribution: buster-staging
Machine Architecture: armhf
Host Architecture: armhf
Build Architecture: armhf
I: NOTICE: Log filtering will replace 'var/run/schroot/mount/buster-staging-armhf-sbuild-f2595714-3530-42b9-a6be-879f8704acf6' 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.3 MB]
Get:3 http://172.17.0.1/private buster-staging/main armhf Packages [13.1 MB]
Fetched 24.4 MB in 30s (800 kB/s)
Reading package lists...
+------------------------------------------------------------------------------+
| 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 221 kB of source archives.
Get:1 http://172.17.0.1/private buster-staging/main libffi-platypus-perl 0.59-1 (dsc) [2456 B]
Get:2 http://172.17.0.1/private buster-staging/main libffi-platypus-perl 0.59-1 (tar) [216 kB]
Get:3 http://172.17.0.1/private buster-staging/main libffi-platypus-perl 0.59-1 (diff) [3292 B]
Fetched 221 kB in 0s (3182 kB/s)
Download complete and in download only mode
I: NOTICE: Log filtering will replace 'build/libffi-platypus-perl-uQULTe/libffi-platypus-perl-0.59' with '<<PKGBUILDDIR>>'
I: NOTICE: Log filtering will replace 'build/libffi-platypus-perl-uQULTe' 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-QN5XeZ/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-QN5XeZ/gpg/pubring.kbx' created
gpg: /<<BUILDDIR>>/resolver-QN5XeZ/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-QN5XeZ/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-QN5XeZ/apt_archive ./ Release [957 B]
Get:3 copy:/<<BUILDDIR>>/resolver-QN5XeZ/apt_archive ./ Release.gpg [370 B]
Ign:3 copy:/<<BUILDDIR>>/resolver-QN5XeZ/apt_archive ./ Release.gpg
Get:4 copy:/<<BUILDDIR>>/resolver-QN5XeZ/apt_archive ./ Sources [349 B]
Get:5 copy:/<<BUILDDIR>>/resolver-QN5XeZ/apt_archive ./ Packages [432 B]
Fetched 2108 B in 1s (2947 B/s)
Reading package lists...
W: copy:///<<BUILDDIR>>/resolver-QN5XeZ/apt_archive/./Release.gpg: The key(s) in the keyring /etc/apt/trusted.gpg.d/sbuild-build-depends-archive.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: GPG error: copy:/<<BUILDDIR>>/resolver-QN5XeZ/apt_archive ./ Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 35506D9A48F77B2E
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 e2fsprogs-l10n krb5-locales libgpg-error-l10n
libsasl2-modules libssl1.1 openssl
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 48 not upgraded.
Need to get 852 B of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-QN5XeZ/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [852 B]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 852 B in 0s (0 B/s)
Selecting previously unselected package sbuild-build-depends-core-dummy.
(Reading database ... 15636 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) ...
+------------------------------------------------------------------------------+
| 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-QN5XeZ/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-QN5XeZ/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-QN5XeZ/apt_archive ./ Release [963 B]
Get:3 copy:/<<BUILDDIR>>/resolver-QN5XeZ/apt_archive ./ Release.gpg [370 B]
Ign:3 copy:/<<BUILDDIR>>/resolver-QN5XeZ/apt_archive ./ Release.gpg
Get:4 copy:/<<BUILDDIR>>/resolver-QN5XeZ/apt_archive ./ Sources [586 B]
Get:5 copy:/<<BUILDDIR>>/resolver-QN5XeZ/apt_archive ./ Packages [659 B]
Fetched 2578 B in 1s (3472 B/s)
Reading package lists...
W: copy:///<<BUILDDIR>>/resolver-QN5XeZ/apt_archive/./Release.gpg: The key(s) in the keyring /etc/apt/trusted.gpg.d/sbuild-build-depends-archive.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: GPG error: copy:/<<BUILDDIR>>/resolver-QN5XeZ/apt_archive ./ Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 35506D9A48F77B2E
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 e2fsprogs-l10n krb5-locales libgpg-error-l10n
libsasl2-modules libssl1.1 openssl
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 libglib2.0-0
libicu63 libmagic-mgc libmagic1 libmodule-build-perl libpipeline1
libsigsegv2 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 libglib2.0-0
libicu63 libmagic-mgc libmagic1 libmodule-build-perl libpipeline1
libsigsegv2 libtool libxml2 m4 man-db pkg-config po-debconf
sbuild-build-depends-libffi-platypus-perl-dummy
0 upgraded, 41 newly installed, 0 to remove and 48 not upgraded.
Need to get 18.6 MB of archives.
After this operation, 66.5 MB of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-QN5XeZ/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-2 [25.1 kB]
Get:6 http://172.17.0.1/private buster-staging/main armhf man-db armhf 2.8.4-3 [1160 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-9 [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-2 [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-4 [771 kB]
Get:16 http://172.17.0.1/private buster-staging/main armhf autopoint all 0.19.8.1-9 [434 kB]
Get:17 http://172.17.0.1/private buster-staging/main armhf libtool all 2.4.6-6 [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.64-1 [96.8 kB]
Get:20 http://172.17.0.1/private buster-staging/main armhf libfile-stripnondeterminism-perl all 1.0.0-1 [19.5 kB]
Get:21 http://172.17.0.1/private buster-staging/main armhf dh-strip-nondeterminism all 1.0.0-1 [12.5 kB]
Get:22 http://172.17.0.1/private buster-staging/main armhf libelf1 armhf 0.170-0.5 [160 kB]
Get:23 http://172.17.0.1/private buster-staging/main armhf dwz armhf 0.12-3 [66.0 kB]
Get:24 http://172.17.0.1/private buster-staging/main armhf libglib2.0-0 armhf 2.58.1-2 [1051 kB]
Get:25 http://172.17.0.1/private buster-staging/main armhf libicu63 armhf 63.1-5 [7976 kB]
Get:26 http://172.17.0.1/private buster-staging/main armhf libxml2 armhf 2.9.4+dfsg1-7+b1 [570 kB]
Get:27 http://172.17.0.1/private buster-staging/main armhf libcroco3 armhf 0.6.12-2 [132 kB]
Get:28 http://172.17.0.1/private buster-staging/main armhf gettext armhf 0.19.8.1-9 [1219 kB]
Get:29 http://172.17.0.1/private buster-staging/main armhf intltool-debian all 0.35.0+20060710.4 [26.3 kB]
Get:30 http://172.17.0.1/private buster-staging/main armhf po-debconf all 1.0.21 [248 kB]
Get:31 http://172.17.0.1/private buster-staging/main armhf debhelper all 11.5.4 [1003 kB]
Get:32 http://172.17.0.1/private buster-staging/main armhf libffi-dev armhf 3.2.1-9 [159 kB]
Get:33 http://172.17.0.1/private buster-staging/main armhf pkg-config armhf 0.29-4 [59.2 kB]
Get:34 http://172.17.0.1/private buster-staging/main armhf libalt-alien-ffi-system-perl all 0.21-1 [7744 B]
Get:35 http://172.17.0.1/private buster-staging/main armhf libcapture-tiny-perl all 0.48-1 [26.0 kB]
Get:36 http://172.17.0.1/private buster-staging/main armhf libclass-inspector-perl all 1.32-1 [19.1 kB]
Get:37 http://172.17.0.1/private buster-staging/main armhf libfile-slurp-tiny-perl all 0.004-1 [7288 B]
Get:38 http://172.17.0.1/private buster-staging/main armhf libconfig-autoconf-perl all 0.317-1 [41.9 kB]
Get:39 http://172.17.0.1/private buster-staging/main armhf libffi-checklib-perl all 0.23-1 [12.5 kB]
Get:40 http://172.17.0.1/private buster-staging/main armhf libfile-sharedir-perl all 1.116-2 [16.7 kB]
Get:41 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 18.6 MB in 2s (8872 kB/s)
Selecting previously unselected package libbsd0:armhf.
(Reading database ... 15636 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-2_armhf.deb ...
Unpacking libpipeline1:armhf (1.5.0-2) ...
Selecting previously unselected package man-db.
Preparing to unpack .../04-man-db_2.8.4-3_armhf.deb ...
Unpacking man-db (2.8.4-3) ...
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-9_armhf.deb ...
Unpacking gettext-base (0.19.8.1-9) ...
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-2_armhf.deb ...
Unpacking m4 (1.4.18-2) ...
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-4_all.deb ...
Unpacking automake (1:1.16.1-4) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../14-autopoint_0.19.8.1-9_all.deb ...
Unpacking autopoint (0.19.8.1-9) ...
Selecting previously unselected package libtool.
Preparing to unpack .../15-libtool_2.4.6-6_all.deb ...
Unpacking libtool (2.4.6-6) ...
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.64-1_all.deb ...
Unpacking libarchive-zip-perl (1.64-1) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../18-libfile-stripnondeterminism-perl_1.0.0-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.0.0-1) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../19-dh-strip-nondeterminism_1.0.0-1_all.deb ...
Unpacking dh-strip-nondeterminism (1.0.0-1) ...
Selecting previously unselected package libelf1:armhf.
Preparing to unpack .../20-libelf1_0.170-0.5_armhf.deb ...
Unpacking libelf1:armhf (0.170-0.5) ...
Selecting previously unselected package dwz.
Preparing to unpack .../21-dwz_0.12-3_armhf.deb ...
Unpacking dwz (0.12-3) ...
Selecting previously unselected package libglib2.0-0:armhf.
Preparing to unpack .../22-libglib2.0-0_2.58.1-2_armhf.deb ...
Unpacking libglib2.0-0:armhf (2.58.1-2) ...
Selecting previously unselected package libicu63:armhf.
Preparing to unpack .../23-libicu63_63.1-5_armhf.deb ...
Unpacking libicu63:armhf (63.1-5) ...
Selecting previously unselected package libxml2:armhf.
Preparing to unpack .../24-libxml2_2.9.4+dfsg1-7+b1_armhf.deb ...
Unpacking libxml2:armhf (2.9.4+dfsg1-7+b1) ...
Selecting previously unselected package libcroco3:armhf.
Preparing to unpack .../25-libcroco3_0.6.12-2_armhf.deb ...
Unpacking libcroco3:armhf (0.6.12-2) ...
Selecting previously unselected package gettext.
Preparing to unpack .../26-gettext_0.19.8.1-9_armhf.deb ...
Unpacking gettext (0.19.8.1-9) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../27-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 .../28-po-debconf_1.0.21_all.deb ...
Unpacking po-debconf (1.0.21) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../29-debhelper_11.5.4_all.deb ...
Unpacking debhelper (11.5.4) ...
Selecting previously unselected package libffi-dev:armhf.
Preparing to unpack .../30-libffi-dev_3.2.1-9_armhf.deb ...
Unpacking libffi-dev:armhf (3.2.1-9) ...
Selecting previously unselected package pkg-config.
Preparing to unpack .../31-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 .../32-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 .../33-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 .../34-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 .../35-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 .../36-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 .../37-libffi-checklib-perl_0.23-1_all.deb ...
Unpacking libffi-checklib-perl (0.23-1) ...
Selecting previously unselected package libfile-sharedir-perl.
Preparing to unpack .../38-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 .../39-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 .../40-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.64-1) ...
Setting up libicu63:armhf (63.1-5) ...
Setting up libffi-checklib-perl (0.23-1) ...
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.58.1-2) ...
No schema files found: doing nothing.
Setting up libcapture-tiny-perl (0.48-1) ...
Setting up libffi-dev:armhf (3.2.1-9) ...
Setting up gettext-base (0.19.8.1-9) ...
Setting up libpipeline1:armhf (1.5.0-2) ...
Setting up m4 (1.4.18-2) ...
Setting up libbsd0:armhf (0.9.1-1) ...
Setting up libxml2:armhf (2.9.4+dfsg1-7+b1) ...
Setting up libmagic-mgc (1:5.34-2) ...
Setting up libmagic1:armhf (1:5.34-2) ...
Setting up libcroco3:armhf (0.6.12-2) ...
Setting up pkg-config (0.29-4) ...
Processing triggers for libc-bin (2.28-2) ...
Setting up dwz (0.12-3) ...
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-9) ...
Setting up libclass-inspector-perl (1.32-1) ...
Setting up libfile-stripnondeterminism-perl (1.0.0-1) ...
Setting up gettext (0.19.8.1-9) ...
Setting up libconfig-autoconf-perl (0.317-1) ...
Setting up libalt-alien-ffi-system-perl (0.21-1) ...
Setting up autoconf (2.69-11) ...
Setting up file (1:5.34-2) ...
Setting up intltool-debian (0.35.0+20060710.4) ...
Setting up automake (1:1.16.1-4) ...
update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode
Setting up man-db (2.8.4-3) ...
Not building database; man-db/auto-update is not 'true'.
Setting up libfile-sharedir-perl (1.116-2) ...
Setting up libtool (2.4.6-6) ...
Setting up po-debconf (1.0.21) ...
Setting up dh-autoreconf (19) ...
Setting up dh-strip-nondeterminism (1.0.0-1) ...
Setting up debhelper (11.5.4) ...
Setting up sbuild-build-depends-libffi-platypus-perl-dummy (0.invalid.0) ...
Processing triggers for libc-bin (2.28-2) ...
+------------------------------------------------------------------------------+
| Build environment |
+------------------------------------------------------------------------------+
Kernel: Linux 4.9.0-0.bpo.1-armmp armhf (armv7l)
Toolchain package versions: binutils_2.31.1-10+rpi1 dpkg-dev_1.19.2 g++-8_8.2.0-9+rpi1 gcc-8_8.2.0-9+rpi1 libc6-dev_2.28-2 libstdc++-8-dev_8.2.0-9+rpi1 libstdc++6_8.2.0-9+rpi1 linux-libc-dev_4.18.20-2+rpi1
Package versions: adduser_3.118 apt_1.8.0~alpha2 autoconf_2.69-11 automake_1:1.16.1-4 autopoint_0.19.8.1-9 autotools-dev_20180224.1 base-files_10.1+rpi1 base-passwd_3.5.45 bash_4.4.18-3.1 binutils_2.31.1-10+rpi1 binutils-arm-linux-gnueabihf_2.31.1-10+rpi1 binutils-common_2.31.1-10+rpi1 bsdmainutils_11.1.2 bsdutils_1:2.33-0.2 build-essential_12.5 bzip2_1.0.6-9 ca-certificates_20170717 coreutils_8.30-1 cpio_2.12+dfsg-6 cpp_4:8.2.0-2+rpi1 cpp-8_8.2.0-9+rpi1 dash_0.5.10.2-2 debconf_1.5.69 debhelper_11.5.4 debianutils_4.8.6 dh-autoreconf_19 dh-strip-nondeterminism_1.0.0-1 diffutils_1:3.6-1 dirmngr_2.2.11-1 dmsetup_2:1.02.145-4.1+b5 dpkg_1.19.2 dpkg-dev_1.19.2 dwz_0.12-3 e2fslibs_1.44.4-2 e2fsprogs_1.44.4-2 e2fsprogs-l10n_1.44.4-2 fakeroot_1.23-1 fdisk_2.33-0.2 file_1:5.34-2 findutils_4.6.0+git+20181018-1 g++_4:8.2.0-2+rpi1 g++-8_8.2.0-9+rpi1 gcc_4:8.2.0-2+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.2.0-9+rpi1 gcc-8-base_8.2.0-9+rpi1 gettext_0.19.8.1-9 gettext-base_0.19.8.1-9 gnupg_2.2.11-1 gnupg-agent_2.2.11-1 gnupg-l10n_2.2.11-1 gnupg-utils_2.2.11-1 gpg_2.2.11-1 gpg-agent_2.2.11-1 gpg-wks-client_2.2.11-1 gpg-wks-server_2.2.11-1 gpgconf_2.2.11-1 gpgsm_2.2.11-1 gpgv_2.2.11-1 grep_3.1-2 groff-base_1.22.3-10 gzip_1.9-2.1 hostname_3.21 inetutils-ping_2:1.9.4-5 init-system-helpers_1.56 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-2 krb5-locales_1.16.1-1 libacl1_2.2.52-3 libalt-alien-ffi-system-perl_0.21-1 libapparmor1_2.13.1-3+b1 libapt-pkg5.0_1.8.0~alpha2 libarchive-zip-perl_1.64-1 libargon2-1_0~20171227-0.1 libasan5_8.2.0-9+rpi1 libassuan0_2.5.1-2 libatomic1_8.2.0-9+rpi1 libattr1_1:2.4.47-2 libaudit-common_1:2.8.4-2 libaudit1_1:2.8.4-2 libbinutils_2.31.1-10+rpi1 libblkid1_2.33-0.2 libbsd0_0.9.1-1 libbz2-1.0_1.0.6-9 libc-bin_2.28-2 libc-dev-bin_2.28-2 libc6_2.28-2 libc6-dev_2.28-2 libcap-ng0_0.7.9-1 libcap2_1:2.25-1.2 libcapture-tiny-perl_0.48-1 libcc1-0_8.2.0-9+rpi1 libclass-inspector-perl_1.32-1 libcom-err2_1.44.4-2 libconfig-autoconf-perl_0.317-1 libcroco3_0.6.12-2 libcryptsetup12_2:2.0.6-1 libcryptsetup4_2:1.7.5-1 libdb5.3_5.3.28+dfsg1-0.2 libdbus-1-3_1.12.12-1 libdebconfclient0_0.245 libdevmapper1.02.1_2:1.02.145-4.1+b5 libdpkg-perl_1.19.2 libdrm-common_2.4.95-1+rpi1 libdrm2_2.4.95-1+rpi1 libelf1_0.170-0.5 libext2fs2_1.44.4-2 libfakeroot_1.23-1 libfdisk1_2.33-0.2 libffi-checklib-perl_0.23-1 libffi-dev_3.2.1-9 libffi6_3.2.1-9 libfile-sharedir-perl_1.116-2 libfile-slurp-tiny-perl_0.004-1 libfile-stripnondeterminism-perl_1.0.0-1 libgcc-8-dev_8.2.0-9+rpi1 libgcc1_1:8.2.0-9+rpi1 libgcrypt20_1.8.4-4 libgdbm-compat4_1.18.1-2 libgdbm3_1.8.3-14 libgdbm6_1.18.1-2 libglib2.0-0_2.58.1-2 libgmp10_2:6.1.2+dfsg-4 libgnutls30_3.5.19-1+b1 libgomp1_8.2.0-9+rpi1 libgpg-error-l10n_1.32-3 libgpg-error0_1.32-3 libgssapi-krb5-2_1.16.1-1 libhogweed4_3.4.1~rc1-1 libicu63_63.1-5 libidn11_1.33-2.2 libidn2-0_2.0.5-1 libip4tc0_1.8.2-2+b1 libisl19_0.20-2 libjson-c3_0.12.1-1.3 libk5crypto3_1.16.1-1 libkeyutils1_1.5.9-9.3 libklibc_2.0.4-14+rpi1 libkmod2_25-2 libkrb5-3_1.16.1-1 libkrb5support0_1.16.1-1 libksba8_1.3.5-2 libldap-2.4-2_2.4.46+dfsg-5+rpi1+b1 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.33-0.2 libmpc3_1.1.0-1 libmpfr6_4.0.1-2 libncurses5_6.1+20181013-1 libncurses6_6.1+20181013-1 libncursesw5_6.1+20181013-1 libncursesw6_6.1+20181013-1 libnettle6_3.4.1~rc1-1 libnpth0_1.6-1 libp11-kit0_0.23.14-2 libpam-modules_1.1.8-3.8 libpam-modules-bin_1.1.8-3.8 libpam-runtime_1.1.8-3.8 libpam0g_1.1.8-3.8 libpcre3_2:8.39-11+rpi1 libperl5.24_5.24.1-7 libperl5.28_5.28.1-3 libpipeline1_1.5.0-2 libplymouth4_0.9.4-1 libpng16-16_1.6.34-2+rpi1 libprocps7_2:3.3.15-2 libreadline7_7.0-5 libsasl2-2_2.1.27~rc8-1 libsasl2-modules_2.1.27~rc8-1 libsasl2-modules-db_2.1.27~rc8-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.33-0.2 libsqlite3-0_3.26.0-3 libss2_1.44.4-2 libssl1.1_1.1.1a-1 libstdc++-8-dev_8.2.0-9+rpi1 libstdc++6_8.2.0-9+rpi1 libsystemd0_239-15+rpi1 libtasn1-6_4.13-3 libtinfo5_6.1+20181013-1 libtinfo6_6.1+20181013-1 libtool_2.4.6-6 libubsan1_8.2.0-9+rpi1 libudev1_239-15+rpi1 libunistring2_0.9.10-1 libustr-1.0-1_1.0.4-6 libuuid1_2.33-0.2 libxml2_2.9.4+dfsg1-7+b1 libzstd1_1.3.5+dfsg-1+rpi1 linux-base_4.5 linux-libc-dev_4.18.20-2+rpi1 login_1:4.5-1.1 lsb-base_10.2018112800+rpi1 m4_1.4.18-2 make_4.2.1-1.2 makedev_2.3.1-94 man-db_2.8.4-3 mawk_1.3.3-17 mount_2.33-0.2 multiarch-support_2.28-2 nano_3.2-1 ncurses-base_6.1+20181013-1 ncurses-bin_6.1+20181013-1 netbase_5.5 openssl_1.1.1a-1 passwd_1:4.5-1.1 patch_2.7.6-3 perl_5.28.1-3 perl-base_5.28.1-3 perl-modules-5.24_5.24.1-7 perl-modules-5.28_5.28.1-3 pinentry-curses_1.1.0-1 pkg-config_0.29-4 plymouth_0.9.4-1 po-debconf_1.0.21 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-2 sensible-utils_0.0.12 systemd_239-15+rpi1 sysvinit-utils_2.93-1 tar_1.30+dfsg-3+rpi1 tzdata_2018g-1 udev_239-15+rpi1 util-linux_2.33-0.2 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 Dec 21 19:33:59 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.59-1.dsc
dpkg-source: info: extracting libffi-platypus-perl in /<<PKGBUILDDIR>>
dpkg-source: info: unpacking libffi-platypus-perl_0.59.orig.tar.gz
dpkg-source: info: unpacking libffi-platypus-perl_0.59-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-f2595714-3530-42b9-a6be-879f8704acf6
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.59-1
dpkg-buildpackage: info: source distribution unstable
dpkg-source --before-build .
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.59'
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 void*... 4
Checking for compute result of (signed(void*))... 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.28/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.28/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.28/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.28/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.28/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/Vv26ZmwyBO/ffitest.c
arm-linux-gnueabihf-gcc -Iinclude -I/usr/lib/arm-linux-gnueabihf/perl/5.28/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/Vv26ZmwyBO/default_abi.o .abi-probe-test/Vv26ZmwyBO/default_abi.c
arm-linux-gnueabihf-gcc -fstack-protector-strong -L/usr/local/lib -Wl,-z,relro -Wl,-z,now -o .abi-probe-test/Vv26ZmwyBO/default_abi .abi-probe-test/Vv26ZmwyBO/default_abi.o -lffi
arm-linux-gnueabihf-gcc -Iinclude -I/usr/lib/arm-linux-gnueabihf/perl/5.28/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/Vv26ZmwyBO/sysv.o .abi-probe-test/Vv26ZmwyBO/sysv.c
arm-linux-gnueabihf-gcc -fstack-protector-strong -L/usr/local/lib -Wl,-z,relro -Wl,-z,now -o .abi-probe-test/Vv26ZmwyBO/sysv .abi-probe-test/Vv26ZmwyBO/sysv.o -lffi
arm-linux-gnueabihf-gcc -Iinclude -I/usr/lib/arm-linux-gnueabihf/perl/5.28/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/Vv26ZmwyBO/vfp.o .abi-probe-test/Vv26ZmwyBO/vfp.c
arm-linux-gnueabihf-gcc -fstack-protector-strong -L/usr/local/lib -Wl,-z,relro -Wl,-z,now -o .abi-probe-test/Vv26ZmwyBO/vfp .abi-probe-test/Vv26ZmwyBO/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/CORE -DVERSION="0.59" -DXS_VERSION="0.59" -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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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.28/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_array.o t/ffi/string_array.c
arm-linux-gnueabihf-gcc -I/<<PKGBUILDDIR>>/include -I/usr/lib/arm-linux-gnueabihf/perl/5.28/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.28/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.28/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.28/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/string_array.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.42
# 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.028001
# Alien::Base -
# Alien::FFI 0.21
# Capture::Tiny 0.48
# Config::AutoConf 0.317
# ExtUtils::CBuilder 0.280230
# FFI::CheckLib 0.23
# File::ShareDir 1.116
# IPC::Cmd 1.00
# Module::Build 0.4224
# PkgConfig -
# Test::More 1.302133
# 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: vfp
ok 1 - string
ok 2 - integer
1..2
ok 2 - vfp
# Subtest: default_abi
ok 1 - string
ok 2 - integer
1..2
ok 3 - default_abi
# Subtest: sysv
ok 1 - string
ok 2 - integer
1..2
ok 4 - sysv
# 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
# {'ffi_type' => 'pointer','ref' => 0,'size' => 22,'type' => 'record','type_code' => 2307}
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','type_code' => 16451}}
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','type_code' => 16451}}
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','type_code' => 16451}}
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','type_code' => 16451}}
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','type_code' => 16451}}
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','type_code' => 16451}}
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','type_code' => 16452}}
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','type_code' => 16452}}
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','type_code' => 16452}}
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','type_code' => 16452}}
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','type_code' => 16452}}
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','type_code' => 16452}}
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','type_code' => 16643}}
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','type_code' => 16643}}
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','type_code' => 16643}}
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','type_code' => 16643}}
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','type_code' => 16643}}
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','type_code' => 16643}}
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','type_code' => 16417}}
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','type_code' => 16417}}
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','type_code' => 16417}}
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','type_code' => 16417}}
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','type_code' => 16417}}
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','type_code' => 16417}}
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','type_code' => 16401}}
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','type_code' => 16401}}
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','type_code' => 16401}}
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','type_code' => 16401}}
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','type_code' => 16401}}
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','type_code' => 16401}}
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','type_code' => 16418}}
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','type_code' => 16418}}
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','type_code' => 16418}}
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','type_code' => 16418}}
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','type_code' => 16418}}
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','type_code' => 16418}}
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','type_code' => 16402}}
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','type_code' => 16402}}
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','type_code' => 16402}}
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','type_code' => 16402}}
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','type_code' => 16402}}
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','type_code' => 16402}}
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','type_code' => 16419}}
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','type_code' => 16419}}
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','type_code' => 16419}}
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','type_code' => 16419}}
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','type_code' => 16419}}
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','type_code' => 16419}}
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','type_code' => 16403}}
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','type_code' => 16403}}
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','type_code' => 16403}}
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','type_code' => 16403}}
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','type_code' => 16403}}
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','type_code' => 16403}}
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','type_code' => 16420}}
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','type_code' => 16420}}
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','type_code' => 16420}}
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','type_code' => 16420}}
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','type_code' => 16420}}
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','type_code' => 16420}}
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','type_code' => 16404}}
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','type_code' => 16404}}
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','type_code' => 16404}}
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','type_code' => 16404}}
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','type_code' => 16404}}
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','type_code' => 16404}}
1..6
ok 11 - sint64
1..11
ok 4 - custom type
# Subtest: find lib
# Subtest: find_lib
ok 1 - found f0 = 3065872812
1..1
ok 1 - find_lib
# Subtest: external
ok 1 - ffi.find_symbol(f0) = 3065872812
ok 2 - ffi.find_symbol(bogus) = undef
1..2
ok 2 - external
# Subtest: internal
ok 1 - ffi.find_symbol(printf) = 3067593576
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) = 3065872812
ok 2 - ffi.find_symbol(bogus) = undef
1..2
ok 1 - external
# Subtest: internal
ok 1 - ffi.find_symbol(printf) = 3067593576
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','type_code' => 17}
# 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','type_code' => 33}
# 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','type_code' => 18}
# 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','type_code' => 34}
# 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','type_code' => 19}
# 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','type_code' => 35}
# 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','type_code' => 20}
# 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','type_code' => 36}
# 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','type_code' => 67}
# 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','type_code' => 68}
# 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','type_code' => 259}
# 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,'ffi_type' => 'pointer','size' => 4,'type' => 'string','type_code' => 771}
# 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','type_code' => 4113}
# 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','type_code' => 4129}
# 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','type_code' => 4114}
# 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','type_code' => 4130}
# 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','type_code' => 4115}
# 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','type_code' => 4131}
# 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','type_code' => 4116}
# 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','type_code' => 4132}
# 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','type_code' => 4163}
# 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','type_code' => 4164}
# 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','type_code' => 4355}
# 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','type_code' => 8209}
# 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','type_code' => 8225}
# 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','type_code' => 8210}
# 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','type_code' => 8226}
# 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','type_code' => 8211}
# 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','type_code' => 8227}
# 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','type_code' => 8212}
# 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','type_code' => 8228}
# 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','type_code' => 8259}
# 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','type_code' => 8260}
# 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','type_code' => 8451}
# 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,'ffi_type' => 'pointer','signature' => [[{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar','type_code' => 19}],{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar','type_code' => 19}],'size' => 4,'type' => 'closure','type_code' => 1283}
# 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,'ffi_type' => 'pointer','signature' => [[{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar','type_code' => 19},{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar','type_code' => 19},{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar','type_code' => 19},{'element_size' => 1,'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'scalar','type_code' => 33},{'access' => 'ro','element_size' => 4,'ffi_type' => 'pointer','size' => 4,'type' => 'string','type_code' => 771},{'element_size' => 4,'element_type' => 'opaque','ffi_type' => 'pointer','size' => 4,'type' => 'scalar','type_code' => 259}],{'element_size' => 0,'element_type' => 'void','ffi_type' => 'void','size' => 0,'type' => 'scalar','type_code' => 8}],'size' => 4,'type' => 'closure','type_code' => 1283}
# 0
1..6
ok 6 - closure types
# Subtest: record
# {'ffi_type' => 'pointer','ref' => 0,'size' => 1,'type' => 'record','type_code' => 2307}
# 0
# {'ffi_type' => 'pointer','ref' => 0,'size' => 32,'type' => 'record','type_code' => 2307}
# 0
ok 1 - sizeof my_record_1 = 1
ok 2 - sizeof my_record_32 = 32
# {'ffi_type' => 'pointer','ref' => 1,'size' => 22,'type' => 'record','type_code' => 2307}
# 0
# {'ffi_type' => 'pointer','ref' => 1,'size' => 44,'type' => 'record','type_code' => 2307}
# 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 - access = ro
# {'access' => 'ro','element_size' => 4,'ffi_type' => 'pointer','size' => 4,'type' => 'string','type_code' => 771}
# 0
1..2
ok 1 - string
# Subtest: string_rw
ok 1 - sizeof string_rw = 4
ok 2 - access = rw
# {'access' => 'rw','element_size' => 4,'ffi_type' => 'pointer','size' => 4,'type' => 'string','type_code' => 771}
# 0
1..2
ok 2 - string_rw
# Subtest: string_ro
ok 1 - sizeof string_ro = 4
ok 2 - access = ro
# {'access' => 'ro','element_size' => 4,'ffi_type' => 'pointer','size' => 4,'type' => 'string','type_code' => 771}
# 0
1..2
ok 3 - string_ro
# Subtest: string rw
ok 1 - sizeof string rw = 4
ok 2 - access = rw
# {'access' => 'rw','element_size' => 4,'ffi_type' => 'pointer','size' => 4,'type' => 'string','type_code' => 771}
# 0
1..2
ok 4 - string rw
# Subtest: string ro
ok 1 - sizeof string ro = 4
ok 2 - access = ro
# {'access' => 'ro','element_size' => 4,'ffi_type' => 'pointer','size' => 4,'type' => 'string','type_code' => 771}
# 0
1..2
ok 5 - string ro
# Subtest: string (10)
ok 1 - is actually a record type
ok 2 - sizeof string (10) = 10
# {'ffi_type' => 'pointer','ref' => 0,'size' => 10,'type' => 'record','type_code' => 2307}
# 0
1..2
ok 6 - string (10)
# Subtest: string(10)
ok 1 - is actually a record type
ok 2 - sizeof string(10) = 10
# {'ffi_type' => 'pointer','ref' => 0,'size' => 10,'type' => 'record','type_code' => 2307}
# 0
1..2
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: 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 622.
ok 4 - attach exception
# exception=unable to find bogus at t/ffi_platypus.t line 626.
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 642.
ok 4 - attach exception
# exception=unable to find bogus at t/ffi_platypus.t line 646.
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 660.
ok 4 - attach exception
# exception=unable to find bogus at t/ffi_platypus.t line 664.
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 = 11138912
ok 2 - size = 16
ok 3 - scalar = me grimlock king
1..3
ok 1 - simple
# Subtest: unicode
ok 1 - ptr = 7464288
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: sticky
ok 1 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure'
# _svrefcnt = 1
ok 2 - called $closure->sticky
ok 3
ok 4 - called $closure->unstick
ok 5
1..5
ok 2 - sticky
# Subtest: private
ok 1 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure'
ok 2 - closure.(1) = 2
1..2
ok 3 - private
# Subtest: space
ok 1 - good without space
ok 2 - good with space
1..2
ok 4 - 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 68.
# '
1..2
ok 5 - die
# Subtest: reuse
ok 1
ok 2
1..2
ok 6 - reuse
1..6
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: 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 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_PLATYPUS_DEFAULT 0001 1
# RTLD_LAZY 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 = 7626672
1..1
ok 2 - good library
1..2
ok 2 - dlopen
# Subtest: dlsym
# Subtest: good symbol
ok 1 - returns an address
# address = 3065885100
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_internal.t ................
# Subtest: basic
# alpha order:
ok 1 - FFI_PL_BASE_CLOSURE 0x0400
ok 2 - FFI_PL_BASE_COMPLEX 0x0080
ok 3 - FFI_PL_BASE_FLOAT 0x0040
ok 4 - FFI_PL_BASE_MASK 0x0ff8
ok 5 - FFI_PL_BASE_OPAQUE 0x0100
ok 6 - FFI_PL_BASE_RECORD 0x0800
ok 7 - FFI_PL_BASE_SINT 0x0010
ok 8 - FFI_PL_BASE_STRING 0x0200
ok 9 - FFI_PL_BASE_UINT 0x0020
ok 10 - FFI_PL_BASE_VOID 0x0008
ok 11 - FFI_PL_SHAPE_ARRAY 0x2000
ok 12 - FFI_PL_SHAPE_CUSTOM_MASK 0xf000
ok 13 - FFI_PL_SHAPE_CUSTOM_NATIVE 0x8000
ok 14 - FFI_PL_SHAPE_CUSTOM_PERL 0x4000
ok 15 - FFI_PL_SHAPE_POINTER 0x1000
ok 16 - FFI_PL_SHAPE_SCALAR 0x0000
ok 17 - FFI_PL_SIZE_0 0x0000
ok 18 - FFI_PL_SIZE_128 0x0005
ok 19 - FFI_PL_SIZE_16 0x0002
ok 20 - FFI_PL_SIZE_256 0x0006
ok 21 - FFI_PL_SIZE_32 0x0003
ok 22 - FFI_PL_SIZE_512 0x0007
ok 23 - FFI_PL_SIZE_64 0x0004
ok 24 - FFI_PL_SIZE_8 0x0001
ok 25 - FFI_PL_SIZE_MASK 0x0007
ok 26 - FFI_PL_SIZE_PTR 0x0003
ok 27 - FFI_PL_TYPE_CLOSURE 0x0503
ok 28 - FFI_PL_TYPE_COMPLEX_DOUBLE 0x0085
ok 29 - FFI_PL_TYPE_COMPLEX_FLOAT 0x0084
ok 30 - FFI_PL_TYPE_DOUBLE 0x0044
ok 31 - FFI_PL_TYPE_FLOAT 0x0043
ok 32 - FFI_PL_TYPE_LONG_DOUBLE 0x0045
ok 33 - FFI_PL_TYPE_OPAQUE 0x0103
ok 34 - FFI_PL_TYPE_RECORD 0x0903
ok 35 - FFI_PL_TYPE_SINT16 0x0012
ok 36 - FFI_PL_TYPE_SINT32 0x0013
ok 37 - FFI_PL_TYPE_SINT64 0x0014
ok 38 - FFI_PL_TYPE_SINT8 0x0011
ok 39 - FFI_PL_TYPE_STRING 0x0303
ok 40 - FFI_PL_TYPE_UINT16 0x0022
ok 41 - FFI_PL_TYPE_UINT32 0x0023
ok 42 - FFI_PL_TYPE_UINT64 0x0024
ok 43 - FFI_PL_TYPE_UINT8 0x0021
ok 44 - FFI_PL_TYPE_VOID 0x0008
# value order:
ok 45 - FFI_PL_SIZE_0 0x0000
ok 46 - FFI_PL_SHAPE_SCALAR 0x0000
ok 47 - FFI_PL_SIZE_8 0x0001
ok 48 - FFI_PL_SIZE_16 0x0002
ok 49 - FFI_PL_SIZE_32 0x0003
ok 50 - FFI_PL_SIZE_PTR 0x0003
ok 51 - FFI_PL_SIZE_64 0x0004
ok 52 - FFI_PL_SIZE_128 0x0005
ok 53 - FFI_PL_SIZE_256 0x0006
ok 54 - FFI_PL_SIZE_512 0x0007
ok 55 - FFI_PL_SIZE_MASK 0x0007
ok 56 - FFI_PL_BASE_VOID 0x0008
ok 57 - FFI_PL_TYPE_VOID 0x0008
ok 58 - FFI_PL_BASE_SINT 0x0010
ok 59 - FFI_PL_TYPE_SINT8 0x0011
ok 60 - FFI_PL_TYPE_SINT16 0x0012
ok 61 - FFI_PL_TYPE_SINT32 0x0013
ok 62 - FFI_PL_TYPE_SINT64 0x0014
ok 63 - FFI_PL_BASE_UINT 0x0020
ok 64 - FFI_PL_TYPE_UINT8 0x0021
ok 65 - FFI_PL_TYPE_UINT16 0x0022
ok 66 - FFI_PL_TYPE_UINT32 0x0023
ok 67 - FFI_PL_TYPE_UINT64 0x0024
ok 68 - FFI_PL_BASE_FLOAT 0x0040
ok 69 - FFI_PL_TYPE_FLOAT 0x0043
ok 70 - FFI_PL_TYPE_DOUBLE 0x0044
ok 71 - FFI_PL_TYPE_LONG_DOUBLE 0x0045
ok 72 - FFI_PL_BASE_COMPLEX 0x0080
ok 73 - FFI_PL_TYPE_COMPLEX_FLOAT 0x0084
ok 74 - FFI_PL_TYPE_COMPLEX_DOUBLE 0x0085
ok 75 - FFI_PL_BASE_OPAQUE 0x0100
ok 76 - FFI_PL_TYPE_OPAQUE 0x0103
ok 77 - FFI_PL_BASE_STRING 0x0200
ok 78 - FFI_PL_TYPE_STRING 0x0303
ok 79 - FFI_PL_BASE_CLOSURE 0x0400
ok 80 - FFI_PL_TYPE_CLOSURE 0x0503
ok 81 - FFI_PL_BASE_RECORD 0x0800
ok 82 - FFI_PL_TYPE_RECORD 0x0903
ok 83 - FFI_PL_BASE_MASK 0x0ff8
ok 84 - FFI_PL_SHAPE_POINTER 0x1000
ok 85 - FFI_PL_SHAPE_ARRAY 0x2000
ok 86 - FFI_PL_SHAPE_CUSTOM_PERL 0x4000
ok 87 - FFI_PL_SHAPE_CUSTOM_NATIVE 0x8000
ok 88 - FFI_PL_SHAPE_CUSTOM_MASK 0xf000
1..88
ok 1 - basic
1..1
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
# void* uint32
# wchar_t uint32
ok 1 - good
1..1
ok
t/ffi_platypus_memory.t ..................
# Subtest: malloc calloc memset free
ok 1 - malloc returns 8986344
ok 2 - calloc returns 7667504
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 = 5628168
ok 2 - initial data copied
ok 3 - realloc call ptr = 9072424 (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
# {'ffi_type' => 'pointer','ref' => 1,'size' => 8,'type' => 'record','type_code' => 2307}
# {'ffi_type' => 'pointer','ref' => 0,'size' => 8,'type' => 'record','type_code' => 2307}
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 = 24233648
ok 13 - opaque = 24233648
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 187.
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 = 24547056,undef,24314992
ok 2 - opaque = 24547056,24547056,24314992
ok 3 - opaque = undef,24547056,24314992
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 341.
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',
# 'void*' => 'uint32',
# '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_stringarray.t ........
# Subtest: fixed length input
# Subtest: with default
ok 1 - a1(0) = foo
ok 2 - a1(0) = bar
ok 3 - a1(0) = baz
ok 4 - a1(0) = hey
ok 5 - a1(0) = five
ok 6 - a1(0) = undef
1..6
ok 1 - with default
# Subtest: with default
ok 1 - a2(0) = foo
ok 2 - a2(0) = bar
ok 3 - a2(0) = baz
ok 4 - a2(0) = undef
ok 5 - a2(0) = five
ok 6 - a2(0) = undef
1..6
ok 2 - with default
1..2
ok 1 - fixed length input
# Subtest: variable length input
ok 1 - get_string_from_array(@list, 0) = foo
ok 2 - get_string_from_array(@list, 1) = bar
ok 3 - get_string_from_array(@list, 2) = baz
ok 4 - get_string_from_array(@list, 3) = undef
1..4
ok 2 - variable length input
# Subtest: fixed length return
ok 1 - returns null
ok 2 - returns with just strings
ok 3 - returns with NULL/undef in the middle
ok 4 - returns with NULL/undef in the middle with default
1..4
ok 3 - fixed length return
# Subtest: null terminated return
ok 1 - returns null
ok 2
ok 3
ok 4
1..4
ok 4 - null terminated return
1..4
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(11294976); getp() = 11294976
ok 6 - get($tmp); tmp = 11294976
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(\11295136) = 11295136
ok 16 - p2pp(undef) = \undef
ok 17 - pp2p(11630016) = \11630016
ok 18 - call_closure(undef) = undef
ok 19 - save = undef
ok 20 - call_closure(\11663600) = 11663600
ok 21 - save = 11663600
# 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 = 31
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=39, Tests=384, 54 wallclock secs ( 1.89 usr 0.34 sys + 45.64 cusr 5.41 csys = 53.28 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.28/auto/FFI/Platypus/Platypus.bs
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/auto/FFI/Platypus/Platypus.so
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/API.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Buffer.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/DL.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Declare.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Internal.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Lang.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Memory.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Record.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/ShareConfig.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Type.pod
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Lang/ASM.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Lang/C.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Lang/Win32.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Record/TieArray.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Type/PointerSizeBuffer.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Type/StringArray.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Type/StringPointer.pm
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/auto/share/dist/FFI-Platypus/README.txt
Installing /<<PKGBUILDDIR>>/debian/libffi-platypus-perl/usr/lib/arm-linux-gnueabihf/perl5/5.28/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::Internal.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::StringArray.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'
rm -f -v /<<PKGBUILDDIR>>/debian/libffi-platypus-perl//usr/lib/arm-linux-gnueabihf/perl5/5.28/auto/share/dist/FFI-Platypus/README.txt
removed '/<<PKGBUILDDIR>>/debian/libffi-platypus-perl//usr/lib/arm-linux-gnueabihf/perl5/5.28/auto/share/dist/FFI-Platypus/README.txt'
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-dbgsym' in '../libffi-platypus-perl-dbgsym_0.59-1_armhf.deb'.
dpkg-deb: building package 'libffi-platypus-perl' in '../libffi-platypus-perl_0.59-1_armhf.deb'.
dpkg-genbuildinfo --build=any
dpkg-genchanges --build=any -mRaspbian wandboard test autobuilder <root@raspbian.org> >../libffi-platypus-perl_0.59-1_armhf.changes
dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep packages not included)
dpkg-source --after-build .
dpkg-buildpackage: info: binary-only upload (no source included)
--------------------------------------------------------------------------------
Build finished at 2018-12-24T04:59:42Z
Finished
--------
I: Built successfully
+------------------------------------------------------------------------------+
| Post Build Chroot |
+------------------------------------------------------------------------------+
+------------------------------------------------------------------------------+
| Changes |
+------------------------------------------------------------------------------+
libffi-platypus-perl_0.59-1_armhf.changes:
------------------------------------------
Format: 1.8
Date: Fri, 21 Dec 2018 20:31:14 +0100
Source: libffi-platypus-perl
Binary: libffi-platypus-perl
Architecture: armhf
Version: 0.59-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.59-1) unstable; urgency=medium
.
* Import upstream version 0.59.
Checksums-Sha1:
3f8fd988aaa6964af7ba325c9aa6b0b5382faa1b 206660 libffi-platypus-perl-dbgsym_0.59-1_armhf.deb
4c4997157ad2dfa9c072f04a9b74057f805e2f9f 4896 libffi-platypus-perl_0.59-1_armhf.buildinfo
ae047762e02c7bd0a5aa8a116f7e845dd90ae65f 171436 libffi-platypus-perl_0.59-1_armhf.deb
Checksums-Sha256:
99c36f783cbdf3bca18ac5ecc5d55e8029809c8ff7ac6d72dd120f0b3a149348 206660 libffi-platypus-perl-dbgsym_0.59-1_armhf.deb
0c468c7598892d135dc00fd680dd2bf948d33ba4fe5476a6eb1854a7718520a1 4896 libffi-platypus-perl_0.59-1_armhf.buildinfo
56ba477debf99bbefccbac1585ea9b80121ebb1e661ef423c430c772b5dd9255 171436 libffi-platypus-perl_0.59-1_armhf.deb
Files:
98b6d2e57e793a274276ac2462ceeea9 206660 debug optional libffi-platypus-perl-dbgsym_0.59-1_armhf.deb
d1f1232690eb9b225df56d7beb8ae6c4 4896 perl optional libffi-platypus-perl_0.59-1_armhf.buildinfo
e49eb164e3926c49ecf8b9ce9fc49c51 171436 perl optional libffi-platypus-perl_0.59-1_armhf.deb
+------------------------------------------------------------------------------+
| Package contents |
+------------------------------------------------------------------------------+
libffi-platypus-perl-dbgsym_0.59-1_armhf.deb
--------------------------------------------
new Debian package, version 2.0.
size 206660 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.59-1
Auto-Built-Package: debug-symbols
Architecture: armhf
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Installed-Size: 230
Depends: libffi-platypus-perl (= 0.59-1)
Section: debug
Priority: optional
Description: debug symbols for libffi-platypus-perl
Build-Ids: b68d5436038691f0d25144a128effed170fbd453
drwxr-xr-x root/root 0 2018-12-21 19:31 ./
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/debug/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/debug/.build-id/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/debug/.build-id/b6/
-rw-r--r-- root/root 225124 2018-12-21 19:31 ./usr/lib/debug/.build-id/b6/8d5436038691f0d25144a128effed170fbd453.debug
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/share/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/share/doc/
lrwxrwxrwx root/root 0 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl-dbgsym -> libffi-platypus-perl
libffi-platypus-perl_0.59-1_armhf.deb
-------------------------------------
new Debian package, version 2.0.
size 171436 bytes: control archive=2740 bytes.
839 bytes, 16 lines control
6602 bytes, 72 lines md5sums
Package: libffi-platypus-perl
Version: 0.59-1
Architecture: armhf
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Installed-Size: 463
Depends: perl (>= 5.28.1-3), perlapi-5.28.1, 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-12-21 19:31 ./
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/
-rw-r--r-- root/root 68281 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus.pm
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/
-rw-r--r-- root/root 5329 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/API.pm
-rw-r--r-- root/root 4174 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Buffer.pm
-rw-r--r-- root/root 5432 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/DL.pm
-rw-r--r-- root/root 11076 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Declare.pm
-rw-r--r-- root/root 1162 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Internal.pm
-rw-r--r-- root/root 1314 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Lang.pm
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Lang/
-rw-r--r-- root/root 1825 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Lang/ASM.pm
-rw-r--r-- root/root 1719 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Lang/C.pm
-rw-r--r-- root/root 6736 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Lang/Win32.pm
-rw-r--r-- root/root 5007 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Memory.pm
-rw-r--r-- root/root 8322 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Record.pm
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Record/
-rw-r--r-- root/root 2526 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Record/TieArray.pm
-rw-r--r-- root/root 1288 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/ShareConfig.pm
-rw-r--r-- root/root 31262 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Type.pod
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Type/
-rw-r--r-- root/root 2667 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Type/PointerSizeBuffer.pm
-rw-r--r-- root/root 5698 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Type/StringArray.pm
-rw-r--r-- root/root 2933 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/FFI/Platypus/Type/StringPointer.pm
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/auto/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/auto/FFI/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/auto/FFI/Platypus/
-rw-r--r-- root/root 0 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/auto/FFI/Platypus/Platypus.bs
-rw-r--r-- root/root 120072 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/auto/FFI/Platypus/Platypus.so
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/auto/share/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/auto/share/dist/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/auto/share/dist/FFI-Platypus/
-rw-r--r-- root/root 2210 2018-12-21 19:31 ./usr/lib/arm-linux-gnueabihf/perl5/5.28/auto/share/dist/FFI-Platypus/config.pl
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/share/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/share/doc/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/
-rw-r--r-- root/root 1902 2018-12-16 23:33 ./usr/share/doc/libffi-platypus-perl/CONTRIBUTING.gz
-rw-r--r-- root/root 250 2018-12-16 23:33 ./usr/share/doc/libffi-platypus-perl/Changes.FFI-Platypus-Type-StringArray
-rw-r--r-- root/root 1319 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/changelog.Debian.gz
-rw-r--r-- root/root 6160 2018-12-16 23:33 ./usr/share/doc/libffi-platypus-perl/changelog.gz
-rw-r--r-- root/root 1344 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/copyright
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/
-rw-r--r-- root/root 3254 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/archive.pl
-rw-r--r-- root/root 331 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/attach_from_pointer.pl
-rw-r--r-- root/root 2052 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/bzip2.pl
-rw-r--r-- root/root 407 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/char.pl
-rw-r--r-- root/root 419 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/closure-opaque.pl
-rw-r--r-- root/root 366 2018-12-16 23:33 ./usr/share/doc/libffi-platypus-perl/examples/closure.c
-rw-r--r-- root/root 480 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/closure.pl
-rw-r--r-- root/root 1971 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/get_uptime.pl
-rw-r--r-- root/root 192 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/getpid.pl
-rw-r--r-- root/root 200 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/integer.pl
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/java/
-rw-r--r-- root/root 253 2018-12-16 23:33 ./usr/share/doc/libffi-platypus-perl/examples/java/Example.java
-rw-r--r-- root/root 312 2018-12-16 23:33 ./usr/share/doc/libffi-platypus-perl/examples/java/Makefile
-rw-r--r-- root/root 295 2018-12-16 23:33 ./usr/share/doc/libffi-platypus-perl/examples/java/between.cpp
-rw-r--r-- root/root 538 2018-12-16 23:33 ./usr/share/doc/libffi-platypus-perl/examples/java/example.pl
-rw-r--r-- root/root 272 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/list_integer_types.pl
-rw-r--r-- root/root 313 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/malloc.pl
-rw-r--r-- root/root 376 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/math.pl
-rw-r--r-- root/root 1058 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/notify.pl
-rw-r--r-- root/root 223 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/pipe.pl
-rw-r--r-- root/root 430 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/string.pl
-rw-r--r-- root/root 1795 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/time.pl
-rw-r--r-- root/root 2253 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/time_oo.pl
-rw-r--r-- root/root 864 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/time_record.pl
-rw-r--r-- root/root 594 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/uuid.pl
-rw-r--r-- root/root 137 2018-12-16 23:33 ./usr/share/doc/libffi-platypus-perl/examples/var_array.c
-rw-r--r-- root/root 220 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/var_array.pl
-rw-r--r-- root/root 242 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/win32_beep.pl
-rw-r--r-- root/root 1568 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/win32_getSystemTime.pl
-rw-r--r-- root/root 2307 2018-12-21 19:31 ./usr/share/doc/libffi-platypus-perl/examples/zmq3.pl
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/share/man/
drwxr-xr-x root/root 0 2018-12-21 19:31 ./usr/share/man/man3/
-rw-r--r-- root/root 20404 2018-12-21 19:31 ./usr/share/man/man3/FFI::Platypus.3pm.gz
-rw-r--r-- root/root 3377 2018-12-21 19:31 ./usr/share/man/man3/FFI::Platypus::API.3pm.gz
-rw-r--r-- root/root 3410 2018-12-21 19:31 ./usr/share/man/man3/FFI::Platypus::Buffer.3pm.gz
-rw-r--r-- root/root 4103 2018-12-21 19:31 ./usr/share/man/man3/FFI::Platypus::DL.3pm.gz
-rw-r--r-- root/root 5254 2018-12-21 19:31 ./usr/share/man/man3/FFI::Platypus::Declare.3pm.gz
-rw-r--r-- root/root 2287 2018-12-21 19:31 ./usr/share/man/man3/FFI::Platypus::Internal.3pm.gz
-rw-r--r-- root/root 2393 2018-12-21 19:31 ./usr/share/man/man3/FFI::Platypus::Lang.3pm.gz
-rw-r--r-- root/root 2659 2018-12-21 19:31 ./usr/share/man/man3/FFI::Platypus::Lang::ASM.3pm.gz
-rw-r--r-- root/root 2516 2018-12-21 19:31 ./usr/share/man/man3/FFI::Platypus::Lang::C.3pm.gz
-rw-r--r-- root/root 2527 2018-12-21 19:31 ./usr/share/man/man3/FFI::Platypus::Lang::Win32.3pm.gz
-rw-r--r-- root/root 3480 2018-12-21 19:31 ./usr/share/man/man3/FFI::Platypus::Memory.3pm.gz
-rw-r--r-- root/root 4331 2018-12-21 19:31 ./usr/share/man/man3/FFI::Platypus::Record.3pm.gz
-rw-r--r-- root/root 2714 2018-12-21 19:31 ./usr/share/man/man3/FFI::Platypus::Record::TieArray.3pm.gz
-rw-r--r-- root/root 12804 2018-12-21 19:31 ./usr/share/man/man3/FFI::Platypus::Type.3pm.gz
-rw-r--r-- root/root 2616 2018-12-21 19:31 ./usr/share/man/man3/FFI::Platypus::Type::PointerSizeBuffer.3pm.gz
-rw-r--r-- root/root 3285 2018-12-21 19:31 ./usr/share/man/man3/FFI::Platypus::Type::StringArray.3pm.gz
-rw-r--r-- root/root 2543 2018-12-21 19:31 ./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: 7160
Build-Time: 359
Distribution: buster-staging
Host Architecture: armhf
Install-Time: 298
Job: libffi-platypus-perl_0.59-1
Machine Architecture: armhf
Package: libffi-platypus-perl
Package-Time: 713
Source-Version: 0.59-1
Space: 7160
Status: successful
Version: 0.59-1
--------------------------------------------------------------------------------
Finished at 2018-12-24T04:59:42Z
Build needed 00:11:53, 7160k disc space