* Problem with guix copy @ 2024-03-15 9:14 Emmanuel Medernach 2024-03-15 9:21 ` Emmanuel Medernach ` (2 more replies) 0 siblings, 3 replies; 12+ messages in thread From: Emmanuel Medernach @ 2024-03-15 9:14 UTC (permalink / raw) To: guix-science Hello, I have problems with guix copy: I have 2 machines Machine_A and Machine_B. They both have the same channels. Machine_B is slow (I don't want to recompile there, I would like to reuse the same packages from Machine_A). Machine_A and Machine_B have limited connectivity, Machine_A has only ssh access (I cannot use it as a substitute with guix publish) and Machine_B has nothing. I installed bazel on Machine_A: Machine_A # guix install bazel Machine_A # guix build bazel /gnu/store/5i872l0ijm7vd9vk2knn67ai3daa6q68-bazel-6.4.0 Machine_A # readlink -f $GUIX_EXTRA_PROFILES/bazel/profile/bin/bazel /gnu/store/5i872l0ijm7vd9vk2knn67ai3daa6q68-bazel-6.4.0/bin/bazel I tried guix copy, but I have 2 problems: First, Machine_B asks for a different hash that the one I have on Machine_A (even if both have the same channels): Machine_B # guix copy --from=Machine_A --dry-run bazel guix copy: error: no such item on remote host 'Machine_A': /gnu/store/6n69a11yjydwhb7p8kb6qg20nj5cxrg1-bazel-6.4.0 Second, when I try to copy the package with the hash from Machine_A I get an error: Machine_B # guix copy --from=Machine_A --dry-run /gnu/store/5i872l0ijm7vd9vk2knn67ai3daa6q68-bazel-6.4.0 retrieving 1 store item from 'Machine_A'... guix copy: error: implementation cannot deal with > 32-bit integers How to use guix copy to transfer the same packages from one machine to another ? Here are my current channels: (list (channel (name 'guix-science) (url "https://github.com/guix-science/guix-science.git") (branch "master") (commit "61836bfd9c3a01b696142aabb625b0851d6fd536") (introduction (make-channel-introduction "b1fe5aaff3ab48e798a4cce02f0212bc91f423dc" (openpgp-fingerprint "CA4F 8CF4 37D7 478F DA05 5FD4 4213 7701 1A37 8446")))) (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") (branch "master") (commit "7319b4d5286d31a9c6a889e81af72308efdaab41") (introduction (make-channel-introduction "9edb3f66fd807b096b48283debdcddccfea34bad" (openpgp-fingerprint "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))) Thanks for your help Best regards, Emmanuel Medernach ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem with guix copy 2024-03-15 9:14 Problem with guix copy Emmanuel Medernach @ 2024-03-15 9:21 ` Emmanuel Medernach 2024-03-15 13:58 ` Emmanuel Medernach 2024-03-19 10:26 ` Simon Tournier 2024-03-27 13:05 ` Simon Tournier 2 siblings, 1 reply; 12+ messages in thread From: Emmanuel Medernach @ 2024-03-15 9:21 UTC (permalink / raw) To: guix-science Le 15/03/2024 à 10:14, Emmanuel Medernach a écrit : > Hello, > > I have problems with guix copy: I have 2 machines Machine_A and > Machine_B. They both have the same channels. Machine_B is slow (I > don't want to recompile there, I would like to reuse the same packages > from Machine_A). Machine_A and Machine_B have limited connectivity, > Machine_A has only ssh access (I cannot use it as a substitute with > guix publish) and Machine_B has nothing. > > I installed bazel on Machine_A: > > If that could help, here is a minimal manifest and command I use to install it in an extra profile: (specifications->manifest '("glibc-locales" "bazel" )) # guix package --manifest="$HOME"/manifests/bazel.scm --profile="$GUIX_EXTRA_PROFILES"/bazel/profile > Machine_A # guix build bazel > /gnu/store/5i872l0ijm7vd9vk2knn67ai3daa6q68-bazel-6.4.0 > Machine_A # readlink -f $GUIX_EXTRA_PROFILES/bazel/profile/bin/bazel > /gnu/store/5i872l0ijm7vd9vk2knn67ai3daa6q68-bazel-6.4.0/bin/bazel > > I tried guix copy, but I have 2 problems: > > First, Machine_B asks for a different hash that the one I have on > Machine_A (even if both have the same channels): > > Machine_B # guix copy --from=Machine_A --dry-run bazel > guix copy: error: no such item on remote host 'Machine_A': > /gnu/store/6n69a11yjydwhb7p8kb6qg20nj5cxrg1-bazel-6.4.0 > > Second, when I try to copy the package with the hash from Machine_A I > get an error: > > Machine_B # guix copy --from=Machine_A --dry-run > /gnu/store/5i872l0ijm7vd9vk2knn67ai3daa6q68-bazel-6.4.0 > retrieving 1 store item from 'Machine_A'... > guix copy: error: implementation cannot deal with > 32-bit integers > > How to use guix copy to transfer the same packages from one machine to > another ? > > Here are my current channels: > > (list (channel > (name 'guix-science) > (url "https://github.com/guix-science/guix-science.git") > (branch "master") > (commit > "61836bfd9c3a01b696142aabb625b0851d6fd536") > (introduction > (make-channel-introduction > "b1fe5aaff3ab48e798a4cce02f0212bc91f423dc" > (openpgp-fingerprint > "CA4F 8CF4 37D7 478F DA05 5FD4 4213 7701 1A37 8446")))) > (channel > (name 'guix) > (url "https://git.savannah.gnu.org/git/guix.git") > (branch "master") > (commit > "7319b4d5286d31a9c6a889e81af72308efdaab41") > (introduction > (make-channel-introduction > "9edb3f66fd807b096b48283debdcddccfea34bad" > (openpgp-fingerprint > "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))) > > Thanks for your help > > Best regards, > > Emmanuel Medernach > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem with guix copy 2024-03-15 9:21 ` Emmanuel Medernach @ 2024-03-15 13:58 ` Emmanuel Medernach 2024-03-15 14:10 ` Andreas Enge 0 siblings, 1 reply; 12+ messages in thread From: Emmanuel Medernach @ 2024-03-15 13:58 UTC (permalink / raw) To: guix-science Le 15/03/2024 à 10:21, Emmanuel Medernach a écrit : > > Le 15/03/2024 à 10:14, Emmanuel Medernach a écrit : >> Hello, >> >> I have problems with guix copy: I have 2 machines Machine_A and >> Machine_B. They both have the same channels. Machine_B is slow (I >> don't want to recompile there, I would like to reuse the same >> packages from Machine_A). Machine_A and Machine_B have limited >> connectivity, Machine_A has only ssh access (I cannot use it as a >> substitute with guix publish) and Machine_B has nothing. >> >> I installed bazel on Machine_A: >> >> > If that could help, here is a minimal manifest and command I use to > install it in an extra profile: > > (specifications->manifest > '("glibc-locales" > "bazel" > )) > > # guix package --manifest="$HOME"/manifests/bazel.scm > --profile="$GUIX_EXTRA_PROFILES"/bazel/profile > > >> Machine_A # guix build bazel >> /gnu/store/5i872l0ijm7vd9vk2knn67ai3daa6q68-bazel-6.4.0 >> Machine_A # readlink -f $GUIX_EXTRA_PROFILES/bazel/profile/bin/bazel >> /gnu/store/5i872l0ijm7vd9vk2knn67ai3daa6q68-bazel-6.4.0/bin/bazel >> >> I tried guix copy, but I have 2 problems: >> >> First, Machine_B asks for a different hash that the one I have on >> Machine_A (even if both have the same channels): >> I tried a guix pull as a user and as root on both machines. Now on both machines guix and guix-daemon used are the same, here are both paths: /gnu/store/m79ld7h62wjbx6kc2jip73lmh8lfc8qs-guix-command /gnu/store/z642sncd5jgj4bc3p18rdqwdkq30p833-guix-daemon When I try a guix copy the requested hash is still different from the one on Machine_A (and it wishes to recompile it): Machine_B # guix copy --dry-run --from=Machine_A bazel The following derivations would be built: /gnu/store/0lscmi07b2y0aw6hscbgm2h7nqwc6sb1-bazel-6.4.0.drv /gnu/store/gssvcsrhq6j2pifavjzw00h8wqlx05km-java-commons-compress-1.21.drv /gnu/store/l8z82vbw16nq70w3fnjj4jkwk389lkbh-java-xz-1.9.drv /gnu/store/h03jjkqcps6xw0x4hgxph4rwynzg7n07-bazel-6.4.0-dist.tar.xz.drv /gnu/store/var9aniprgbyg2w0i1fhgzsmjbqdv5cp-bazel-6.4.0-dist.zip.drv /gnu/store/ggg0r1jxp8vvk3sfva6kgc0vsrrlzzb1-zipbomb-bazel-6.4.0-dist.zip.drv 681.5 MB would be downloaded: /gnu/store/anzqriqq31ai85ifmn2iiisqyqrs2388-openjdk-11.0.22-jdk /gnu/store/qjnlrsvp0j04hhbxh8a4xi7d76bg1s47-openjdk-9.181-jdk /gnu/store/ng26zmv0w15cq6zg8v13604labaxllz2-gtk+-2.24.33 /gnu/store/gab2vx6lrncbpb8w351rwhjwfd30496w-icedtea-3.19.0-jdk /gnu/store/wjg1al20skmbczzmli1q8zg6ayq0dhnn-grpc-1.34.0 What am I missing ? Thanks for your help Best regards, Emmanuel Medernach >> Machine_B # guix copy --from=Machine_A --dry-run bazel >> guix copy: error: no such item on remote host 'Machine_A': >> /gnu/store/6n69a11yjydwhb7p8kb6qg20nj5cxrg1-bazel-6.4.0 >> >> Second, when I try to copy the package with the hash from Machine_A I >> get an error: >> >> Machine_B # guix copy --from=Machine_A --dry-run >> /gnu/store/5i872l0ijm7vd9vk2knn67ai3daa6q68-bazel-6.4.0 >> retrieving 1 store item from 'Machine_A'... >> guix copy: error: implementation cannot deal with > 32-bit integers >> >> How to use guix copy to transfer the same packages from one machine >> to another ? >> >> Here are my current channels: >> >> (list (channel >> (name 'guix-science) >> (url "https://github.com/guix-science/guix-science.git") >> (branch "master") >> (commit >> "61836bfd9c3a01b696142aabb625b0851d6fd536") >> (introduction >> (make-channel-introduction >> "b1fe5aaff3ab48e798a4cce02f0212bc91f423dc" >> (openpgp-fingerprint >> "CA4F 8CF4 37D7 478F DA05 5FD4 4213 7701 1A37 8446")))) >> (channel >> (name 'guix) >> (url "https://git.savannah.gnu.org/git/guix.git") >> (branch "master") >> (commit >> "7319b4d5286d31a9c6a889e81af72308efdaab41") >> (introduction >> (make-channel-introduction >> "9edb3f66fd807b096b48283debdcddccfea34bad" >> (openpgp-fingerprint >> "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))) >> >> Thanks for your help >> >> Best regards, >> >> Emmanuel Medernach >> > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem with guix copy 2024-03-15 13:58 ` Emmanuel Medernach @ 2024-03-15 14:10 ` Andreas Enge 2024-03-15 14:37 ` Emmanuel Medernach 0 siblings, 1 reply; 12+ messages in thread From: Andreas Enge @ 2024-03-15 14:10 UTC (permalink / raw) To: Emmanuel Medernach; +Cc: guix-science Hello, Am Fri, Mar 15, 2024 at 02:58:23PM +0100 schrieb Emmanuel Medernach: > Now on both machines guix and guix-daemon used are the same, here are both > paths: > /gnu/store/m79ld7h62wjbx6kc2jip73lmh8lfc8qs-guix-command > /gnu/store/z642sncd5jgj4bc3p18rdqwdkq30p833-guix-daemon > When I try a guix copy the requested hash is still different from the one on > Machine_A (and it wishes to recompile it): just a wild guess, but could it be that you did a "guix gc" on Machine A and that there are grafts in play? In that case the ungrafted package may have been deleted, and will then be recomputed. Maybe you could try the same operation adding --no-grafts to the command. Andreas ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem with guix copy 2024-03-15 14:10 ` Andreas Enge @ 2024-03-15 14:37 ` Emmanuel Medernach 2024-03-15 14:50 ` Emmanuel Medernach 0 siblings, 1 reply; 12+ messages in thread From: Emmanuel Medernach @ 2024-03-15 14:37 UTC (permalink / raw) To: Andreas Enge; +Cc: guix-science Le 15/03/2024 à 15:10, Andreas Enge a écrit : > Hello, > > Am Fri, Mar 15, 2024 at 02:58:23PM +0100 schrieb Emmanuel Medernach: >> Now on both machines guix and guix-daemon used are the same, here are both >> paths: >> /gnu/store/m79ld7h62wjbx6kc2jip73lmh8lfc8qs-guix-command >> /gnu/store/z642sncd5jgj4bc3p18rdqwdkq30p833-guix-daemon >> When I try a guix copy the requested hash is still different from the one on >> Machine_A (and it wishes to recompile it): > just a wild guess, but could it be that you did a "guix gc" on Machine A > and that there are grafts in play? In that case the ungrafted package may > have been deleted, and will then be recomputed. > > Maybe you could try the same operation adding --no-grafts to the command. Thanks for your idea, here is the result: Machine_A # guix package --manifest="$HOME"/manifests/bazel.scm --no-grafts --no-substitutes Machine_A # guix package --list-installed | grep bazel bazel 6.4.0 out /gnu/store/8xmcsk5jrkxb06whgj0fif0mrxvhyvj6-bazel-6.4.0 The hash has changed but is still not the one requested by Machine_B with guix copy (same message there) I cannot publish from Machine_A to Machine_B (but I don't know if that would be better or not) Emmanuel > Andreas > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem with guix copy 2024-03-15 14:37 ` Emmanuel Medernach @ 2024-03-15 14:50 ` Emmanuel Medernach 0 siblings, 0 replies; 12+ messages in thread From: Emmanuel Medernach @ 2024-03-15 14:50 UTC (permalink / raw) To: guix-science Le 15/03/2024 à 15:37, Emmanuel Medernach a écrit : > > Le 15/03/2024 à 15:10, Andreas Enge a écrit : >> Hello, >> >> Am Fri, Mar 15, 2024 at 02:58:23PM +0100 schrieb Emmanuel Medernach: >>> Now on both machines guix and guix-daemon used are the same, here >>> are both >>> paths: >>> /gnu/store/m79ld7h62wjbx6kc2jip73lmh8lfc8qs-guix-command >>> /gnu/store/z642sncd5jgj4bc3p18rdqwdkq30p833-guix-daemon >>> When I try a guix copy the requested hash is still different from >>> the one on >>> Machine_A (and it wishes to recompile it): >> just a wild guess, but could it be that you did a "guix gc" on Machine A >> and that there are grafts in play? In that case the ungrafted package >> may >> have been deleted, and will then be recomputed. >> >> Maybe you could try the same operation adding --no-grafts to the >> command. > > Thanks for your idea, here is the result: > > Machine_A # guix package --manifest="$HOME"/manifests/bazel.scm > --no-grafts --no-substitutes > Machine_A # guix package --list-installed | grep bazel > bazel 6.4.0 out > /gnu/store/8xmcsk5jrkxb06whgj0fif0mrxvhyvj6-bazel-6.4.0 > > The hash has changed but is still not the one requested by Machine_B > with guix copy (same message there) > > I cannot publish from Machine_A to Machine_B (but I don't know if that > would be better or not) > Ok for the time being I give up and will compile bazel on Machine_B, but I am curious why the hash requested from Machine_B is not the one built on Machine_A ? The problem is that I will have many machines like Machine_B and I would like to avoid recompilation of packages on all of them if possible. Emmanuel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem with guix copy 2024-03-15 9:14 Problem with guix copy Emmanuel Medernach 2024-03-15 9:21 ` Emmanuel Medernach @ 2024-03-19 10:26 ` Simon Tournier 2024-03-19 15:40 ` Emmanuel Medernach 2024-03-27 13:05 ` Simon Tournier 2 siblings, 1 reply; 12+ messages in thread From: Simon Tournier @ 2024-03-19 10:26 UTC (permalink / raw) To: Emmanuel Medernach, guix-science Hi Emmanuel, > Machine_B # guix copy --from=Machine_A bazel --dry-run > The following derivation would be built: > /gnu/store/0lscmi07b2y0aw6hscbgm2h7nqwc6sb1-bazel-6.4.0.drv Could you share this derivation file? And the one from Machine A? To be precise, on Machine B, you should get: $ guix time-machine -q -C channels.scm -- build --no-grafts bazel -d /gnu/store/dnwdzl84cxgk232cwh8843f3dhqmyd69-bazel-6.4.0.drv And on Machine A, you get another one, right? For instance, run this command on both machines: cp \ $(guix time-machine -q -C channels.scm -- build --no-grafts bazel -d) \ /tmp/machine-X.drv where X is A or B, respectively. These files track exactly how the item is built (derived). Therefore, since the hash of the output differs, you should differ somewhere. Previously, you checked about the inputs, now we need to compare the complete derivation. Cheers, simon PS: Please note that the content of two store items might be bit-to-bit identical with different store item paths (hash). Consider the example with the exact same source where the difference is just one comment somewhere in the code. Then, their hashes are different. However, once compiled the binaries are identical (compiler usually removes comments). Since the hash of one input (source) differs, then the store item paths are different but the content of these both store items are bit-to-bit identical. The machinery to track down the origin of the difference is all these derivation .drv files. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem with guix copy 2024-03-19 10:26 ` Simon Tournier @ 2024-03-19 15:40 ` Emmanuel Medernach 2024-03-19 15:51 ` Emmanuel Medernach 2024-03-21 22:19 ` Simon Tournier 0 siblings, 2 replies; 12+ messages in thread From: Emmanuel Medernach @ 2024-03-19 15:40 UTC (permalink / raw) To: Simon Tournier, guix-science Le 19/03/2024 à 11:26, Simon Tournier a écrit : > Hi Emmanuel, > >> Machine_B # guix copy --from=Machine_A bazel --dry-run >> The following derivation would be built: >> /gnu/store/0lscmi07b2y0aw6hscbgm2h7nqwc6sb1-bazel-6.4.0.drv > Could you share this derivation file? And the one from Machine A? > > To be precise, on Machine B, you should get: > > $ guix time-machine -q -C channels.scm -- build --no-grafts bazel -d > /gnu/store/dnwdzl84cxgk232cwh8843f3dhqmyd69-bazel-6.4.0.drv > > And on Machine A, you get another one, right? Hi Simon, Bazel is now compiled on both machines, but I have similar issue with tensorflow Both have the same derivation file: Machine_A # guix time-machine -q -C ~/.config/guix/channels.scm -- build --no-grafts tensorflow -d /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv Machine_A # md5sum /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv c7833f974f217ada62b3eb6cdccee11f /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv Machine_B # guix time-machine -q -C ~/.config/guix/channels.scm -- build --no-grafts tensorflow -d /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv Machine_B # md5sum /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv c7833f974f217ada62b3eb6cdccee11f /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv The derivation file and channels are both the same on both machines. But I cannot copy tensorflow from Machine_A to Machine_B: Machine_A # guix package --list-installed | grep tensorflow tensorflow 2.13.1 out /gnu/store/jghvlb5dz4sy1p0cd1qx552r1ldj33wi-tensorflow-2.13.1 Machine_B # guix copy --from=<Machine_A> tensorflow --dry-run substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0% The following derivations would be built: /gnu/store/4g2whbzgn5nqs55x9iqgg23jdapf1srk-tensorflow-2.13.1.drv /gnu/store/g90vfnx128ifhgy0n1zmlscjrn57l8xm-tensorflow-2.13.1-bazel-deps.tar.xz.drv /gnu/store/h3zcigb52z7m6yyjl785w3a5ls1cjjc7-python-jax-0.4.20.drv /gnu/store/h9m0ix80glph19k4pfqh130nmkil8f39-python-jaxlib-0.4.20.drv /gnu/store/m4icdavpvbryliz34ai8817bb1d3l3xr-python-jaxlib-0.4.20.drv Without dry-run he would try to recompile tensorflow on Machine_B which results in a memory crash. Am I doing something wrong ? Why 'guix copy' derivation is /gnu/store/4g2whbzgn5nqs55x9iqgg23jdapf1srk-tensorflow-2.13.1.drv instead of /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv ? Cheers, Emmanuel > For instance, run this command on both machines: > > cp \ > $(guix time-machine -q -C channels.scm -- build --no-grafts bazel -d) \ > /tmp/machine-X.drv > > where X is A or B, respectively. > > These files track exactly how the item is built (derived). Therefore, > since the hash of the output differs, you should differ somewhere. > Previously, you checked about the inputs, now we need to compare the > complete derivation. > > > Cheers, > simon > > PS: Please note that the content of two store items might be bit-to-bit > identical with different store item paths (hash). > > Consider the example with the exact same source where the difference > is just one comment somewhere in the code. Then, their hashes are > different. However, once compiled the binaries are identical > (compiler usually removes comments). > > Since the hash of one input (source) differs, then the store item > paths are different but the content of these both store items are > bit-to-bit identical. > > The machinery to track down the origin of the difference is all > these derivation .drv files. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem with guix copy 2024-03-19 15:40 ` Emmanuel Medernach @ 2024-03-19 15:51 ` Emmanuel Medernach 2024-03-21 22:19 ` Simon Tournier 1 sibling, 0 replies; 12+ messages in thread From: Emmanuel Medernach @ 2024-03-19 15:51 UTC (permalink / raw) To: guix-science Le 19/03/2024 à 16:40, Emmanuel Medernach a écrit : > > Machine_A # guix time-machine -q -C ~/.config/guix/channels.scm -- > build --no-grafts tensorflow -d > /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv > > Machine_A # md5sum > /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv > c7833f974f217ada62b3eb6cdccee11f > /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv > > But I cannot copy tensorflow from Machine_A to Machine_B: > > Machine_A # guix package --list-installed | grep tensorflow > tensorflow 2.13.1 out > /gnu/store/jghvlb5dz4sy1p0cd1qx552r1ldj33wi-tensorflow-2.13.1 > > Machine_B # guix copy --from=<Machine_A> tensorflow --dry-run > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > substitute: updating substitutes from > 'https://bordeaux.guix.gnu.org'... 100.0% > The following derivations would be built: > /gnu/store/4g2whbzgn5nqs55x9iqgg23jdapf1srk-tensorflow-2.13.1.drv > /gnu/store/g90vfnx128ifhgy0n1zmlscjrn57l8xm-tensorflow-2.13.1-bazel-deps.tar.xz.drv > > /gnu/store/h3zcigb52z7m6yyjl785w3a5ls1cjjc7-python-jax-0.4.20.drv > /gnu/store/h9m0ix80glph19k4pfqh130nmkil8f39-python-jaxlib-0.4.20.drv > /gnu/store/m4icdavpvbryliz34ai8817bb1d3l3xr-python-jaxlib-0.4.20.drv > > > Am I doing something wrong ? > > Why 'guix copy' derivation is > /gnu/store/4g2whbzgn5nqs55x9iqgg23jdapf1srk-tensorflow-2.13.1.drv > instead of > /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv ? > Here is the diff between the 2 derivations: 1,2c1,2 < Derive([("out","/gnu/store/yhr2vxh26acz3pzpjlph4f82ffrw6icv-tensorflow-2.13.1","","" < ),("python","/gnu/store/fyjpsvfdmkdimd1vx6d99ik01z3x3j93-tensorflow-2.13.1-python","","" --- > Derive([("out","/gnu/store/3mq3q11ripx53xg60shbshk7cr470yfx-tensorflow-2.13.1","","" > ),("python","/gnu/store/qc234r07i3ndgrpa0fdkpkbg4d20h7i1-tensorflow-2.13.1-python","","" 42a43 > ),("/gnu/store/50vi4ywi79irbg71l814xqkww4k1afh2-python-jaxlib-0.4.20.drv",["out"] 61a63 > ),("/gnu/store/8avai81995rj5h7906nzgyrnrpvqi6if-tensorflow-2.13.1-bazel-deps.tar.xz.drv",["out"] 64d65 < ),("/gnu/store/8jfr297mkpv698d4y1cq270a7f03wyh6-bazel-6.3.2.drv",["out"] 75a77 > ),("/gnu/store/an1hq0y3npd66plwghgnccm4sl7lyvka-bazel-6.3.2.drv",["out"] 111d112 < ),("/gnu/store/g90vfnx128ifhgy0n1zmlscjrn57l8xm-tensorflow-2.13.1-bazel-deps.tar.xz.drv",["out"] 123d123 < ),("/gnu/store/h3zcigb52z7m6yyjl785w3a5ls1cjjc7-python-jax-0.4.20.drv",["out"] 127d126 < ),("/gnu/store/h9m0ix80glph19k4pfqh130nmkil8f39-python-jaxlib-0.4.20.drv",["out"] 167a167 > ),("/gnu/store/lvbjhnrdgl5i5z558b1zpvj4vjqzdm4g-python-jax-0.4.20.drv",["out"] 257,258c257,258 < )],["/gnu/store/a5pi7l07irynidrfkiw7x44s8angi2fh-tensorflow-2.13.1-builder","/gnu/store/wkdx6qdj2aikwg6xygymz65ck978xym6-module-import"],"x86_64-linux","/gnu/store/g8p09w6r78hhkl2rv1747pcp9zbk6fxv-guile-3.0.9/bin/guile",["--no-auto-compile","-L","/gnu/store/wkdx6qdj2aikwg6xygymz65ck978xym6-module-import","-C","/gnu/store/yj6xd6zqbn32zks8cg2nm1sw537zbcsy-module-import-compiled","/gnu/store/a5pi7l07irynidrfkiw7x44s8angi2fh-tensorflow-2.13.1-builder"],[("out","/gnu/store/yhr2vxh26acz3pzpjlph4f82ffrw6icv-tensorflow-2.13.1" < ),("python","/gnu/store/fyjpsvfdmkdimd1vx6d99ik01z3x3j93-tensorflow-2.13.1-python" --- > )],["/gnu/store/r200hqk2jn68qr5wqj6762dpqbns3vqj-tensorflow-2.13.1-builder","/gnu/store/wkdx6qdj2aikwg6xygymz65ck978xym6-module-import"],"x86_64-linux","/gnu/store/g8p09w6r78hhkl2rv1747pcp9zbk6fxv-guile-3.0.9/bin/guile",["--no-auto-compile","-L","/gnu/store/wkdx6qdj2aikwg6xygymz65ck978xym6-module-import","-C","/gnu/store/yj6xd6zqbn32zks8cg2nm1sw537zbcsy-module-import-compiled","/gnu/store/r200hqk2jn68qr5wqj6762dpqbns3vqj-tensorflow-2.13.1-builder"],[("out","/gnu/store/3mq3q11ripx53xg60shbshk7cr470yfx-tensorflow-2.13.1" > ),("python","/gnu/store/qc234r07i3ndgrpa0fdkpkbg4d20h7i1-tensorflow-2.13.1-python" > Cheers, > > Emmanuel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem with guix copy 2024-03-19 15:40 ` Emmanuel Medernach 2024-03-19 15:51 ` Emmanuel Medernach @ 2024-03-21 22:19 ` Simon Tournier 2024-03-25 10:13 ` Emmanuel Medernach 1 sibling, 1 reply; 12+ messages in thread From: Simon Tournier @ 2024-03-21 22:19 UTC (permalink / raw) To: Emmanuel Medernach, guix-science Hi Emmanuel, On mar., 19 mars 2024 at 16:40, Emmanuel Medernach <Emmanuel.Medernach@iphc.cnrs.fr> wrote: > Machine_A # guix time-machine -q -C ~/.config/guix/channels.scm -- build > --no-grafts tensorflow -d > /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv > > Machine_A # md5sum > /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv > c7833f974f217ada62b3eb6cdccee11f > /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv > > Machine_B # guix time-machine -q -C ~/.config/guix/channels.scm -- build > --no-grafts tensorflow -d > /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv > > Machine_B # md5sum > /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv > c7833f974f217ada62b3eb6cdccee11f > /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv The 2 derivations are the exact same. Since they build tensorflow without grafts, it means the issue comes from grafts, no? > Machine_A # guix package --list-installed | grep tensorflow > tensorflow 2.13.1 out > /gnu/store/jghvlb5dz4sy1p0cd1qx552r1ldj33wi-tensorflow-2.13.1 This information is useless, I think. What is needed is the derivation for grafting. Something like: Machine_A# guix time-machine -q -C ~/.config/guix/channels.scm -- build tensorflow -d > Machine_B # guix copy --from=<Machine_A> tensorflow --dry-run […] > /gnu/store/4g2whbzgn5nqs55x9iqgg23jdapf1srk-tensorflow-2.13.1.drv [...] > Without dry-run he would try to recompile tensorflow on Machine_B which > results in a memory crash. Yeah, that’s expected because it needs the non-grafted item. > Why 'guix copy' derivation is > /gnu/store/4g2whbzgn5nqs55x9iqgg23jdapf1srk-tensorflow-2.13.1.drv > instead of > /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv ? Well, on Machine_A, these # guix build tensorflow -d --without-grafts # guix build tensorflow -d should produce two different derivations. Right? On my machine, I get: --8<---------------cut here---------------start------------->8--- $ guix time-machine -q -C channels.scm -- build tensorflow@2 -d --no-grafts -n /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv $ guix time-machine -q -C channels.scm -- build tensorflow@2 -d -n /gnu/store/4g2whbzgn5nqs55x9iqgg23jdapf1srk-tensorflow-2.13.1.drv --8<---------------cut here---------------end--------------->8--- What does “guix copy --no-grafts”? Well, to be sure we are on the same wavelength: there are 4 derivations, + Machine_A: the real build (--no-grafts) and the grafted + Machine_B: idem and idem So the debug seems: + check the no-grafts derivations are the same on both machines + check the grafted derivations are the same on both machines + check that “guix copy” copy both (no-grafts and grafted) Emacs provides a mode for easing the manipulation of derivation and Scheme builder files. If you do not use Emacs, “guix gc” can be helpful for tracking the derivations, I guess. Cheers, simon ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem with guix copy 2024-03-21 22:19 ` Simon Tournier @ 2024-03-25 10:13 ` Emmanuel Medernach 0 siblings, 0 replies; 12+ messages in thread From: Emmanuel Medernach @ 2024-03-25 10:13 UTC (permalink / raw) To: Simon Tournier, guix-science Le 21/03/2024 à 23:19, Simon Tournier a écrit : > Hi Emmanuel, > > On mar., 19 mars 2024 at 16:40, Emmanuel Medernach <Emmanuel.Medernach@iphc.cnrs.fr> wrote: > >> Machine_A # guix time-machine -q -C ~/.config/guix/channels.scm -- build >> --no-grafts tensorflow -d >> /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv >> >> Machine_A # md5sum >> /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv >> c7833f974f217ada62b3eb6cdccee11f >> /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv >> >> Machine_B # guix time-machine -q -C ~/.config/guix/channels.scm -- build >> --no-grafts tensorflow -d >> /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv >> >> Machine_B # md5sum >> /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv >> c7833f974f217ada62b3eb6cdccee11f >> /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv > The 2 derivations are the exact same. Since they build tensorflow > without grafts, it means the issue comes from grafts, no? > > >> Machine_A # guix package --list-installed | grep tensorflow >> tensorflow 2.13.1 out >> /gnu/store/jghvlb5dz4sy1p0cd1qx552r1ldj33wi-tensorflow-2.13.1 > This information is useless, I think. What is needed is the derivation > for grafting. Something like: > > Machine_A# guix time-machine -q -C ~/.config/guix/channels.scm -- build tensorflow -d > > > >> Machine_B # guix copy --from=<Machine_A> tensorflow --dry-run > […] >> /gnu/store/4g2whbzgn5nqs55x9iqgg23jdapf1srk-tensorflow-2.13.1.drv > [...] > >> Without dry-run he would try to recompile tensorflow on Machine_B which >> results in a memory crash. > Yeah, that’s expected because it needs the non-grafted item. > > >> Why 'guix copy' derivation is >> /gnu/store/4g2whbzgn5nqs55x9iqgg23jdapf1srk-tensorflow-2.13.1.drv >> instead of >> /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv ? > Well, on Machine_A, these > > # guix build tensorflow -d --without-grafts > # guix build tensorflow -d > > should produce two different derivations. Right? On my machine, I get: > > --8<---------------cut here---------------start------------->8--- > $ guix time-machine -q -C channels.scm -- build tensorflow@2 -d --no-grafts -n > /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv > > $ guix time-machine -q -C channels.scm -- build tensorflow@2 -d -n > /gnu/store/4g2whbzgn5nqs55x9iqgg23jdapf1srk-tensorflow-2.13.1.drv > --8<---------------cut here---------------end--------------->8--- > > > What does “guix copy --no-grafts”? > > > Well, to be sure we are on the same wavelength: there are 4 derivations, > > + Machine_A: the real build (--no-grafts) and the grafted > + Machine_B: idem and idem > > So the debug seems: > > + check the no-grafts derivations are the same on both machines > + check the grafted derivations are the same on both machines > + check that “guix copy” copy both (no-grafts and grafted) > > Emacs provides a mode for easing the manipulation of derivation and > Scheme builder files. If you do not use Emacs, “guix gc” can be helpful > for tracking the derivations, I guess. Hi Simon, Here are the results: Machine_A # guix time-machine -q -C ~/.config/guix/channels.scm -- build tensorflow -d --no-grafts /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv Machine_A # guix time-machine -q -C ~/.config/guix/channels.scm -- build tensorflow --no-grafts /gnu/store/3mq3q11ripx53xg60shbshk7cr470yfx-tensorflow-2.13.1 /gnu/store/qc234r07i3ndgrpa0fdkpkbg4d20h7i1-tensorflow-2.13.1-python Machine_A # guix time-machine -q -C ~/.config/guix/channels.scm -- build tensorflow -d /gnu/store/vivxpmrpkh1wq5pnw28vq9c51qd3vwf6-tensorflow-2.13.1.drv Machine_A # guix time-machine -q -C ~/.config/guix/channels.scm -- build tensorflow /gnu/store/jghvlb5dz4sy1p0cd1qx552r1ldj33wi-tensorflow-2.13.1 /gnu/store/1pzdf2rfifgwdw92g8438mhqvzx948s5-tensorflow-2.13.1-python For all of this store elements guix copy on Machine B tried to recompile tensorflow. I ended up to copy the whole profile, this copy worked fine: Machine_B # guix copy --from=MachineA /gnu/store/...-profile Machine_B # guix package --list-installed | grep tensorflow tensorflow 2.13.1 out /gnu/store/3mq3q11ripx53xg60shbshk7cr470yfx-tensorflow-2.13.1 For now I will copy whole profile instead of store elements. Thanks for your help, Cheers, Emmanuel > Cheers, > simon ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problem with guix copy 2024-03-15 9:14 Problem with guix copy Emmanuel Medernach 2024-03-15 9:21 ` Emmanuel Medernach 2024-03-19 10:26 ` Simon Tournier @ 2024-03-27 13:05 ` Simon Tournier 2 siblings, 0 replies; 12+ messages in thread From: Simon Tournier @ 2024-03-27 13:05 UTC (permalink / raw) To: Emmanuel Medernach, guix-science Hi Emmanuel, On lun., 25 mars 2024 at 11:13, Emmanuel Medernach <Emmanuel.Medernach@iphc.cnrs.fr> wrote: >>> Machine_A # guix time-machine -q -C ~/.config/guix/channels.scm -- build --no-grafts tensorflow -d >>> /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv >>> Machine_B # guix time-machine -q -C ~/.config/guix/channels.scm -- build --no-grafts tensorflow -d >>> /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv [...] > Machine_A # guix time-machine -q -C ~/.config/guix/channels.scm -- build tensorflow -d --no-grafts > /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv Well, If I open the derivation /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv the header reads: --8<---------------cut here---------------start------------->8--- Derive ([("out","/gnu/store/3mq3q11ripx53xg60shbshk7cr470yfx-tensorflow-2.13.1","","") ,("python","/gnu/store/qc234r07i3ndgrpa0fdkpkbg4d20h7i1-tensorflow-2.13.1-python","","")] --8<---------------cut here---------------end--------------->8--- And you get: > Machine_A # guix time-machine -q -C ~/.config/guix/channels.scm -- build tensorflow --no-grafts > /gnu/store/3mq3q11ripx53xg60shbshk7cr470yfx-tensorflow-2.13.1 > /gnu/store/qc234r07i3ndgrpa0fdkpkbg4d20h7i1-tensorflow-2.13.1-python Therefore, all seems consistent. IIUC, it is also consistent on both machines (see quote above from earlier message). It means that the manual “--no-grafts” is OK. The question is thus, is this derivation: > Machine_A # guix time-machine -q -C ~/.config/guix/channels.scm -- build tensorflow -d > /gnu/store/vivxpmrpkh1wq5pnw28vq9c51qd3vwf6-tensorflow-2.13.1.drv built using /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv or using another one? Anyway. :-) Now, if I run on my laptop: --8<---------------cut here---------------start------------->8--- $ guix time-machine -q -C channels.scm -- build tensorflow@2.13 -n [...] The following derivations would be built: /gnu/store/4g2whbzgn5nqs55x9iqgg23jdapf1srk-tensorflow-2.13.1.drv /gnu/store/8jfr297mkpv698d4y1cq270a7f03wyh6-bazel-6.3.2.drv /gnu/store/g90vfnx128ifhgy0n1zmlscjrn57l8xm-tensorflow-2.13.1-bazel-deps.tar.xz.drv /gnu/store/h3zcigb52z7m6yyjl785w3a5ls1cjjc7-python-jax-0.4.20.drv /gnu/store/h9m0ix80glph19k4pfqh130nmkil8f39-python-jaxlib-0.4.20.drv /gnu/store/m4icdavpvbryliz34ai8817bb1d3l3xr-python-jaxlib-0.4.20.drv /gnu/store/ha0hl2j607g0wanxqbkwrcfy6yz3k2xq-python-jaxlib-0.4.20-bazel-deps.tar.xz.drv --8<---------------cut here---------------end--------------->8--- the output mentions another no-grafts derivation, i.e., /gnu/store/4g2whbzgn5nqs55x9iqgg23jdapf1srk-tensorflow-2.13.1.drv. This derivation 4g2whbzgn5nqs55x9iqgg23jdapf1srk-tensorflow-2.13.1.drv is not the derivation for grafting but the derivation for building the no-grafts. Well, I think the issue with “guix copy” is coming from something similar. There is a mismatch between what is computed. Let give a look. Let transform the one-line file to multi-lines: --8<---------------cut here---------------start------------->8--- $ cat /gnu/store/s6fm43503ra6yxclqvk80gfiw4zxbp91-tensorflow-2.13.1.drv | sed 's/,/\n,/g' > /tmp/manual --8<---------------cut here---------------end--------------->8--- And diff the both files (see complete raw below). Inline comments… 2c2 < ,"/gnu/store/3mq3q11ripx53xg60shbshk7cr470yfx-tensorflow-2.13.1" --- > ,"/gnu/store/yhr2vxh26acz3pzpjlph4f82ffrw6icv-tensorflow-2.13.1" 6c6 < ,"/gnu/store/qc234r07i3ndgrpa0fdkpkbg4d20h7i1-tensorflow-2.13.1-python" --- > ,"/gnu/store/fyjpsvfdmkdimd1vx6d99ik01z3x3j93-tensorflow-2.13.1-python" That’s expected. Because this hash is the result of all the others, i.e., something that comes next; for instance, 90,91d89 < ,("/gnu/store/50vi4ywi79irbg71l814xqkww4k1afh2-python-jaxlib-0.4.20.drv" < ,["out"]) 130,131d127 < ,("/gnu/store/8avai81995rj5h7906nzgyrnrpvqi6if-tensorflow-2.13.1-bazel-deps.tar.xz.drv" < ,["out"]) 135a132,133 > ,("/gnu/store/8jfr297mkpv698d4y1cq270a7f03wyh6-bazel-6.3.2.drv" > ,["out"]) 158,159d155 < ,("/gnu/store/an1hq0y3npd66plwghgnccm4sl7lyvka-bazel-6.3.2.drv" < ,["out"]) 229a226,227 > ,("/gnu/store/g90vfnx128ifhgy0n1zmlscjrn57l8xm-tensorflow-2.13.1-bazel-deps.tar.xz.drv" > ,["out"]) Hum, it seems: + the order is different; + the derivations are also different Ok, the order might be one the problem. And that could be a bug for “guix copy”. And because the derivations are not the same, then the item is different. Let consider tensorflow-2.13.1-bazel-deps.tar which is “fixed-output”: it means the hash (NAR SHA256) is known beforehand. Therefore the hash of the store item should be same. Well, let open these two derivations; they both read: Derive ([("out","/gnu/store/rdpxkb8gl0ym0vrz8viklc0rwnjkn7cl-tensorflow-2.13.1-bazel-deps.tar.xz", "sha256","487a1b6685767e8d9fc0a23a2e82d2d7be305e1bd5aeaa4acd1599bc92e3142f")] It means the derivations are different but their result is the exact same item. Well, I will do further tests. :-) Cheers, simon --8<---------------cut here---------------start------------->8--- 2c2 < ,"/gnu/store/3mq3q11ripx53xg60shbshk7cr470yfx-tensorflow-2.13.1" --- > ,"/gnu/store/yhr2vxh26acz3pzpjlph4f82ffrw6icv-tensorflow-2.13.1" 6c6 < ,"/gnu/store/qc234r07i3ndgrpa0fdkpkbg4d20h7i1-tensorflow-2.13.1-python" --- > ,"/gnu/store/fyjpsvfdmkdimd1vx6d99ik01z3x3j93-tensorflow-2.13.1-python" 90,91d89 < ,("/gnu/store/50vi4ywi79irbg71l814xqkww4k1afh2-python-jaxlib-0.4.20.drv" < ,["out"]) 130,131d127 < ,("/gnu/store/8avai81995rj5h7906nzgyrnrpvqi6if-tensorflow-2.13.1-bazel-deps.tar.xz.drv" < ,["out"]) 135a132,133 > ,("/gnu/store/8jfr297mkpv698d4y1cq270a7f03wyh6-bazel-6.3.2.drv" > ,["out"]) 158,159d155 < ,("/gnu/store/an1hq0y3npd66plwghgnccm4sl7lyvka-bazel-6.3.2.drv" < ,["out"]) 229a226,227 > ,("/gnu/store/g90vfnx128ifhgy0n1zmlscjrn57l8xm-tensorflow-2.13.1-bazel-deps.tar.xz.drv" > ,["out"]) 251a250,251 > ,("/gnu/store/h3zcigb52z7m6yyjl785w3a5ls1cjjc7-python-jax-0.4.20.drv" > ,["out"]) 257a258,259 > ,("/gnu/store/h9m0ix80glph19k4pfqh130nmkil8f39-python-jaxlib-0.4.20.drv" > ,["out"]) 338,339d339 < ,("/gnu/store/lvbjhnrdgl5i5z558b1zpvj4vjqzdm4g-python-jax-0.4.20.drv" < ,["out"]) 519c519 < ,["/gnu/store/r200hqk2jn68qr5wqj6762dpqbns3vqj-tensorflow-2.13.1-builder" --- > ,["/gnu/store/a5pi7l07irynidrfkiw7x44s8angi2fh-tensorflow-2.13.1-builder" 528c528 < ,"/gnu/store/r200hqk2jn68qr5wqj6762dpqbns3vqj-tensorflow-2.13.1-builder"] --- > ,"/gnu/store/a5pi7l07irynidrfkiw7x44s8angi2fh-tensorflow-2.13.1-builder"] 530c530 < ,"/gnu/store/3mq3q11ripx53xg60shbshk7cr470yfx-tensorflow-2.13.1") --- > ,"/gnu/store/yhr2vxh26acz3pzpjlph4f82ffrw6icv-tensorflow-2.13.1") 532c532 < ,"/gnu/store/qc234r07i3ndgrpa0fdkpkbg4d20h7i1-tensorflow-2.13.1-python")]) \ No newline at end of file --- > ,"/gnu/store/fyjpsvfdmkdimd1vx6d99ik01z3x3j93-tensorflow-2.13.1-python")]) \ No newline at end of file --8<---------------cut here---------------end--------------->8--- ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2024-03-27 21:09 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-03-15 9:14 Problem with guix copy Emmanuel Medernach 2024-03-15 9:21 ` Emmanuel Medernach 2024-03-15 13:58 ` Emmanuel Medernach 2024-03-15 14:10 ` Andreas Enge 2024-03-15 14:37 ` Emmanuel Medernach 2024-03-15 14:50 ` Emmanuel Medernach 2024-03-19 10:26 ` Simon Tournier 2024-03-19 15:40 ` Emmanuel Medernach 2024-03-19 15:51 ` Emmanuel Medernach 2024-03-21 22:19 ` Simon Tournier 2024-03-25 10:13 ` Emmanuel Medernach 2024-03-27 13:05 ` Simon Tournier
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).