Nix Cross Compiling | 568 Members | |
| 124 Servers |
| Sender | Message | Time |
|---|---|---|
| 3 Jul 2021 | ||
| Alyssa Ross: do you know if only with 12 llvm started to link against ncurses for llvm-config? because I don't see why it would work with the prior versions | 09:44:00 | |
| there, ncurses is always a non native dependency | 09:44:11 | |
| 15:51:24 | ||
| 15:51:38 | ||
I made some changes to patchelf and would like to test it by rebuilding all derivations targeting my cross arch (and only those), is there a way to do this? crossOverlays seems pretty convenient for packages running on the target, but it seems of little use for tools which run on the build machine. A naive overlay runs into a recursion issue due to affecting all derivations.. | 18:59:57 | |
I tackled similar issues with gcc before, for which checking stdenv.targetPlatfor.isXX seems to work, but can't get it to work for patchelf.. | 19:01:15 | |
| I spent some time reading the nixpkgs manuals, and wonder whether pkgs{Build/Host.Target} would be useful/relevant in any way (but have to admit I don't understand them well enough) | 19:02:49 | |
fork nixpkgs and patch the derivation for patchelf with: src = if stdenv.targetPlatform == "foo" then mysource else theoriginalsource ? | 19:22:49 | |
| hopefully this should not affect non-cross patchelf | 19:23:41 | |
| Hmm, I already tried that using an overlay, but ended up forking nixpkgs anyway for the gcc issues I had earlier - let me give that a go to see if it helps | 19:36:31 | |
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 | ||
there are more handy functions in lib.debug | 14:54:19 | |
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 | |
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 | |
| Looking into stdenv I notice there are some other peculiarities (although I hardly understand how it works in the first place)
| 16:34:42 | |
| 5 Jul 2021 | ||
| sternenseemann: I think I found the commit that changed it... | 12:29:28 | |
| Alyssa Ross: in llvm? | 13:07:08 | |
| yeah | 13:07:13 | |
| interesting! | 13:07:20 | |
| I'm going to need to find it again now... | 13:07:30 | |
| 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 | |
| nope, it was a cmake refactor | 13:08:33 | |
| very strange | 13:08:47 | |
| I assume the change to passing absolute path to the linker was accidental | 13:08:50 | |
| sternenseemann: 3c7bfbd6831b is where it starting trying to link with absolute host ncurses path | 13:14:33 | |
| I haven't determined why it stopped finding ncurses by name though | 13:15:19 | |
| ah real shame that meta.platforms does only accept system strings | 13:43:13 | |
| * a real shame that meta.platforms does only accept system strings | 13:43:17 | |
| we probably want to have the unsupported platform predicate | 13:47:12 | |
| Alyssa Ross: ```
| 14:09:42 | |