Build system: under Linux, do not try to statically link libgomp even with -Dprefer_static=true
Under Debian 12, it fails with:
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/12/libgomp.a(team.o): réadressage R_X86_64_TPOFF32 vers symbole caché « gomp_tls_data » ne peut pas être utilisé en créant un objet partagé
(cherry picked from commit 88236b1cc0
)
6.x
parent
57e8c52ef9
commit
c54cb4d29c
|
@ -294,8 +294,11 @@ if get_option('prefer_static')
|
|||
|
||||
# NB: constructing a dependency object with link_args : ['-Wl,-Bstatic', '-lgomp', '-Wl,-Bdynamic'] does not work,
|
||||
# because it reorders the three arguments and puts -lgomp at the end
|
||||
openmp_dep_tmp = cpp_compiler.find_library('gomp', static : true)
|
||||
openmp_dep = declare_dependency(dependencies : [ openmp_dep, openmp_dep_tmp ])
|
||||
if host_machine.system() != 'linux'
|
||||
# Under Debian 12, trying to link (static) libgomp.a in a MEX fails.
|
||||
openmp_dep_tmp = cpp_compiler.find_library('gomp', static : true)
|
||||
openmp_dep = declare_dependency(dependencies : [ openmp_dep, openmp_dep_tmp ])
|
||||
endif
|
||||
endif
|
||||
|
||||
# For use when creating intermediate static libraries to be incorporated in MEX files
|
||||
|
|
Loading…
Reference in New Issue