mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-03-11 04:58:19 +03:00
meson: add libatomic dependency
Building with GCC 12.2 and binutils 2.39 fails on riscv64 Ubuntu Kinetic with: FAILED: systemd-oomd /usr/bin/ld: systemd-oomd.p/src_oom_oomd-util.c.o: in function `oomd_cgroup_context_acquire': build/../src/oom/oomd-util.c:415: undefined reference to `__atomic_exchange_1' We have to link with -latomic. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
parent
82ff978d0b
commit
132c73b57a
12
meson.build
12
meson.build
@ -1013,6 +1013,16 @@ endif
|
||||
|
||||
#####################################################################
|
||||
|
||||
libatomic = []
|
||||
if not cc.links('''#include <stdint.h>
|
||||
int main() {
|
||||
char i;
|
||||
__atomic_exchange_1(&i, 1, 0);
|
||||
return 1;
|
||||
}''',
|
||||
name : 'Atomic builtin requires -latomic')
|
||||
libatomic = cc.find_library('atomic')
|
||||
endif
|
||||
threads = dependency('threads')
|
||||
librt = cc.find_library('rt')
|
||||
libm = cc.find_library('m')
|
||||
@ -3177,7 +3187,7 @@ if conf.get('ENABLE_OOMD') == 1
|
||||
systemd_oomd_sources,
|
||||
include_directories : includes,
|
||||
link_with : [libshared],
|
||||
dependencies : [],
|
||||
dependencies : [libatomic],
|
||||
install_rpath : rootpkglibdir,
|
||||
install : true,
|
||||
install_dir : rootlibexecdir)
|
||||
|
@ -290,13 +290,13 @@ tests += [
|
||||
[files('test-networkd-address.c'),
|
||||
[libnetworkd_core,
|
||||
libsystemd_network],
|
||||
[],
|
||||
[libatomic],
|
||||
network_includes],
|
||||
|
||||
[files('test-networkd-conf.c'),
|
||||
[libnetworkd_core,
|
||||
libsystemd_network],
|
||||
[],
|
||||
[libatomic],
|
||||
network_includes],
|
||||
|
||||
[files('test-networkd-util.c'),
|
||||
|
@ -28,5 +28,7 @@ endif
|
||||
tests += [
|
||||
[files('test-oomd-util.c',
|
||||
'oomd-util.c',
|
||||
'oomd-util.h')],
|
||||
'oomd-util.h'),
|
||||
[],
|
||||
[libatomic]]
|
||||
]
|
||||
|
Loading…
x
Reference in New Issue
Block a user