Package Details: php-igbinary 2.0.8-1

Git Clone URL: https://aur.archlinux.org/php-igbinary.git (read-only)
Package Base: php-igbinary
Description: Igbinary is a drop in replacement for the standard php serializer.
Upstream URL: https://github.com/igbinary/igbinary
Licenses: BSD
Conflicts: php-igbinary-git
Submitter: freitafr
Maintainer: freitafr
Last Packager: freitafr
Votes: 3
Popularity: 0.119350
First Submitted: 2018-04-06 19:36
Last Updated: 2018-10-20 21:32

Latest Comments

1 2 Next › Last »

freitafr commented on 2018-08-23 09:16

Hi amdg,

Sorry for the delay. Thank you for posting your configuration, that allowed me to reproduce the failures in my environment. I have been toying with upstream igbinary, but haven't been able to understand why tests are failing in that configuration. The project maintainers will likely have more insight about the issue, I think you can try opening an issue upstream.

amdg commented on 2018-07-30 08:03

Hello freitafr,

Thank you for the feedback, the tests also fails when cloning the upstream git repository.

I have a specific configuration for the session to save them in Redis instead of files:

; Save sessions to redis
session.save_handler = redis
; Redis via TCP
;session.save_path = "tcp://127.0.0.1:6379"
; Redis via UNIX Socket
session.save_path = "unix:///run/redis/redis.sock"

Going back to the default configuration (same as you) fix all the tests. Should we report the issue upstream ?

Regards

freitafr commented on 2018-07-25 08:41

It is dangerous to ignore test results, it may mean that part of the software may not run correctly in your environment. The Arch wiki recommends running the tests.

In order to distinguish between a packaging issue and an upstream issue in your environment, would you be able to clone upstream locally and run the tests?

I usually use something like:

cd /tmp
git clone https://github.com/igbinary/igbinary.git
cd igbinary
phpize
./configure --enable-igbinary
NO_INTERACTION=1 make test

If upstream test suite passes, then we should investigate how tests are run from the PKGBUILD.

I took a quick look at the failing tests, they all seem to require the session extension to be loaded. Do you have a custom configuration for the session extension?

If that's any help, the session section of my php.ini is available at https://ghostbin.com/paste/5hrrq.

amdg commented on 2018-07-24 21:11

Thank you for your feedback. It doesn't work when running with the http user with sudo -u.

Isn't dangerous to silently ignore test results ?

regards

chrbayer commented on 2018-07-22 12:59

Hi,

during testing temporary directories are used by php, which normally belong to the http user. Try using the package with this user and the tests will be successful. Or just comment out the tests with any other user in PKGBUILD file.

Best regards, Christoph

amdg commented on 2018-07-22 11:50

Hello,

Thank you for providing this package, I have an issue while building it on my server. The test suite doesn't pass, the results of the build and the tests are available below. Please tell me if you need more information to debug this error.

==> Lancement de build()…
Configuring for:
PHP Api Version:         20170718
Zend Module Api No:      20170718
Zend Extension Api No:   320170718
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib
checking for PHP extension directory... /usr/lib/php/modules
checking for PHP installed headers prefix... /usr/include/php
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... gawk
checking whether to enable igbinary support... yes, shared
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking stdbool.h usability... yes
checking stdbool.h presence... yes
checking for stdbool.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdint.h... (cached) yes
checking PHP version... PHP 7
checking for APC/APCU includes... APCU in /usr/include/php
checking size of long... 8
checking compiler type... gcc
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognize dependent libraries... pass_all
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking the maximum length of command line arguments... 1572864
checking command to parse /usr/bin/nm -B output from cc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if cc supports -fno-rtti -fno-exceptions... no
checking for cc option to produce PIC... -fPIC
checking if cc PIC flag -fPIC works... yes
checking if cc static flag -static works... yes
checking if cc supports -c -o file.o... yes
checking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no

creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h
/bin/sh /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/libtool --mode=compile cc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -O2 -Wall -Wpointer-arith -Wcast-align -Wwrite-strings -Wswitch -finline-limit=10000 --param large-function-growth=10000 --param inline-unit-growth=10000 -I. -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7 -DPHP_ATOM_INC -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/include -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/main -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib  -D_FORTIFY_SOURCE=2 -DHAVE_CONFIG_H  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt   -c /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/src/php7/igbinary.c -o src/php7/igbinary.lo 
mkdir src/php7/.libs
 cc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -O2 -Wall -Wpointer-arith -Wcast-align -Wwrite-strings -Wswitch -finline-limit=10000 --param large-function-growth=10000 --param inline-unit-growth=10000 -I. -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7 -DPHP_ATOM_INC -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/include -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/main -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -D_FORTIFY_SOURCE=2 -DHAVE_CONFIG_H -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -c /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/src/php7/igbinary.c  -fPIC -DPIC -o src/php7/.libs/igbinary.o
/bin/sh /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/libtool --mode=compile cc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -O2 -Wall -Wpointer-arith -Wcast-align -Wwrite-strings -Wswitch -finline-limit=10000 --param large-function-growth=10000 --param inline-unit-growth=10000 -I. -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7 -DPHP_ATOM_INC -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/include -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/main -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib  -D_FORTIFY_SOURCE=2 -DHAVE_CONFIG_H  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt   -c /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/src/php7/hash_si.c -o src/php7/hash_si.lo 
 cc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -O2 -Wall -Wpointer-arith -Wcast-align -Wwrite-strings -Wswitch -finline-limit=10000 --param large-function-growth=10000 --param inline-unit-growth=10000 -I. -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7 -DPHP_ATOM_INC -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/include -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/main -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -D_FORTIFY_SOURCE=2 -DHAVE_CONFIG_H -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -c /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/src/php7/hash_si.c  -fPIC -DPIC -o src/php7/.libs/hash_si.o
/bin/sh /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/libtool --mode=compile cc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -O2 -Wall -Wpointer-arith -Wcast-align -Wwrite-strings -Wswitch -finline-limit=10000 --param large-function-growth=10000 --param inline-unit-growth=10000 -I. -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7 -DPHP_ATOM_INC -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/include -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/main -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib  -D_FORTIFY_SOURCE=2 -DHAVE_CONFIG_H  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt   -c /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/src/php7/hash_si_ptr.c -o src/php7/hash_si_ptr.lo 
 cc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -O2 -Wall -Wpointer-arith -Wcast-align -Wwrite-strings -Wswitch -finline-limit=10000 --param large-function-growth=10000 --param inline-unit-growth=10000 -I. -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7 -DPHP_ATOM_INC -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/include -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/main -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -D_FORTIFY_SOURCE=2 -DHAVE_CONFIG_H -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -c /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/src/php7/hash_si_ptr.c  -fPIC -DPIC -o src/php7/.libs/hash_si_ptr.o
/bin/sh /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/libtool --mode=link cc -DPHP_ATOM_INC -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/include -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/main -I/tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib  -D_FORTIFY_SOURCE=2 -DHAVE_CONFIG_H  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt  -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -o igbinary.la -export-dynamic -avoid-version -prefer-pic -module -rpath /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/modules  src/php7/igbinary.lo src/php7/hash_si.lo src/php7/hash_si_ptr.lo 
mkdir .libs
cc -shared  src/php7/.libs/igbinary.o src/php7/.libs/hash_si.o src/php7/.libs/hash_si_ptr.o   -march=x86-64 -mtune=generic -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,-soname -Wl,igbinary.so -o .libs/igbinary.so
creating igbinary.la
(cd .libs && rm -f igbinary.la && ln -s ../igbinary.la igbinary.la)
/bin/sh /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/libtool --mode=install cp ./igbinary.la /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/modules
cp ./.libs/igbinary.so /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/modules/igbinary.so
cp ./.libs/igbinary.lai /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/modules/igbinary.la
PATH="$PATH:/sbin" ldconfig -n /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/modules
----------------------------------------------------------------------
Libraries have been installed in:
   /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------

Build complete.
Don't forget to run 'make test'.

