!bxVOQwsVoHhZcmNDGw:nixos.org

Nix + dotnet

119 Members
24 Servers

Load older messages


SenderMessageTime
4 Sep 2025
@whovian9369:matrix.orgWhovian9369 I think that I got Kuriimu2 working, and it was overall surprisingly painless once I figured out PackageReference versus ProjectReference. A friend's warning me against doing it this way though, so I have something theoretically "working" at least, but the next step is seeing if I can make the build any cleaner in the process. 00:25:13
8 Sep 2025
@inayet:matrix.orginayet set a profile picture.02:16:17
9 Sep 2025
@philipdb:matrix.orgPhiliPdB joined the room.18:43:00
10 Sep 2025
@jolman:matrix.org@jolman:matrix.org joined the room.00:25:13
@samuel:mnzn.devSamuelAny plans on upgrading to .NET 10 RC1?11:10:07
@corngood:corngood.comCorngood
In reply to @samuel:mnzn.dev
Any plans on upgrading to .NET 10 RC1?
Assuming that's the one that came out this week, I've got updates running now
15:05:17
@corngood:corngood.comCorngoodhttps://github.com/NixOS/nixpkgs/pull/441849 (still not tested much)18:27:39
11 Sep 2025
@samuel:mnzn.devSamuel Awesome, thanks 06:29:57
13 Sep 2025
@zenware:matrix.orgzenware joined the room.14:58:23
23 Sep 2025
@a-kenji:matrix.orga-kenji changed their display name from a-kenji to kenji.10:40:16
@jolman:matrix.org@jolman:matrix.org left the room.20:12:34
24 Sep 2025
@whovian9369:matrix.orgWhovian9369

Here to cause trouble again - I'm trying to bump a project from NET 8 to NET 9 in a derivation (without code changes, dev says it should work), but that Nuke build process seems to fail due to using a dynamically linked executable... Hapen to have any immediate ideas?

Could not start dynamically linked executable: /tmp/fetch-deps-hactoolnet-2024.08.29.Pzmhk6/source/build/bin/Debug/_build
(Then the message is about stub-ld etc)

02:39:09
@whovian9369:matrix.orgWhovian9369 *

Here to cause trouble again - I'm trying to bump a project from NET 8 to NET 9 in a derivation (without code changes, dev says it should work), but that Nuke build process seems to fail due to using a dynamically linked executable... Hapen to have any immediate ideas?

Could not start dynamically linked executable: /tmp/fetch-deps-hactoolnet-2024.08.29.Pzmhk6/source/build/bin/Debug/_build

(Then the message is about stub-ld etc)

02:39:19
@whovian9369:matrix.orgWhovian9369 Alternatively, is there a way to keep the in-progress /tmp/fetch-deps-... path even after a failed run? I feel like that would be good for testing. 02:39:55
@whovian9369:matrix.orgWhovian9369 *

Alternatively, is there a way to keep the in-progress /tmp/fetch-deps-... path even after a failed run? I feel like that would be good for testing.


The same process works fine on Net 8 but not Net 9, so I'm stumped from what I can tell.

preConfigure = ''
  dotnet --version > DotnetCliVersion.txt
  patchShebangs --build build.sh
  for rid in $dotnetRuntimeIds; do dotnet restore --runtime "$rid" "build/_build.csproj"; done
  ./build.sh Codegen --configuration ${buildType}
'';
02:42:47
@whovian9369:matrix.orgWhovian9369 *

Alternatively, is there a way to keep the in-progress /tmp/fetch-deps-... path even after a failed run? I feel like that would be good for testing.


The same process works fine on Net 8 but not Net 9, so I'm stumped from what I can tell.

{
preConfigure = ''
  dotnet --version > DotnetCliVersion.txt
  patchShebangs --build build.sh
  for rid in $dotnetRuntimeIds; do dotnet restore --runtime "$rid" "build/_build.csproj"; done
  ./build.sh Codegen --configuration ${buildType}
'';
}
02:43:03
@whovian9369:matrix.orgWhovian9369 *

Alternatively, is there a way to keep the in-progress /tmp/fetch-deps-... path even after a failed run? I feel like that would be good for testing.


The same process works fine on Net 8 but not Net 9, so I'm stumped from what I can tell.

