1 files changed, 19 insertions, 1 deletions
diff --git a/flake.nix b/flake.nix
index b89b6d9218..31f2832939 100644
--- a/flake.nix
+++ b/flake.nix
@@ -82,7 +82,7 @@
#
# NOTE: We currently need to set the Rust version unnecessarily high
# in order to work around https://github.com/matrix-org/synapse/issues/15939
- (rust-bin.stable."1.70.0".default.override {
+ (rust-bin.stable."1.71.1".default.override {
# Additionally install the "rust-src" extension to allow diving into the
# Rust source code in an IDE (rust-analyzer will also make use of it).
extensions = [ "rust-src" ];
@@ -90,6 +90,11 @@
# The rust-analyzer language server implementation.
rust-analyzer
+ # GCC includes a linker; needed for building `ruff`
+ gcc
+ # Needed for building `ruff`
+ gnumake
+
# Native dependencies for running Synapse.
icu
libffi
@@ -236,6 +241,19 @@
URI
YAMLLibYAML
]}";
+
+ # Clear the LD_LIBRARY_PATH environment variable on shell init.
+ #
+ # By default, devenv will set LD_LIBRARY_PATH to point to .devenv/profile/lib. This causes
+ # issues when we include `gcc` as a dependency to build C libraries, as the version of glibc
+ # that the development environment's cc compiler uses may differ from that of the system.
+ #
+ # When LD_LIBRARY_PATH is set, system tools will attempt to use the development environment's
+ # libraries. Which, when built against a different glibc version lead, to "version 'GLIBC_X.YY'
+ # not found" errors.
+ enterShell = ''
+ unset LD_LIBRARY_PATH
+ '';
}
];
};
|