New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Darwin does not imply case-insensitive file system #1446
Comments
Specifically, the problem was with callHackage and the fact that nix removed the compactable directory of all-cabal-hashes in favor of the Compactable directory |
I marked this as stale due to inactivity. → More info |
Any updates on this? |
bltavares
added a commit
to bltavares/nixpkgs-upstream
that referenced
this issue
Mar 28, 2024
…usl. This commit backports a commit introduced on Perl 5.39.2 to allow `pkgs.pkgsStatic.perl` to compile without raising errors about duplicate symbols being defined during the linking process. This fixes NixOS#295608 | Tested on | Status | | --- | --- | | M1 Mac (aarch64-darwin) | Failed due to other issues* | - NixOS VM (x86_64-linux) | Compiling | **Test method**: ```sh nix repl -I nixpkgs=$PWD nix repl> pkgs = import <nixpkgs> {} nix repl> :b pkgs.perl nix repl> :b pkgs.pkgsStatic.perl ``` Despite the upstream commit being scoped to all environments, we are only applying this patch only on the `pkgsStatic` context to avoid rebuilding all of NixOS packages by changing Perl. *MacOS: `pkgsStatic.perl` still fails to compile after this change due to MacOS case-insensitiviness affecting the build recipe under /tmp, as `perl-cross/configure` is copied over `perl/Configure` file, as well as not finding `readelf` for the `configurePhase`. NixOS#113985 (comment) NixOS/nix#1446 NixOS/nix#9318 NixOS/nix#8995
13 tasks
bltavares
added a commit
to bltavares/nixpkgs-upstream
that referenced
this issue
Mar 28, 2024
This commit backports a commit introduced on Perl 5.39.2 to allow `pkgs.pkgsStatic.perl` to compile without raising errors about duplicate symbols being defined during the linking process. This fixes NixOS#295608 | Tested on | Status | | --- | --- | | M1 Mac (aarch64-darwin) | Failed due to other issues* | | NixOS VM (x86_64-linux) | Compiled | | Nix (aarch64-linux) | Compiled | **Test method**: ```sh nix repl -I nixpkgs=$PWD nix repl> pkgs = import <nixpkgs> {} nix repl> :b pkgs.perl nix repl> :b pkgs.pkgsStatic.perl ``` Despite the upstream commit being scoped to all environments, we are only applying this patch only on the `pkgsStatic` context to avoid rebuilding all of NixOS packages by changing Perl. It includes an additional build flag [also used upstream](Perl/perl5#22052) for configuring static builds. *MacOS: `pkgsStatic.perl` still fails to compile after this change due to MacOS case-insensitiviness affecting the build recipe under /tmp, as `perl-cross/configure` is copied over `perl/Configure` file, as well as not finding `readelf` for the `configurePhase`. NixOS#113985 (comment) NixOS/nix#1446 NixOS/nix#9318 NixOS/nix#8995
bltavares
added a commit
to bltavares/nixpkgs-upstream
that referenced
this issue
Apr 1, 2024
This commit backports a commit introduced on Perl 5.39.2 to allow `pkgs.pkgsStatic.perl` to compile without raising errors about duplicate symbols being defined during the linking process. This fixes NixOS#295608 | Tested on | Status | | --- | --- | | M1 Mac (aarch64-darwin) | Failed due to other issues* | | NixOS VM (x86_64-linux) | Compiled | | Nix (aarch64-linux) | Compiled | **Test method**: ```sh nix repl -I nixpkgs=$PWD nix repl> pkgs = import <nixpkgs> {} nix repl> :b pkgs.perl nix repl> :b pkgs.pkgsStatic.perl ``` Despite the upstream commit being scoped to all environments, we are only applying this patch only on the `pkgsStatic` context to avoid rebuilding all of NixOS packages by changing Perl. It includes an additional build flag [also used upstream](Perl/perl5#22052) for configuring static builds. *MacOS: `pkgsStatic.perl` still fails to compile after this change due to MacOS case-insensitiviness affecting the build recipe under /tmp, as `perl-cross/configure` is copied over `perl/Configure` file, as well as not finding `readelf` for the `configurePhase`. NixOS#113985 (comment) NixOS/nix#1446 NixOS/nix#9318 NixOS/nix#8995
jcaesar
pushed a commit
to jcaesar/fork2pr-nixpkgs
that referenced
this issue
May 17, 2024
This commit backports a commit introduced on Perl 5.39.2 to allow `pkgs.pkgsStatic.perl` to compile without raising errors about duplicate symbols being defined during the linking process. This fixes NixOS#295608 | Tested on | Status | | --- | --- | | M1 Mac (aarch64-darwin) | Failed due to other issues* | | NixOS VM (x86_64-linux) | Compiled | | Nix (aarch64-linux) | Compiled | **Test method**: ```sh nix repl -I nixpkgs=$PWD nix repl> pkgs = import <nixpkgs> {} nix repl> :b pkgs.perl nix repl> :b pkgs.pkgsStatic.perl ``` Despite the upstream commit being scoped to all environments, we are only applying this patch only on the `pkgsStatic` context to avoid rebuilding all of NixOS packages by changing Perl. It includes an additional build flag [also used upstream](Perl/perl5#22052) for configuring static builds. *MacOS: `pkgsStatic.perl` still fails to compile after this change due to MacOS case-insensitiviness affecting the build recipe under /tmp, as `perl-cross/configure` is copied over `perl/Configure` file, as well as not finding `readelf` for the `configurePhase`. NixOS#113985 (comment) NixOS/nix#1446 NixOS/nix#9318 NixOS/nix#8995
jcaesar
pushed a commit
to jcaesar/fork2pr-nixpkgs
that referenced
this issue
May 18, 2024
This commit backports a commit introduced on Perl 5.39.2 to allow `pkgs.pkgsStatic.perl` to compile without raising errors about duplicate symbols being defined during the linking process. This fixes NixOS#295608 | Tested on | Status | | --- | --- | | M1 Mac (aarch64-darwin) | Failed due to other issues* | | NixOS VM (x86_64-linux) | Compiled | | Nix (aarch64-linux) | Compiled | **Test method**: ```sh nix repl -I nixpkgs=$PWD nix repl> pkgs = import <nixpkgs> {} nix repl> :b pkgs.perl nix repl> :b pkgs.pkgsStatic.perl ``` Despite the upstream commit being scoped to all environments, we are only applying this patch only on the `pkgsStatic` context to avoid rebuilding all of NixOS packages by changing Perl. It includes an additional build flag [also used upstream](Perl/perl5#22052) for configuring static builds. *MacOS: `pkgsStatic.perl` still fails to compile after this change due to MacOS case-insensitiviness affecting the build recipe under /tmp, as `perl-cross/configure` is copied over `perl/Configure` file, as well as not finding `readelf` for the `configurePhase`. NixOS#113985 (comment) NixOS/nix#1446 NixOS/nix#9318 NixOS/nix#8995
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I am running macOS Sierra but I have
/nix
on an external SSD which is formatted as Case-sensitive Journaled HFS+.According to @shlevy, Nix assumes that Darwin implies a case-insensitive file system. The Darwin hacks were causing problems for me when running
nix-build
in a Haskell project due to a conflict between a package namedCompactable
and another namedcompactable
. Addinguse-case-hack = false
to mynix.conf
fixed the issue.Rather than make assumptions about the file system, Nix should determine whether the file system is case-sensitive.
The text was updated successfully, but these errors were encountered: