From 8f8054873990bd464e85348c988208e7ec857b31 Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Tue, 1 Oct 2024 16:11:46 +0800 Subject: [PATCH] Fix LD_LIBRARY_PATH --- config/env.ini | 10 +++++----- src/SPC/store/source/PhpSource.php | 6 +++++- src/SPC/util/GlobalEnvManager.php | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/config/env.ini b/config/env.ini index 793cbe44..b4ef4730 100644 --- a/config/env.ini +++ b/config/env.ini @@ -32,10 +32,10 @@ ; SPC_PHP_DEFAULT_OPTIMIZE_CFLAGS: the default optimization CFLAGS for compiling php. (if --no-strip option is set: `-g -O0`, else: `-g -Os`) ; ; * These vars are only be defined in LinuxBuilder * -; SPC_LINUX_DEFAULT_CC: the default compiler for linux. (For alpine linux: `gcc`, default: `$GNU_ARCH-linux-musl-gcc`) -; SPC_LINUX_DEFAULT_CXX: the default c++ compiler for linux. (For alpine linux: `g++`, default: `$GNU_ARCH-linux-musl-g++`) -; SPC_LINUX_DEFAULT_AR: the default archiver for linux. (For alpine linux: `ar`, default: `$GNU_ARCH-linux-musl-ar`) -; SPC_PHP_DEFAULT_LD_LIBRARY_PATH: the default LD_LIBRARY_PATH for php. (linux: `/usr/local/musl/$GNU_ARCH-linux-musl/lib`, default: empty) +; SPC_LINUX_DEFAULT_CC: the default compiler for linux. (For alpine linux: `gcc`, default: `$GNU_ARCH-linux-musl-gcc`) +; SPC_LINUX_DEFAULT_CXX: the default c++ compiler for linux. (For alpine linux: `g++`, default: `$GNU_ARCH-linux-musl-g++`) +; SPC_LINUX_DEFAULT_AR: the default archiver for linux. (For alpine linux: `ar`, default: `$GNU_ARCH-linux-musl-ar`) +; SPC_PHP_DEFAULT_LD_LIBRARY_PATH_CMD: the default LD_LIBRARY_PATH for php. (linux: `LD_LIBRARY_PATH=/usr/local/musl/$GNU_ARCH-linux-musl/lib`, default: empty) [global] @@ -76,7 +76,7 @@ SPC_MICRO_PATCHES=static_extensions_win32,cli_checks,disable_huge_page,vcruntime ; buildconf command SPC_CMD_PREFIX_PHP_BUILDCONF="./buildconf --force" ; configure command -SPC_CMD_PREFIX_PHP_CONFIGURE="${SPC_PHP_DEFAULT_LD_LIBRARY_PATH} ./configure --prefix= --with-valgrind=no --enable-shared=no --enable-static=yes --disable-all --disable-cgi --disable-phpdbg" +SPC_CMD_PREFIX_PHP_CONFIGURE="${SPC_PHP_DEFAULT_LD_LIBRARY_PATH_CMD} ./configure --prefix= --with-valgrind=no --enable-shared=no --enable-static=yes --disable-all --disable-cgi --disable-phpdbg" ; make command SPC_CMD_PREFIX_PHP_MAKE="make -j${SPC_CONCURRENCY}" diff --git a/src/SPC/store/source/PhpSource.php b/src/SPC/store/source/PhpSource.php index 79835636..5c3c5f53 100644 --- a/src/SPC/store/source/PhpSource.php +++ b/src/SPC/store/source/PhpSource.php @@ -20,7 +20,11 @@ class PhpSource extends CustomSourceBase public function fetch(bool $force = false, ?array $config = null, int $lock_as = SPC_LOCK_SOURCE): void { $major = defined('SPC_BUILD_PHP_VERSION') ? SPC_BUILD_PHP_VERSION : '8.1'; - Downloader::downloadSource('php-src', self::getLatestPHPInfo($major), $force); + if ($major === '8.4') { + Downloader::downloadSource('php-src', ['type' => 'url', 'url' => 'https://downloads.php.net/~saki/php-8.4.0RC1.tar.xz'], $force); + } else { + Downloader::downloadSource('php-src', self::getLatestPHPInfo($major), $force); + } } /** diff --git a/src/SPC/util/GlobalEnvManager.php b/src/SPC/util/GlobalEnvManager.php index b0242710..412db2b2 100644 --- a/src/SPC/util/GlobalEnvManager.php +++ b/src/SPC/util/GlobalEnvManager.php @@ -56,7 +56,7 @@ class GlobalEnvManager self::putenv("SPC_LINUX_DEFAULT_CXX={$arch}-linux-musl-g++"); self::putenv("SPC_LINUX_DEFAULT_AR={$arch}-linux-musl-ar"); } - self::putenv("SPC_PHP_DEFAULT_LD_LIBRARY_PATH=/usr/local/musl/{$arch}-linux-musl/lib"); + self::putenv("SPC_PHP_DEFAULT_LD_LIBRARY_PATH_CMD=\"LD_LIBRARY_PATH=/usr/local/musl/{$arch}-linux-musl/lib\""); if (getenv('SPC_NO_MUSL_PATH') !== 'yes') { self::putenv("PATH=/usr/local/musl/bin:/usr/local/musl/{$arch}-linux-musl/bin:" . getenv('PATH')); }