From: Lucas De Marchi Date: Tue, 25 Feb 2025 14:49:50 +0000 (-0600) Subject: meson: Fix build with glibc 2.31 X-Git-Tag: v34.1~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=13dd6e38565fefd2b8c7a305006c9d6813755505;p=thirdparty%2Fkmod.git meson: Fix build with glibc 2.31 In order to use dlopen it may be required to link with libdl depending on the libc. Add the proper dependency to fix the build in Debian Bullseye. Closes: https://github.com/kmod-project/kmod/issues/298 Signed-off-by: Lucas De Marchi Link: https://github.com/kmod-project/kmod/pull/299 (cherry picked from commit bddca5c9de3286be8e68913093fbb46b21f3221b) --- diff --git a/meson.build b/meson.build index 800b6e4c..f8f26aee 100644 --- a/meson.build +++ b/meson.build @@ -394,6 +394,11 @@ libkmod_files = files( ) libkmod_deps = [] +cdeps = [] + +if not cc.has_function('dlopen') + cdeps += cc.find_library('dl', required : true) +endif if dep_map.get('zstd').found() libkmod_files += files('libkmod/libkmod-file-zstd.c') @@ -419,7 +424,7 @@ install_headers('libkmod/libkmod.h') libkmod = shared_library( 'kmod', libkmod_files, - dependencies : libkmod_deps, + dependencies : libkmod_deps + cdeps, link_with : libshared, link_args : ['-Wl,--version-script', meson.current_source_dir() / 'libkmod/libkmod.sym'], @@ -434,12 +439,13 @@ pkg.generate( description : 'Library to deal with kernel modules', libraries : libkmod, requires_private : libkmod_deps, + libraries_private : cdeps, ) libkmod_internal = static_library( 'kmod-internal', objects : libkmod.extract_all_objects(recursive : true), - dependencies : libkmod_deps, + dependencies : libkmod_deps + cdeps, install : false, )