From 61a9264802d94bda4b531eb0f565b4ac37b99789 Mon Sep 17 00:00:00 2001 From: DubbleClick Date: Thu, 19 Jun 2025 11:20:57 +0700 Subject: [PATCH] libraries must link against -lphp dynamic! --- bin/spc-alpine-docker | 3 ++- bin/spc-gnu-docker | 2 +- src/SPC/builder/Extension.php | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bin/spc-alpine-docker b/bin/spc-alpine-docker index 0733b232..cb7d7b4c 100755 --- a/bin/spc-alpine-docker +++ b/bin/spc-alpine-docker @@ -84,7 +84,8 @@ RUN apk update; \ wget \ xz \ gettext-dev \ - binutils-gold + binutils-gold \ + patchelf RUN curl -#fSL https://dl.static-php.dev/static-php-cli/bulk/php-8.4.4-cli-linux-\$(uname -m).tar.gz | tar -xz -C /usr/local/bin && \ chmod +x /usr/local/bin/php diff --git a/bin/spc-gnu-docker b/bin/spc-gnu-docker index 9327cd7e..92496e03 100755 --- a/bin/spc-gnu-docker +++ b/bin/spc-gnu-docker @@ -141,7 +141,7 @@ echo 'CC=/opt/rh/devtoolset-10/root/usr/bin/gcc' > /tmp/spc-gnu-docker.env echo 'CXX=/opt/rh/devtoolset-10/root/usr/bin/g++' >> /tmp/spc-gnu-docker.env echo 'AR=/opt/rh/devtoolset-10/root/usr/bin/ar' >> /tmp/spc-gnu-docker.env echo 'LD=/opt/rh/devtoolset-10/root/usr/bin/ld' >> /tmp/spc-gnu-docker.env -echo 'SPC_DEFAULT_C_FLAGS=-fPIE -fPIC' >> /tmp/spc-gnu-docker.env +echo 'SPC_DEFAULT_C_FLAGS=-fPIC' >> /tmp/spc-gnu-docker.env echo 'SPC_LIBC=glibc' >> /tmp/spc-gnu-docker.env echo 'SPC_CMD_VAR_PHP_MAKE_EXTRA_LDFLAGS_PROGRAM="-Wl,-O1 -pie"' >> /tmp/spc-gnu-docker.env echo 'SPC_CMD_VAR_PHP_MAKE_EXTRA_LIBS="-ldl -lpthread -lm -lresolv -lutil -lrt"' >> /tmp/spc-gnu-docker.env diff --git a/src/SPC/builder/Extension.php b/src/SPC/builder/Extension.php index 4ea135a4..a457d82e 100644 --- a/src/SPC/builder/Extension.php +++ b/src/SPC/builder/Extension.php @@ -503,7 +503,7 @@ class Extension continue; } $static_lib = 'lib' . $lib . '.a'; - if (file_exists(BUILD_LIB_PATH . '/' . $static_lib)) { + if (file_exists(BUILD_LIB_PATH . '/' . $static_lib) && !str_contains($static_lib, 'libphp')) { if (!str_contains($staticLibString, '-l' . $lib . ' ')) { $staticLibString .= '-l' . $lib . ' '; }