{
  preConfigure = ''
    dotnet --version > DotnetCliVersion.txt
    patchShebangs --build build.sh
    for rid in $dotnetRuntimeIds; do dotnet restore --runtime "$rid" "build/_build.csproj"; done
    ./build.sh Codegen --configuration ${buildType}
  '';
}
02:43:22
@corngood:corngood.comCorngood
In reply to @whovian9369:matrix.org

Alternatively, is there a way to keep the in-progress /tmp/fetch-deps-... path even after a failed run? I feel like that would be good for testing.


The same process works fine on Net 8 but not Net 9, so I'm stumped from what I can tell.

{
  preConfigure = ''
    dotnet --version > DotnetCliVersion.txt
    patchShebangs --build build.sh
    for rid in $dotnetRuntimeIds; do dotnet restore --runtime "$rid" "build/_build.csproj"; done
    ./build.sh Codegen --configuration ${buildType}
  '';
}
There should be a fetch-drv attribute which you can run nix develop on to do the fetch in a dev shell.
02:50:08
@whovian9369:matrix.orgWhovian9369Oh thank you, I wasn't aware of that!02:59:19
@corngood:corngood.comCorngoodNot sure about the executable thing. It must be pulling that in from somewhere?03:03:23
@whovian9369:matrix.orgWhovian9369If you mean the dynamic linked executable, then that's part of the Nuke build.03:07:21
@whovian9369:matrix.orgWhovian9369 I'm expecting the failing step to be the ./build.sh Codegen --configuration ${buildType} one from preConfigure that I posted above 03:08:46
@whovian9369:matrix.orgWhovian9369

It works on Net 8 as expected, but trying the otherwise same derivation with the Net 9 SDK threw that error, for whatever reason. I'll probably have to try it with Net 8 (via fetch-drv?) and see how much the ldd output differs for these _build binaries.

Here's the Net 9 ldd on _build for example:

$  ldd _build
        linux-vdso.so.1 (0x00007ffffa5f8000)
        libpthread.so.0 => /nix/store/8p33is69mjdw3bi1wmi8v2zpsxir8nwd-glibc-2.40-66/lib/libpthread.so.0 (0x00007aef94629000)
        libdl.so.2 => /nix/store/8p33is69mjdw3bi1wmi8v2zpsxir8nwd-glibc-2.40-66/lib/libdl.so.2 (0x00007aef94624000)
        libstdc++.so.6 => not found
        libm.so.6 => /nix/store/8p33is69mjdw3bi1wmi8v2zpsxir8nwd-glibc-2.40-66/lib/libm.so.6 (0x00007aef9453c000)
        libgcc_s.so.1 => /nix/store/f6famnry0piih1d3hh6y73fxx05jxsa8-xgcc-14.3.0-libgcc/lib/libgcc_s.so.1 (0x00007aef9450e000)
        libc.so.6 => /nix/store/8p33is69mjdw3bi1wmi8v2zpsxir8nwd-glibc-2.40-66/lib/libc.so.6 (0x00007aef94200000)
        /lib64/ld-linux-x86-64.so.2 => /nix/store/8p33is69mjdw3bi1wmi8v2zpsxir8nwd-glibc-2.40-66/lib64/ld-linux-x86-64.so.2 (0x00007aef94645000)

Did MS or an Nixpkgs remove linking against libstdc between Net 8 and Net 9? That's the only issue that I can immediately find, for example...

03:11:48
@whovian9369:matrix.orgWhovian9369 *

It works on Net 8 as expected, but trying the otherwise same derivation with the Net 9 SDK threw that error, for whatever reason. I'll probably have to try it with Net 8 (via fetch-drv?) and see how much the ldd output differs for these _build binaries.

Here's the Net 9 ldd on _build for example:

$  ldd _build
        linux-vdso.so.1 (0x00007ffffa5f8000)
        libpthread.so.0 => /nix/store/8p33is69mjdw3bi1wmi8v2zpsxir8nwd-glibc-2.40-66/lib/libpthread.so.0 (0x00007aef94629000)
        libdl.so.2 => /nix/store/8p33is69mjdw3bi1wmi8v2zpsxir8nwd-glibc-2.40-66/lib/libdl.so.2 (0x00007aef94624000)
        libstdc++.so.6 => not found
        libm.so.6 => /nix/store/8p33is69mjdw3bi1wmi8v2zpsxir8nwd-glibc-2.40-66/lib/libm.so.6 (0x00007aef9453c000)
        libgcc_s.so.1 => /nix/store/f6famnry0piih1d3hh6y73fxx05jxsa8-xgcc-14.3.0-libgcc/lib/libgcc_s.so.1 (0x00007aef9450e000)
        libc.so.6 => /nix/store/8p33is69mjdw3bi1wmi8v2zpsxir8nwd-glibc-2.40-66/lib/libc.so.6 (0x00007aef94200000)
        /lib64/ld-linux-x86-64.so.2 => /nix/store/8p33is69mjdw3bi1wmi8v2zpsxir8nwd-glibc-2.40-66/lib64/ld-linux-x86-64.so.2 (0x00007aef94645000)

