From 0ed1150ccf8837ca85cbb8d5a42fe81b5efeac32 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sat, 6 Apr 2019 21:59:06 +0200 Subject: [PATCH] meson: drop misplaced -Wl,--undefined argument Ld's man page says the following: -u symbol --undefined=symbol Force symbol to be entered in the output file as an undefined symbol. Doing this may, for example, trigger linking of additional modules from standard libraries. -u may be repeated with different option arguments to enter additional undefined symbols. This option is equivalent to the "EXTERN" linker script command. If this option is being used to force additional modules to be pulled into the link, and if it is an error for the symbol to remain undefined, then the option --require-defined should be used instead. This would imply that it always requires an argument, which this does not pass. Thus it will grab the next argument on the command line as its argument. Before it took one of the many -lrt args (presumably) and now it grabs something other random linker argument and things break. [zj: this line was added in the first version of the meson configuration back in 5c23128daba7236a6080383b2a5649033cfef85c. AFAICT, this was a mistake. No such flag appeared in Makefile.am at the time.] https://github.com/mesonbuild/meson/issues/5113 (cherry picked from commit 700805f6c546f2adb79059614f3747f7b5474325) --- meson.build | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/meson.build b/meson.build index d58926c981..f2d67b7e02 100644 --- a/meson.build +++ b/meson.build @@ -1436,8 +1436,7 @@ foreach tuple : [['myhostname', 'ENABLE_MYHOSTNAME'], # Note that we link NSS modules with '-z nodelete' so that mempools never get orphaned link_args : ['-Wl,-z,nodelete', '-shared', - '-Wl,--version-script=' + version_script_arg, - '-Wl,--undefined'], + '-Wl,--version-script=' + version_script_arg], link_with : [libsystemd_static, libbasic], dependencies : [threads,