fix imagick problem, for some reason it must be in the --start-group --end-group

This commit is contained in:
DubbleClick
2025-07-25 09:59:24 +07:00
parent 7eb5fb4520
commit 00e78dd84f
5 changed files with 27 additions and 11 deletions

View File

@@ -529,7 +529,7 @@ class Extension
return [];
}
private function getStaticAndSharedLibs(string $allLibs): array
protected function getStaticAndSharedLibs(string $allLibs): array
{
$staticLibString = '';
$sharedLibString = '';

View File

@@ -15,4 +15,14 @@ class imagick extends Extension
$disable_omp = ' ac_cv_func_omp_pause_resource_all=no';
return '--with-imagick=' . ($shared ? 'shared,' : '') . BUILD_ROOT_PATH . $disable_omp;
}
protected function getStaticAndSharedLibs(string $allLibs): array
{
[$static, $shared] = parent::getStaticAndSharedLibs($allLibs);
if (str_contains(getenv('PATH'), 'rh/devtoolset-10')) {
$static .= ' -l:libstdc++.a';
$shared = str_replace('-lstdc++', '', $shared);
}
return [deduplicate_spaces($static), deduplicate_spaces($shared)];
}
}

View File

@@ -338,7 +338,7 @@ class LinuxBuilder extends UnixBuilderBase
$config = (new SPCConfigUtil($this, ['libs_only_deps' => true, 'absolute_libs' => true]))->config($this->ext_list, $this->lib_list, $this->getOption('with-suggested-exts'), $this->getOption('with-suggested-libs'));
return [
'EXTRA_CFLAGS' => getenv('SPC_CMD_VAR_PHP_MAKE_EXTRA_CFLAGS'),
'EXTRA_LIBS' => $config['libs'] . ' ' . SPCTarget::getRuntimeLibs(),
'EXTRA_LIBS' => $config['libs'],
'EXTRA_LDFLAGS' => getenv('SPC_CMD_VAR_PHP_MAKE_EXTRA_LDFLAGS'),
'EXTRA_LDFLAGS_PROGRAM' => SPCTarget::isStatic() ? '-all-static -pie' : '-pie',
];