Import fix for Rust + C linking.
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index e394c60..6162b00 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -1993,6 +1993,7 @@
         linkdirs = mesonlib.OrderedSet()
         external_deps = target.external_deps.copy()
         target_deps = target.get_dependencies()
+        have_c_abi_libs = False
         for d in target_deps:
             linkdirs.add(d.subdir)
             deps.append(self.get_dependency_filename(d))
@@ -2009,6 +2010,8 @@
                 args += ['--extern', '{}={}'.format(d_name, os.path.join(d.subdir, d.filename))]
                 project_deps.append(RustDep(d_name, self.rust_crates[d.name].order))
                 continue
+            else:
+                have_c_abi_libs = True
 
             # Link a C ABI library
 
@@ -2053,6 +2056,13 @@
                 else:
                     args.append(f'-Clink-arg={a}')
 
+        # Fix from:
+        # https://bugs.launchpad.net/ubuntu/+source/meson/+bug/2049904
+        # Link with libc last if we have C ABI libraries
+        if have_c_abi_libs:
+            args.append("-Clink-arg=-lc")
+
+
         for d in linkdirs:
             d = d or '.'
             args.append(f'-L{d}')