| 1 Jun 2023 |
artemis | libtool-riscv64-unknown-linux-gnu> Finished prerequisites of target file 'libtoolize.in'.
libtool-riscv64-unknown-linux-gnu> No need to remake target 'libtoolize.in'. | 21:34:30 |
artemis | * its not regenerating libtoolize.in though it seems like. from earlier up the log: | 21:34:56 |
trofi | Oh, it's a cross-compilation? | 21:34:58 |
artemis | yeah | 21:35:04 |
artemis | cross compiling from x86_64 to riscv64 | 21:35:41 |
trofi | That I should be able to reproduce locally. Which package do you build? | 21:36:03 |
trofi | (and I would expect libtoolize.in not to require a rebuild, what does log say, what triggers it's rebuild?) | 21:37:11 |
artemis | vi@philomena ~/z/nixpkgs (nixos-22.11)> nix build -f. pkgsCross.riscv64.libtool | 21:37:14 |
artemis | commit 9af373a61647257d16ae6062cddaa9094d24920c to be exact | 21:37:24 |
trofi | nod, i'll try on staging-next first | 21:37:38 |
artemis | In reply to @trofi:matrix.org (and I would expect libtoolize.in not to require a rebuild, what does log say, what triggers it's rebuild?) nothing, it doesnt rebuild | 21:37:43 |
artemis | look up there it says no need to remake target libtoolize.in | 21:37:53 |
artemis | so libtoolize.in is not rebuilt. but it is newer than doc/libtoolize.1 which does rebuild | 21:38:21 |
trofi | Aha. Then some other prerequisite is stale if it still wants to rebuild doc/libtoolize.1. Maybe a few lines earlier. | 21:38:39 |
artemis | hmm? no it says that libtoolize.in is newer | 21:39:01 |
artemis | and is the reason for the rebuild | 21:39:09 |
artemis | here is the full evaluation of libtoolize.1 https://dpaste.com/G93P2BJ5X | 21:40:51 |
trofi | Hm. If you add --keep-failed you can check both files' timestamps in temp dir. I wonder if one of them matches build time. | 21:41:53 |
artemis | yeah how do i find the temp dir | 21:42:10 |
artemis | oh it tells me | 21:42:52 |
artemis | what it says note: keeping build directory '/tmp/nix-build-libtool-riscv64-unknown-linux-gnu-2.4.7.drv-0' but that directory does not exist | 21:43:30 |
trofi | Should be there. | 21:44:03 |
artemis | it is not | 21:44:11 |
artemis | vi@philomena ~/z/nixpkgs (nixos-22.11)> ls -a /tmp | grep nix
.font-unix
.ICE-unix
nix-shell-5258-0
.X11-unix
.XIM-unix | 21:44:54 |
trofi | https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/misc/libtool/libtool2.nix#L34 should make sure that doc/libtoolize.1 is newer that just patched libtoolize.in. | 21:45:43 |
artemis | ah that would explain it then. 22.11 has the substituteInPlace but not the touch | 21:47:40 |
artemis | ok trying with that touch added but it will be awhile because i have to rebuild everything since now libtool is changed for the x86 toolchain too haha | 21:49:02 |
trofi | Yeah, https://github.com/NixOS/nixpkgs/commit/6becbd39707fbf8306b35af1828893eec0d03646 was a bit large to backport | 21:49:07 |
trofi | you can do target-specific hack as well: postPatch = ''...'' + lib.optionalString stdenv.hostPlatform.isRiscV "touch foo" | 21:50:34 |
trofi | That way it should rebuild a bit less. | 21:50:47 |