Skip to content

Nightly since a488606e: macOS php configure fails "The libcurl check failed" (frameworks missing from LIBS) #1238

Description

@moyerdestroyer

Environment

  • spc nightly spc-macos-aarch64 (sha256 e04f9658…, built after a488606 on 2026-08-22)
  • Target: aarch64-apple-darwin, macOS 14 arm64 runner
  • Extensions: bcmath,bz2,ctype,curl,dom,exif,ffi,fileinfo,filter,ftp,gd,gettext,gmp,iconv,intl,ldap,mbstring,memcached,mysqli,mysqlnd,opcache,openssl,pcntl,pdo,pdo_mysql,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,redis,session,simplexml,soap,sockets,sodium,sqlite3,tokenizer,xml,xmlreader,xmlwriter,xsl,yaml,zip,zlib (cli only)

Problem

Since a488606 ("fix pgsql and other polyfill libs leaking into configure"), configureForUnix() runs php's ./configure with:

'LIBS' => SystemTarget::getRuntimeLibs(),   // = '-lresolv' on Darwin

instead of the previous makeVars()['EXTRA_LIBS'], which included the macOS -framework CoreFoundation -framework CoreServices -framework SystemConfiguration flags (curl.yml declares these under frameworks).

The static libcurl.a conftest link in php's ext/curl check then fails:

checking for cURL support... yes
checking for libcurl >= 7.61.0... yes
checking for SSL support in libcurl... yes
checking for curl_easy_perform in -lcurl... no
configure: error: The libcurl check failed.

config.log shows ld: symbol(s) not found for architecture arm64 — the unresolved symbols are the CoreFoundation/SystemConfiguration references inside libcurl.a. Linux builds are unaffected (no frameworks there), which is why this only bites Darwin targets.

Workaround we use

Pass the frameworks back via SPC_EXTRA_PHP_VARS="LIBS='-lresolv -framework CoreFoundation -framework CoreServices -framework SystemConfiguration'".

Suggestion

Either include declared frameworks of resolved packages in the configure-stage LIBS, or add them to the pkg-config closure used for conftest links, so static-lib link checks succeed on Darwin without leaking the full polyfill lib set.

First seen in production builds here: https://github.com/moyerdestroyer/phpvm-runtimes (all aarch64-apple-darwin catalog builds failed starting 2026-08-27).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions