!pbdtvoHxUGLhcEvnlu:nixos.org

Exotic Nix Targets

330 Members
105 Servers

Load older messages


SenderMessageTime
10 Sep 2024
@zmitchell:matrix.org@zmitchell:matrix.org

Trying to build the cross-compiler doesn't evaluate either:

$ nix-build -A pkgsCross.x86_64-unknown-redox.gcc13
...
       … from call site

         at /home/zmitchell/nixpkgs/pkgs/top-level/all-packages.nix:14930:16:

        14929|   gcc6Stdenv = overrideCC gccStdenv buildPackages.gcc6;
        14930|   gcc7Stdenv = overrideCC gccStdenv buildPackages.gcc7;
             |                ^
        14931|   gcc8Stdenv = overrideCC gccStdenv buildPackages.gcc8;

       … while calling 'overrideCC'

         at /home/zmitchell/nixpkgs/pkgs/stdenv/adapters.nix:35:24:

           34|   # Override the compiler in stdenv for specific packages.
           35|   overrideCC = stdenv: cc: stdenv.override {
             |                        ^
           36|     allowedRequisites = null;

       error: infinite recursion encountered

       at «none»:0: (source not available)

04:23:45
@qyliss:fairydust.spaceAlyssa RossThat's not a cross compiler11:47:54
@qyliss:fairydust.spaceAlyssa RossThat's a cross compiled native compiler11:47:59
@qyliss:fairydust.spaceAlyssa Ross

A cross compiler would be pkgsCross.x86_64-unknown-redox.stdenv.cc or pkgsCross.x86_64-unknown-redox.buildPackages.gcc13

11:48:31
@matthewcroughan:defenestrate.itmatthewcroughan - nix.how changed their display name from matthewcroughan - going to nix.camp to matthewcroughan.15:53:35
11 Sep 2024
@zmitchell:matrix.org@zmitchell:matrix.org

Ah, it looks like relibc was recently removed from nixpkgs due to lack of maintenance. It also looks like Redox has their own patched Rust compiler.

I'm sifting through the nixpkgs source right now to try to figure out where I would swap out the URL pointing at rustc sources, but I'm a little confused by the layout. In pkgs/build-support/rust I see a bootstrap.nix that calls binary.nix, and that seems to download compiler binaries. But also in pkgs/development/compilers/rust it looks like rustc.nix is where we actually build rustc, but it takes a rustc argument?

19:07:59
12 Sep 2024
@qyliss:fairydust.spaceAlyssa RossYes, it uses the bootstrap rustc to build itself08:20:01
@qyliss:fairydust.spaceAlyssa RossI'd first try to see how far you can get using the non-patched Rust compiler, which does have Redox targets08:20:19
@qyliss:fairydust.spaceAlyssa RossI'd be hesitant to add a patched rustc to Nixpkgs, because the last one made maintaining normal rustc more difficult.08:20:39
@zmitchell:matrix.org@zmitchell:matrix.orgI wouldn't be adding the patched rustc to nixpkgs exactly for that reason. It also seems like their patched rustc exists because there's something missing from the upstream compiler. I'm not up to speed on that particular issue.15:16:35
@zmitchell:matrix.org@zmitchell:matrix.orgMy plan at the moment is get the patched rustc/cargo/etc packaged in their respective repositories, then replace the upstream versions via overlay in order to build relibc. That artifact can be exposed to nixpkgs.15:18:07
@qyliss:fairydust.spaceAlyssa RossHow?15:18:21
@qyliss:fairydust.spaceAlyssa RossYou can't use Nix code from elsewhere in Nixpkgs15:18:28
@zmitchell:matrix.org@zmitchell:matrix.orgI'm not sure what you mean15:18:41
@qyliss:fairydust.spaceAlyssa RossWhat does "that artifact can be exposed to Nixpkgs" mean?15:18:56
@zmitchell:matrix.org@zmitchell:matrix.orgI mean build it as a precompiled binary as it was previously done in https://github.com/NixOS/nixpkgs/pull/9356815:20:07
@qyliss:fairydust.spaceAlyssa RossWell that's what I was talking about15:20:58
@qyliss:fairydust.spaceAlyssa RossThat was removed because it got in the way of normal rustc15:21:04
@qyliss:fairydust.spaceAlyssa RossSince it used the same infrastructure15:21:10
@zmitchell:matrix.org@zmitchell:matrix.orgOk, I misunderstood15:21:29
@qyliss:fairydust.spaceAlyssa RossI think you should see how far you can get with upstream rustc first15:21:49
@zmitchell:matrix.org@zmitchell:matrix.orgSure, that's more of a Redox<->Rust Project conversation though instead of a Redox<->Nixpkgs conversation, and as a new contributor I'm not sure exactly what the limitations are that led them to maintain their own fork in the first place. I'll have to do more digging.15:23:05
@zmitchell:matrix.org@zmitchell:matrix.orgHow does providing relibc as a precompiled binary for Redox interfere with normal rustc?15:26:02
@qyliss:fairydust.spaceAlyssa RossSorry, maybe I misunderstood15:27:11
@qyliss:fairydust.spaceAlyssa RossI thought you were talking about Redox rustc as a precompiled binary15:27:26
@qyliss:fairydust.spaceAlyssa RossWhat would be the point of having relibc as a precompiled binary though? If you need a special Rust compiler, presumably you need it for more than just libc.15:28:01
@zmitchell:matrix.org@zmitchell:matrix.orgUltimately we're trying to get Redox support in GCC so that you can compile non-Rust programs to run on Redox. We have a two-commit patch for adding Redox support, but as far as I can tell you need a supported libc for the platform as well. 15:29:56
@qyliss:fairydust.spaceAlyssa RossSo you're not interested in building Rust programs for Redox?15:30:36
@zmitchell:matrix.org@zmitchell:matrix.orgNot using Rust in nixpkgs at the moment.15:31:03
@qyliss:fairydust.spaceAlyssa RossYou have a project to specifically build GCC that targets Redox, using Nixpkgs?15:31:27

Show newer messages


Back to Room ListRoom Version: 6