see https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/work_items/3863 build-system uses privlibdir both for installation and for finding libpulse private libs at build time. It breaks with cross-compile. Because libdir is redefined internally and libpulsecommon_dep is used in many places, avoid deep changes and add a new option, privlibdir_system. --- a/meson.build +++ b/meson.build @@ -79,6 +79,11 @@ if host_machine.system() == 'windows' privlibdir = bindir endif +privlibdir_system = get_option('privlibdir_system') +if privlibdir_system == '' + privlibdir_system = privlibdir +endif + alsadatadir = get_option('alsadatadir') if alsadatadir == '' alsadatadir = join_paths(datadir, 'pulseaudio', 'alsa-mixer') --- a/meson_options.txt +++ b/meson_options.txt @@ -60,6 +60,9 @@ option('pulsedsp-location', option('modlibexecdir', type : 'string', description : 'Specify location where modules will be installed') +option('privlibdir_system', + type : 'string', + description : 'Specify location where Pulseaudio private system library is installed (defaults to ${libdir/pulseaudio})') option('alsadatadir', type : 'string', description : 'Directory for ALSA card profiles (defaults to ${datadir}/pulseaudio/alsa-mixer)') --- a/src/meson.build +++ b/src/meson.build @@ -194,7 +194,7 @@ endif # FIXME: Do SIMD things if not get_option('client') - libpulsecommon_dep = cc.find_library('pulsecommon-' + pa_version_major_minor, dirs : privlibdir, required : true) + libpulsecommon_dep = cc.find_library('pulsecommon-' + pa_version_major_minor, dirs : privlibdir_system, required : true) libpulse_dep = dependency('libpulse', required : true) libpulse_simple_dep = dependency('libpulse-simple', required : true) else -- 2.52.0