diff --git a/lib/spack/spack/build_systems/meson.py b/lib/spack/spack/build_systems/meson.py
index 442c8363913f9bcc2281c438344630e7e0fd4d69..46161b001bf0f44dc284ed0717f48420d291d13f 100644
--- a/lib/spack/spack/build_systems/meson.py
+++ b/lib/spack/spack/build_systems/meson.py
@@ -116,6 +116,11 @@ def _std_args(pkg):
 
         args = [
             '--prefix={0}'.format(pkg.prefix),
+            # If we do not specify libdir explicitly, Meson chooses something
+            # like lib/x86_64-linux-gnu, which causes problems when trying to
+            # find libraries and pkg-config files.
+            # See https://github.com/mesonbuild/meson/issues/2197
+            '--libdir={0}'.format(pkg.prefix.lib),
             '--buildtype={0}'.format(build_type),
             '--strip',
         ]
@@ -141,6 +146,7 @@ def meson_args(self):
         meson, except:
 
         * ``--prefix``
+        * ``--libdir``
         * ``--buildtype``
         * ``--strip``