From 44399cd185c5b418c1fd6ff43832204382b974a4 Mon Sep 17 00:00:00 2001 From: henderkes Date: Fri, 19 Sep 2025 09:21:17 +0200 Subject: [PATCH] remove -Wl,--as-needed for imagemagick build --- src/SPC/builder/unix/library/imagemagick.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/SPC/builder/unix/library/imagemagick.php b/src/SPC/builder/unix/library/imagemagick.php index 2e795a0d..42064e2d 100644 --- a/src/SPC/builder/unix/library/imagemagick.php +++ b/src/SPC/builder/unix/library/imagemagick.php @@ -12,6 +12,11 @@ trait imagemagick { protected function build(): void { + $original_ldflags = $this->builder->arch_ld_flags; + if (str_contains($this->builder->arch_ld_flags, '-Wl,--as-needed')) { + $this->builder->arch_ld_flags = str_replace('-Wl,--as-needed', '', $original_ldflags); + } + $ac = UnixAutoconfExecutor::create($this) ->optionalLib('libzip', ...ac_with_args('zip')) ->optionalLib('libjpeg', ...ac_with_args('jpeg')) @@ -33,9 +38,6 @@ trait imagemagick // special: linux-static target needs `-static` $ldflags = SPCTarget::isStatic() ? '-static -ldl' : '-ldl'; - if (str_contains($this->builder->arch_ld_flags, '-Wl,--as-needed')) { - $ldflags = str_replace('-ldl', '-Wl,--no-as-needed -ldl -Wl,--as-needed', $ldflags); - } // special: macOS needs -iconv $libs = SPCTarget::getTargetOS() === 'Darwin' ? '-liconv' : ''; @@ -48,6 +50,8 @@ trait imagemagick $ac->configure()->make(); + $this->builder->arch_ld_flags = $original_ldflags; + $filelist = [ 'ImageMagick.pc', 'ImageMagick-7.Q16HDRI.pc',