Skip to content

fatal error: 'capstone/capstone.h' file not found #1275

@MagicLegend

Description

@MagicLegend

Output

/bin/sh /Users/<user>/.phpbrew/build/php-8.1.8/libtool --silent --preserve-dup-deps --tag CC --mode=compile cc -Iext/opcache/ -I/Users/<user>/.phpbrew/build/php-8.1.8/ext/opcache/ -I/Users/<user>/.phpbrew/build/php-8.1.8/include -I/Users/<user>/.phpbrew/build/php-8.1.8/main -I/Users/<user>/.phpbrew/build/php-8.1.8 -I/Users/<user>/.phpbrew/build/php-8.1.8/ext/date/lib -I/opt/homebrew/Cellar/openssl@1.1/1.1.1q/include -I/opt/homebrew/Cellar/zlib/1.2.13/include -I/opt/homebrew/opt/bzip2/include -I/opt/homebrew/Cellar/curl/7.85.0/include -I/opt/homebrew/Cellar/libpng/1.6.38/include/libpng16 -I/opt/homebrew/Cellar/jpeg-turbo/2.1.4/include -I/opt/homebrew/opt/freetype/include/freetype2 -I/opt/homebrew/opt/libiconv/include -I/opt/homebrew/Cellar/icu4c/71.1/include -I/opt/homebrew/Cellar/oniguruma/6.9.8/include -I/Users/<user>/.phpbrew/build/php-8.1.8/ext/mbstring/libmbfl -I/Users/<user>/.phpbrew/build/php-8.1.8/ext/mbstring/libmbfl/mbfl -I/opt/homebrew/Cellar/capstone/4.0.2/include/capstone -I/opt/homebrew/opt/readline/include -I/opt/homebrew/Cellar/libsodium/1.0.18_1/include -I/opt/homebrew/Cellar/libzip/1.9.2/include -I/Users/<user>/.phpbrew/build/php-8.1.8/TSRM -I/Users/<user>/.phpbrew/build/php-8.1.8/Zend    -fno-common -Wstrict-prototypes -Wall -Wextra -Wno-strict-aliasing -Wno-unused-parameter -Wno-sign-compare -g -O2 -fvisibility=hidden -DZEND_SIGNALS    -Wno-implicit-fallthrough -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DZEND_COMPILE_DL_EXT=1 -c /Users/<user>/.phpbrew/build/php-8.1.8/ext/opcache/jit/zend_jit.c -o ext/opcache/jit/zend_jit.lo  -MMD -MF ext/opcache/jit/zend_jit.dep -MT ext/opcache/jit/zend_jit.lo
In file included from /Users/<user>/.phpbrew/build/php-8.1.8/ext/opcache/jit/zend_jit.c:713:
ext/opcache/jit/zend_jit_disasm.c:24:11: fatal error: 'capstone/capstone.h' file not found
# include <capstone/capstone.h>
          ^~~~~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [ext/opcache/jit/zend_jit.lo] Error 1

Expected Result

Compiled PHP (doi)

Command

Paste your phpbrew install command here (be sure to install with --debug flag, e.g. phpbrew --debug install)

Initially:

phpbrew -d install latest +default +soap +iconv="$(brew --prefix libiconv)" +fileinfo +mysql +openssl=$(brew --prefix openssl@1.1) +fpm +sodium +intl +gd +bz2="$(brew --prefix bzip2)" +zlib="$(brew --prefix zlib)" -- --without-pcre-jit

In an attempt to point opcache to capstone's location:

/opt/homebrew/opt/php@7.4/bin/php /usr/local/bin/phpbrew -d install latest +default +soap +iconv="$(brew --prefix libiconv)" +fileinfo +mysql +openssl=$(brew --prefix openssl@1.1) +fpm +sodium +intl +gd +bz2="$(brew --prefix bzip2)" +zlib="$(brew --prefix zlib)" +opcache="($brew --prefix capstone)" -- --without-pcre-jit

Build Log

https://gist.github.com/MagicLegend/b8dfcbad7d418237fa09ebf9bbf88f9f

Platform

OS:

MacOS 12.6, M1

Running PHP:

7.4.27

Installing PHP:

latest (8.1.8)


Installing PHP 7.4.27 went fine with this command. How do I disable these other JIT parts, since they appear to be broken on ARM? Note that capstone is installed via brew at /opt/homebrew/opt/capstone, and the header file it's searching for is available at /opt/homebrew/opt/capstone/include/capstone/capstone.h.

Thank you!

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions