Bug #80435 [Opn]: Bus Error compiling phar.phar on Apple M1
Edit report at https://bugs.php.net/bug.php?id=80435&edit=1
ID: 80435
User updated by: cja987 at gmail dot com
Reported by: cja987 at gmail dot com
Summary: Bus Error compiling phar.phar on Apple M1
Status: Open
Type: Bug
Package: Compile Failure
Operating System: macOS 11
PHP Version: 8.0Git-2020-11-27 (Git)
Block user comment: N
Private report: N
New Comment:
sapi/cli/php -v does work, but it does immediately get run over by the bus (error) when running the
test suite. I can't convince gdb to install either, so there's not a lot that's
debuggable. Homebrew does build php successfully, and it appears it even applies a patch or two, so
I'll work backwards from that.
Previous Comments:
------------------------------------------------------------------------
[2020-11-30 14:54:59] nikic@php.net
I suspect the build might be entirely borked, and the phar generation is just the first part that
actually uses the produced binary.
Does running sapi/cli/php -v work? If so, does running sapi/cli/php run-tests.php
Zend -j8 produce any failures?
------------------------------------------------------------------------
[2020-11-27 21:01:41] cja987 at gmail dot com
As requested, these values from the makefile:
PHP_PHARCMD_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d
'memory_limit=-1' -d phar.readonly=0
PHP_PHARCMD_BANG = $(top_srcdir)/build/shtool echo -n --
"$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";
------------------------------------------------------------------------
[2020-11-27 20:59:26] cja987 at gmail dot com
Description:
------------
Using the compile command shown in the test script below, compilation proceeds normally and it even
builds some of the SAPIs, but once it gets to phar, things go sideways:
Generating phar.php
Generating phar.phar
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be
enabled.
make: *** [ext/phar/phar.phar] Bus error: 10
Test script:
---------------
make distclean; ./buildconf && PATH=/opt/homebrew/opt/bison/bin:$PATH ./configure
--with-iconv=/opt/homebrew/opt/libiconv && make -j10 YACC=/opt/homebrew/opt/bison/bin/bison
# The above shows another minor bug: I should not have to set YACC,
# but the makefile sets it to just "bison" rather than the full path,
# which causes it to find the obsolete system bison in the path instead.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=80435&edit=1
Thread (8 messages)