1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00

README: Fix non-existent iconv in macOS instruction (#19475)

Follows-up 22e444c5c7 (GH-18670). There is currently no formula called
"iconv". [1][2]

```
$ brew install iconv
Warning: No available formula with the name "iconv". Did you mean icon or cconv?
```

There package is called "libiconv". [3]

Once installed, `./configure` still fails due to a discovery issue.

```
$ ./configure --enable-debug
…
checking for libiconv... no
configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR>
```

In 2020, as part of the switch from Intel to ARM, Homebrew adopted /opt
as the standard location instead of /usr/local. [4][5]

Rather than complicating the README with a mandatory `--with-iconv`
path (or --without-iconv) for macOS users, improve the discovery
to support Homebrew's new location.

[1]: https://brew.sh/
[2]: https://github.com/Homebrew/homebrew-core/.
[3]: https://formulae.brew.sh/formula/libiconv
[4]: https://apple.stackexchange.com/a/437622/33762
[5]: https://docs.brew.sh/FAQ#why-is-the-default-installation-prefix-opthomebrew-on-apple-silicon
This commit is contained in:
Timo Tijhof
2025-08-25 10:50:40 +01:00
committed by GitHub
parent 1cbaa60807
commit 27a1abc1fa
2 changed files with 12 additions and 2 deletions

View File

@@ -55,7 +55,7 @@ sudo dnf install re2c bison autoconf make libtool ccache libxml2-devel sqlite-de
On MacOS, you can install these using `brew`:
```shell
brew install autoconf bison re2c iconv libxml2 sqlite
brew install autoconf bison re2c libiconv libxml2 sqlite
```
or with `MacPorts`:

View File

@@ -1796,7 +1796,17 @@ AC_DEFUN([PHP_SETUP_ICONV], [
dnl Check external libs for iconv funcs.
AS_VAR_IF([found_iconv], [no], [
for i in $PHP_ICONV /usr/local /usr; do
dnl Find /opt/homebrew/opt/libiconv on macOS
dnl See: https://github.com/php/php-src/pull/19475
php_brew_prefix=no
AC_CHECK_PROG([BREW], [brew], [brew])
if test -n "$BREW"; then
AC_MSG_CHECKING([for homebrew prefix])
php_brew_prefix=$($BREW --prefix 2> /dev/null)
fi
for i in $PHP_ICONV $php_brew_prefix/opt/libiconv /usr/local /usr; do
if test -r $i/include/gnu-libiconv/iconv.h; then
ICONV_DIR=$i
ICONV_INCLUDE_DIR=$i/include/gnu-libiconv