| 3 Jul 2021 |
ius | So I just tried that, doesn't seem to have any effect. In many hours of Googling I also discovered builtins.trace, adding that to print the build/host/target triplet shows it's being evaluated 3 times: {x64, x64, x64}; {x64, x64, x64}; {x64, x64, ppc} | 20:22:43 |
| 4 Jul 2021 |
symphorien | there are more handy functions in lib.debug | 14:54:19 |
ius | Ah excellent, at the very least my trace printing is less awkward now (just trace won't eval a sequence), traceSeq does | 15:53:23 |
ius | Maybe I need to approach this from the other end and instead of patching patchelf, try to modify the part where stdenv includes it? | 16:33:41 |
ius | Looking into stdenv I notice there are some other peculiarities (although I hardly understand how it works in the first place)
55 mipsel-linux = stagesLinux;
56 powerpc-linux = /* stagesLinux */ stagesNative;
57 powerpc64-linux = stagesLinux;
powerpc is the odd one out for some reason
| 16:34:42 |
| 5 Jul 2021 |
Alyssa Ross | sternenseemann: I think I found the commit that changed it... | 12:29:28 |
sterni | Alyssa Ross: in llvm? | 13:07:08 |
Alyssa Ross | yeah | 13:07:13 |
sterni | interesting! | 13:07:20 |
Alyssa Ross | I'm going to need to find it again now... | 13:07:30 |
sterni | I'm intrigued now what the actual cause is because the only explanation that would make sense to me is that the terminfo dependency is new in LLVM 12 | 13:08:11 |
Alyssa Ross | nope, it was a cmake refactor | 13:08:33 |
sterni | very strange | 13:08:47 |
Alyssa Ross | I assume the change to passing absolute path to the linker was accidental | 13:08:50 |
Alyssa Ross | sternenseemann: 3c7bfbd6831b is where it starting trying to link with absolute host ncurses path | 13:14:33 |
Alyssa Ross | I haven't determined why it stopped finding ncurses by name though | 13:15:19 |
sterni | ah real shame that meta.platforms does only accept system strings | 13:43:13 |
sterni | * a real shame that meta.platforms does only accept system strings | 13:43:17 |
sterni | we probably want to have the unsupported platform predicate | 13:47:12 |
sterni | Alyssa Ross: ``` ldd /nix/store/28n03fxvzx4ncr52wza16xhfy39rw29k-llvm-aarch64-unknown-linux-gnu-11.1.0-dev/bin/llvm-config-native linux-vdso.so.1 (0x00007ffcef921000) libpthread.so.0 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libpthread.so.0 (0x00007f8adf6bf000) librt.so.1 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/librt.so.1 (0x00007f8adf6b4000) libdl.so.2 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libdl.so.2 (0x00007f8adf6af000) libstdc++.so.6 => /nix/store/d9mfvhvksvsx0ar8pmxwhgwd9my045rp-gcc-10.3.0-lib/lib/libstdc++.so.6 (0x00007f8adf4da000) libm.so.6 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libm.so.6 (0x00007f8adf397000) libgcc_s.so.1 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libgcc_s.so.1 (0x00007f8adf37b000) libc.so.6 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libc.so.6 (0x00007f8adf1ba000) /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/ld-linux-x86-64.so.2 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib64/ld-linux-x86-64.so.2 (0x00007f8adf6e2000)
so llvm-config-native 11 doesn't link against terminfo at all?!
| 14:09:42 |
sterni | * Alyssa Ross:
ldd /nix/store/28n03fxvzx4ncr52wza16xhfy39rw29k-llvm-aarch64-unknown-linux-gnu-11.1.0-dev/bin/llvm-config-native
linux-vdso.so.1 (0x00007ffcef921000)
libpthread.so.0 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libpthread.so.0 (0x00007f8adf6bf000)
librt.so.1 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/librt.so.1 (0x00007f8adf6b4000)
libdl.so.2 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libdl.so.2 (0x00007f8adf6af000)
libstdc++.so.6 => /nix/store/d9mfvhvksvsx0ar8pmxwhgwd9my045rp-gcc-10.3.0-lib/lib/libstdc++.so.6 (0x00007f8adf4da000)
libm.so.6 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libm.so.6 (0x00007f8adf397000)
libgcc_s.so.1 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libgcc_s.so.1 (0x00007f8adf37b000)
libc.so.6 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libc.so.6 (0x00007f8adf1ba000)
/nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/ld-linux-x86-64.so.2 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib64/ld-linux-x86-64.so.2 (0x00007f8adf6e2000)
so llvm-config-native 11 doesn't link against terminfo at all?!
| 14:09:51 |
sterni | * Alyssa Ross:
ldd /nix/store/28n03fxvzx4ncr52wza16xhfy39rw29k-llvm-aarch64-unknown-linux-gnu-11.1.0-dev/bin/llvm-config-native
linux-vdso.so.1 (0x00007ffcef921000)
libpthread.so.0 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libpthread.so.0 (0x00007f8adf6bf000)
librt.so.1 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/librt.so.1 (0x00007f8adf6b4000)
libdl.so.2 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libdl.so.2 (0x00007f8adf6af000)
libstdc++.so.6 => /nix/store/d9mfvhvksvsx0ar8pmxwhgwd9my045rp-gcc-10.3.0-lib/lib/libstdc++.so.6 (0x00007f8adf4da000)
libm.so.6 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libm.so.6 (0x00007f8adf397000)
libgcc_s.so.1 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libgcc_s.so.1 (0x00007f8adf37b000)
libc.so.6 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libc.so.6 (0x00007f8adf1ba000)
/nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/ld-linux-x86-64.so.2 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib64/ld-linux-x86-64.so.2 (0x00007f8adf6e2000)
so llvm-config-native 11 doesn't link against terminfo at all?!
| 14:09:59 |
Alyssa Ross | hmm, I thought it did when I checked | 14:21:08 |
sterni | Alyssa Ross: the non cross compiled one does | 14:22:24 |
sterni | ldd ./result-dev/bin/llvm-config
linux-vdso.so.1 (0x00007ffc18a91000)
libLLVM-11.so => /nix/store/52szvdc5qkh7llzpwamxjwg2cldz7m46-llvm-11.1.0-lib/lib/libLLVM-11.so (0x00007ff3bb43a000)
libpthread.so.0 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libpthread.so.0 (0x00007ff3bb419000)
libstdc++.so.6 => /nix/store/d9mfvhvksvsx0ar8pmxwhgwd9my045rp-gcc-10.3.0-lib/lib/libstdc++.so.6 (0x00007ff3bb244000)
libm.so.6 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libm.so.6 (0x00007ff3bb101000)
libgcc_s.so.1 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libgcc_s.so.1 (0x00007ff3bb0e7000)
libc.so.6 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libc.so.6 (0x00007ff3baf24000)
libffi.so.7 => /nix/store/qv3b7pswf4j9c03dchr96p4r27700ph5-libffi-3.3/lib/libffi.so.7 (0x00007ff3baf17000)
libz.so.1 => /nix/store/0b0mijbd7mp8gcglmkkdr2775ki38x9v-zlib-1.2.11/lib/libz.so.1 (0x00007ff3baefa000)
librt.so.1 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/librt.so.1 (0x00007ff3baeef000)
libdl.so.2 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libdl.so.2 (0x00007ff3baee8000)
libncursesw.so.6 => /nix/store/sfnp4faf4m8d8p04jvmabcn7j5bacqqg-ncurses-6.2/lib/libncursesw.so.6 (0x00007ff3bae76000)
libxml2.so.2 => /nix/store/j9af3y4n3viladi76xmpnaz7cps68hcd-libxml2-2.9.12/lib/libxml2.so.2 (0x00007ff3bad08000)
/nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/ld-linux-x86-64.so.2 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib64/ld-linux-x86-64.so.2 (0x00007ff3c0f8b000
| 14:22:40 |
sterni | (this is pkgs.llvmPackages_11.llvm.dev) | 14:22:53 |
Alyssa Ross | hmm, I see | 14:22:54 |
sterni | maybe its optional and it doesn't find it for the cross case and ignores it | 14:23:16 |
sterni | and in llvm 12 it does discover it, but the wrong one, possibly? | 14:23:26 |
ius | Pff, finally managed to override patchelf the way I wanted (i.e. for cross only): I ended up prepending it to extraNativeBuildInputs in stdenv/cross. Original patchelf is still dragged in somehow, but ends up further down in PATH | 17:55:06 |