Did MS or an Nixpkgs remove linking for libstdc++.so.6 between Net 8 and Net 9? That's the only issue that I can immediately find, for example...

03:13:57
@corngood:corngood.comCorngoodNothing comes to mind. This executable must come from a nuget package? But how is it finding any of those libs?03:18:32
@whovian9369:matrix.orgWhovian9369

This executable must come from a nuget package?

I believe the binary comes from for rid in $dotnetRuntimeIds; do dotnet restore --runtime "$rid" "build/_build.csproj"; done

But how is it finding any of those libs?
Honestly, that's a good question that I don't have an answer to.

03:19:48
@whovian9369:matrix.orgWhovian9369 *

This executable must come from a nuget package?

I believe the binary comes from for rid in $dotnetRuntimeIds; do dotnet restore --runtime "$rid" "build/_build.csproj"; done

But how is it finding any of those libs?

Honestly, that's a good question that I don't have an answer to.

03:19:52
@corngood:corngood.comCorngoodIf it went through patchelf I'd expect it to fail on missing dependencies. Maybe run `readelf -d` on it.03:21:32
@whovian9369:matrix.orgWhovian9369
$  readelf -d _build
Dynamic section at offset 0x106c8 contains 33 entries:
  Tag                Type           Name/Value
  0x000000000000001d (RUNPATH)      Library runpath: [$ORIGIN/netcoredeps]
  0x0000000000000001 (NEEDED)       Shared library: [libpthread.so.0]
  0x0000000000000001 (NEEDED)       Shared library: [libdl.so.2]
  0x0000000000000001 (NEEDED)       Shared library: [libstdc++.so.6]
  0x0000000000000001 (NEEDED)       Shared library: [libm.so.6]
  0x0000000000000001 (NEEDED)       Shared library: [libgcc_s.so.1]
  0x0000000000000001 (NEEDED)       Shared library: [libc.so.6]
  0x000000000000001e (FLAGS)        BIND_NOW
  0x000000006ffffffb (FLAGS_1)      NOW PIE
  0x0000000000000015 (DEBUG)        0x0
  0x0000000000000007 (RELA)         0x1ba0
  0x0000000000000008 (RELASZ)       744 (bytes)
  0x0000000000000009 (RELAENT)      24 (bytes)
  0x000000006ffffff9 (RELACOUNT)    20
  0x0000000000000017 (JMPREL)       0x1e88
  0x0000000000000002 (PLTRELSZ)     2448 (bytes)
  0x0000000000000003 (PLTGOT)       0x12928
  0x0000000000000014 (PLTREL)       RELA
  0x0000000000000006 (SYMTAB)       0x340
  0x000000000000000b (SYMENT)       24 (bytes)
  0x0000000000000005 (STRTAB)       0xfc4
  0x000000000000000a (STRSZ)        3032 (bytes)
  0x000000006ffffef5 (GNU_HASH)     0xfa8
  0x0000000000000019 (INIT_ARRAY)   0x12630
  0x000000000000001b (INIT_ARRAYSZ) 72 (bytes)
  0x000000000000001a (FINI_ARRAY)   0x12628
  0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
  0x000000000000000c (INIT)         0x10f84
  0x000000000000000d (FINI)         0x10fa0
  0x000000006ffffff0 (VERSYM)       0xda8
  0x000000006ffffffe (VERNEED)      0xe88
  0x000000006fffffff (VERNEEDNUM)   5
  0x0000000000000000 (NULL)         0x0
03:24:09
@corngood:corngood.comCorngoodMaybe you have LD_ vars or nix-ld? In any case it's not patched, which is going to be a problem for building.03:28:57

Show newer messages


Back to Room ListRoom Version: 9