==> Lancement de check()…

Build complete.
Don't forget to run 'make test'.


=====================================================================
PHP         : /usr/bin/php 
PHP_SAPI    : cli
PHP_VERSION : 7.2.8
ZEND_VERSION: 3.2.0
PHP_OS      : Linux - Linux my-hostname 4.14.56-1-lts #1 SMP Tue Jul 17 20:11:42 CEST 2018 x86_64
INI actual  : /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7/tmp-php.ini
More .INIs  :   
CWD         : /tmp/yaourt-tmp-baudouin/aur-php-igbinary/src/igbinary-2.0.7
Extra dirs  : 
VALGRIND    : Not used
=====================================================================
TIME START 2018-07-22 13:42:57
=====================================================================
PASS Check for igbinary presence [tests/igbinary_001.phpt] 
PASS Check for null serialisation [tests/igbinary_002.phpt] 
PASS Check for bool serialisation [tests/igbinary_003.phpt] 
PASS Check for integer serialisation [tests/igbinary_004.phpt] 
PASS Check for double serialisation [tests/igbinary_005.phpt] 
PASS Check for simple string serialization [tests/igbinary_006.phpt] 
PASS Check for simple array serialization [tests/igbinary_007.phpt] 
PASS Check for array+string serialization [tests/igbinary_008.phpt] 
PASS Check for reference serialisation [tests/igbinary_009.phpt] 
PASS Check for reference serialization (Original example, not using var_dump) [tests/igbinary_009b.phpt] 
PASS Array test [tests/igbinary_010.phpt] 
PASS Object test [tests/igbinary_012.phpt] 
PASS Object-Array test [tests/igbinary_013.phpt] 
PASS Object-Reference test [tests/igbinary_014.phpt] 
FAIL Check for serialization handler [tests/igbinary_015.phpt] 
FAIL Check for serialization handler, ini-directive [tests/igbinary_015b.phpt] 
FAIL Check for serialization handler [tests/igbinary_015c.phpt] 
PASS Object test, __sleep [tests/igbinary_016.phpt] 
PASS Object test, __wakeup [tests/igbinary_017.phpt] 
PASS Object test, __sleep error cases [tests/igbinary_018.phpt] 
PASS Object test, __autoload [tests/igbinary_019.phpt] 
PASS Object test, incomplete class [tests/igbinary_020.phpt] 
PASS Object Serializable interface [tests/igbinary_021.phpt] 
PASS Object test, unserialize_callback_func [tests/igbinary_022.phpt] 
PASS Resource [tests/igbinary_023.phpt] 
PASS Recursive objects [tests/igbinary_024.phpt] 
PASS Object test, array of objects with __sleep [tests/igbinary_025.phpt] 
PASS Object test, array of small objects with __sleep [tests/igbinary_025b.phpt] 
PASS Cyclic array test [tests/igbinary_026.phpt] 
PASS Cyclic array test 2 [tests/igbinary_026b.phpt] 
FAIL Check for serialization handler [tests/igbinary_027.phpt] 
FAIL Serialize object into session, full set [tests/igbinary_028.phpt] 
PASS Igbinary module info [tests/igbinary_029.phpt] 
SKIP Unserialize invalid data (PHP 5) [tests/igbinary_030.phpt] reason: php 5.6 or older required
SKIP Unserialize invalid data [tests/igbinary_030_php7.phpt] reason: php 7.1 or 7.0 required
PASS Unserialize invalid data (php 7.2+) [tests/igbinary_030_php72.phpt] 
PASS Object Serializable interface throws exceptions [tests/igbinary_031.phpt] 
PASS Object test, __sleep and __wakeup exceptions [tests/igbinary_032.phpt] 
PASS Object test, cyclic references [tests/igbinary_033.phpt] 
PASS Unserialize invalid random data [tests/igbinary_034.phpt] 
PASS b0rked random data test [tests/igbinary_040.phpt] 
PASS Check for double NaN, Inf, -Inf, 0, and -0. IEEE 754 doubles [tests/igbinary_041.phpt] 
PASS Closure [tests/igbinary_042.phpt] 
PASS Object serialization with compact strings [tests/igbinary_043.phpt] 
PASS Check for double extremes [tests/igbinary_044.phpt] 
SKIP APC serializer registration [tests/igbinary_045.phpt] reason: APC not loaded
SKIP APCu serializer registration [tests/igbinary_045b.phpt] reason: APCu not loaded
SKIP APCu serializer registration - more data types [tests/igbinary_045c.phpt] reason: APCu not loaded
PASS Correctly unserialize scalar refs. [tests/igbinary_046.phpt] 
PASS Correctly unserialize multiple object refs. [tests/igbinary_046b.phpt] 
PASS Correctly unserialize multiple array refs. [tests/igbinary_046c.phpt] 
PASS Correctly unserialize multiple object refs and non-refs. [tests/igbinary_046d.phpt] 
FAIL Check for serialization handler, SessionHandlerInterface [tests/igbinary_047.phpt] 
PASS Object test, __set not called for private attr in extended class [tests/igbinary_048.phpt] 
PASS Object test, __set not called for private attr in extended class [tests/igbinary_048b.phpt] 
PASS Correctly unserialize multiple references in arrays [tests/igbinary_049.phpt] 
PASS Correctly unserialize multiple references in objects [tests/igbinary_049b.phpt] 
PASS Correctly unserialize cyclic object references [tests/igbinary_050.phpt] 
PASS Object test, __wakeup (With multiple references) [tests/igbinary_051.phpt] 
PASS Object Serializable interface can be serialized in references [tests/igbinary_052.phpt] 
PASS __wakeup can modify properties without affecting other objects [tests/igbinary_053.phpt] 
PASS __wakeup can add dynamic properties without affecting other objects [tests/igbinary_054.phpt] 
PASS __wakeup can replace a copy of the object referring to the root node. [tests/igbinary_055.phpt] 
PASS Test serializing more strings than the capacity of the initial strings table. [tests/igbinary_057.phpt] 
PASS Should not call __destruct if __wakeup throws an exception [tests/igbinary_058.phpt] 
PASS Should not call __destruct if __wakeup throws an exception (in arrays) [tests/igbinary_058b.phpt] 
PASS igbinary_unserialize should never convert from packed array to hash when references exist (Bug #48) [tests/igbinary_059.phpt] 
PASS Igbinary_unserialize_header warning [tests/igbinary_060.phpt] 
FAIL igbinary session decoder should call __wakeup [tests/igbinary_061.phpt] 
PASS igbinary should not call __wakeup() if Serializable::unserialize was used to unserialize the object data (like `unserialize`) [tests/igbinary_062.phpt] 
SKIP Accessing unserialized numbers. [tests/igbinary_063.phpt] reason: php 5.6 or lower required
SKIP Accessing unserialized numbers. [tests/igbinary_063_php7.phpt] reason: php 7.1 or 7.0 required
PASS Accessing unserialized numbers. [tests/igbinary_063_php72.phpt] 
PASS Works when there are hash collisions in strings when serializing. [tests/igbinary_064.phpt] 
PASS Don't emit zval has unknown type 0 (IS_UNDEF) [tests/igbinary_065.phpt] 
SKIP Don't emit zval has unknown type 0 (IS_UNDEF) [tests/igbinary_065_php5.phpt] reason: regression test for php 5 behavior
PASS Nested objects cause segfault, php bug #54662 [tests/igbinary_bug54662.phpt] 
PASS igbinary_unserialize causes segfault on 3rd call for objects with dynamic property [tests/igbinary_bug72134.phpt] 
PASS Unserialize backwards compatible with v1. [tests/igbinary_unserialize_v1_compatible.phpt] 
=====================================================================
TIME END 2018-07-22 13:43:01

=====================================================================
TEST RESULT SUMMARY
---------------------------------------------------------------------
Exts skipped    :    0
Exts tested     :   29
---------------------------------------------------------------------

Number of tests :   79                71
Tests skipped   :    8 ( 10.1%) --------
Tests warned    :    0 (  0.0%) (  0.0%)
Tests failed    :    7 (  8.9%) (  9.9%)
Expected fail   :    0 (  0.0%) (  0.0%)
Tests passed    :   64 ( 81.0%) ( 90.1%)
---------------------------------------------------------------------
Time taken      :    4 seconds
=====================================================================

=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
Check for serialization handler [tests/igbinary_015.phpt]
Check for serialization handler, ini-directive [tests/igbinary_015b.phpt]
Check for serialization handler [tests/igbinary_015c.phpt]
Check for serialization handler [tests/igbinary_027.phpt]
Serialize object into session, full set [tests/igbinary_028.phpt]
Check for serialization handler, SessionHandlerInterface [tests/igbinary_047.phpt]
igbinary session decoder should call __wakeup [tests/igbinary_061.phpt]
=====================================================================
make: *** [Makefile:134: test] Error 1

freitafr commented on 2018-06-16 19:08

Thank you so much for reporting back!

On my install, I have:

$ pacman -Qi php
Name            : php
Version         : 7.2.6-1
Description     : A general-purpose scripting language that is especially suited to web development
Architecture    : x86_64
URL             : http://www.php.net
Licenses        : PHP
Groups          : None
Provides        : php-ldap=7.2.6
Depends On      : libxml2  curl  libzip  pcre  argon2
Optional Deps   : None
Required By     : composer  php-gd  php-igbinary  php-intl  php-oauth  php-pgsql  php-redis
Optional For    : None
Conflicts With  : php-ldap
Replaces        : php-ldap
Installed Size  : 19.60 MiB
Packager        : Pierre Schmitz <pierre@archlinux.de>
Build Date      : Fri 25 May 2018 10:46:32 PM PDT
Install Date    : Tue 29 May 2018 09:27:46 AM PDT
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature

When I ask for the PHP temporary directory, my system returns /tmp:

$ php -r 'echo(sys_get_temp_dir()) . PHP_EOL;'
/tmp

Do you have any custom directive for sys_temp_dir? When I ask for phpinfo, I'm using the default value:

$ php -r 'phpinfo();' | grep sys_temp_dir
sys_temp_dir => no value => no value

chrbayer commented on 2018-06-16 13:16

So, I solved this issue, it was not problem of igbinary or my php version. php was configured using /var/run/httpd/tmp as tmp directory with writing permissions only for http user. I did not build and test using this user, so creating tmp files fail and lead to the observed behaviour...

So the is no problem at all :-)

Maybe you should mention it somewhere, /var/run/httpd/tmp is default for Arch Linux, isn't it?

Thank you very mich for your help!

chrbayer commented on 2018-06-15 21:07

It shows the same two problems as in package... So I will post it upstream...

Nevertheless I wonder why it is building on your machine... I have no testing or staging packages installed, just from core/community... And all updated to the latest versions...

Issue opened.

freitafr commented on 2018-06-15 20:11

Hi @chrbayer,

Looks like the tests are failing to execute on your machine. Can you clone upstream and run the tests (e.g. with the following bash script):

cd /tmp
git clone https://github.com/igbinary/igbinary.git
cd igbinary
phpize
./configure --enable-igbinary
NO_INTERACTION=1 make test

On my machine, all tests pass, as shown in the output below:

=====================================================================
TEST RESULT SUMMARY
---------------------------------------------------------------------
Exts skipped    :    0
Exts tested     :   29
---------------------------------------------------------------------

Number of tests :   79                71
Tests skipped   :    8 ( 10.1%) --------
Tests warned    :    0 (  0.0%) (  0.0%)
Tests failed    :    0 (  0.0%) (  0.0%)
Expected fail   :    0 (  0.0%) (  0.0%)
Tests passed    :   71 ( 89.9%) (100.0%)
---------------------------------------------------------------------
Time taken      :    2 seconds
=====================================================================

If you can reproduce the failure with upstream, I would recommend reporting the issue on their github (https://github.com/igbinary/igbinary/issues). Including the output of php -r 'phpinfo();' would probably help identifying what's wrong.