From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nils Gillmann Subject: Re: developing for guix with git Date: Tue, 02 Feb 2016 22:28:25 +0100 Message-ID: <87egcupzt2.fsf@grrlz.net> References: <87io2eszya.fsf@grrlz.net> <20160128222903.51f615c0@debian-netbook> <878u35bscu.fsf@grrlz.net> <87y4b5ia2y.fsf@elephly.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59352) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aQiUx-00042h-9v for help-guix@gnu.org; Tue, 02 Feb 2016 16:28:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aQiUu-0002vZ-0s for help-guix@gnu.org; Tue, 02 Feb 2016 16:28:31 -0500 Received: from latitanza.investici.org ([2001:888:2000:56::19]:31350) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aQiUt-0002vC-KW for help-guix@gnu.org; Tue, 02 Feb 2016 16:28:27 -0500 In-Reply-To: <87y4b5ia2y.fsf@elephly.net> (Ricardo Wurmus's message of "Mon, 01 Feb 2016 00:49:09 +0100") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org To: Ricardo Wurmus Cc: help-guix@gnu.org Ricardo Wurmus writes: > Nils Gillmann writes: > >> Do you happen to know why guix in the situation I described, >> being on an up to date branch following master refuses to build, >> but once I switch to master branch, make clean, make clean-go (or >> go-clean?) and run make (and the other commands) again it builds >> successfully? This was my initial confusion. > > It=E2=80=99s hard to say without being able to take a look at the state o= f the > branch. It is possible that a change you introduced in your branch > broke things. Maybe you could share error messages? I'll inline all the things here now: Generation 29 Feb 02 2016 13:20:50 (current) rxvt-unicode 9.21 out /gnu/store/2wrafhvqzzqzsks3mxz1lkd37phdaq5p-rxvt-un= icode-9.21 mc 4.8.11 out /gnu/store/8263vk2gf013ryg4hgjwdpln6xfhyfwz-mc-4.8.11 getmail 4.48.0 out /gnu/store/xay7x51ivl6dbk5gy2nd5xrxifwm4v4y-getmail-4.= 48.0 youtube-dl 2016.01.09 out /gnu/store/w53rdk9hs4v4mm2lrdjj15p27fqfdf2m-you= tube-dl-2016.01.09 setxkbmap 1.3.0 out /gnu/store/cnq54ch7vhdm0cbgbgq85lbn7xsxm96i-setxkbmap= -1.3.0 xrdb 1.1.0 out /gnu/store/gfwx3ngj1kp349p62lrls5iismicp2v1-xrdb-1.1.0 tmux 2.1 out /gnu/store/7a5brlhz30scv6hk9pj9nmyxvnjyv6qk-tmux-2.1 torsocks 2.0.0 out /gnu/store/zmy09dkn8d9avv3f6626fw6ch4pp74v2-torsocks-2= .0.0 tor 0.2.7.6 out /gnu/store/rvzq8czssqzrfln7qis7ai734afl4qjp-tor-0.2.7.6 gnurl 7.45.0 out /gnu/store/rdvcazdkm3lf0zzk4nrkmdz34h2nhyfl-gnurl-7.45.0 wget 1.17.1 out /gnu/store/z1vby28dy003jyvidzbbz3n2749ajnp1-wget-1.17.1 icecat 38.5.2-gnu1 out /gnu/store/626i6n86wv224cw5r3a5d81ylsxjwc2m-icecat= -38.5.2-gnu1 alsa-utils 1.0.27.2 out /gnu/store/kmr9vzpm2kbf27mjvamln2j4wzw37bpp-alsa-= utils-1.0.27.2 openssh 7.1p2 out /gnu/store/b5f6p26qc6wxik9xln1igzm3l583k7jf-openssh-7.1= p2 git 2.6.3 out /gnu/store/8rps27mcwn0shmbnlad92ss5xj67xq38-git-2.6.3 font-gnu-freefont-ttf 20100919 out /gnu/store/d8ia7qyyb0s9vlh54ld5nch094a= p5jjb-font-gnu-freefont-ttf-20100919 font-gnu-unifont 8.0.01 out /gnu/store/2dqimxh602s0gpspki8gda5pqpfih0v4-f= ont-gnu-unifont-8.0.01 font-dejavu 2.34 out /gnu/store/7bwkylkasi9y8hgrvhab2vvcf0nkprfh-font-dej= avu-2.34 font-liberation 2.00.1 out /gnu/store/k2ip6g97clhwxqnjhmgxby0wsxx5fixf-fo= nt-liberation-2.00.1 w3m 0.5.3 out /gnu/store/v211k3mj9anryn4c8ywyj63gwzbbr0wz-w3m-0.5.3 gnupg 2.1.10 out /gnu/store/576kah5kcbrvzh8fpr3ngpjijb9fqpwc-gnupg-2.1.10 libreoffice 5.0.3.2 out /gnu/store/dxiy3gbs63v7qp4nz0np1ih8dknjss4r-libre= office-5.0.3.2 autoconf 2.69 out /gnu/store/hnpdjr1m7xa86y2878ca238b10k5dg0s-autoconf-2.= 69 automake 1.15 out /gnu/store/3ry089p6p36ng2l2i7gcdqq5hs8khafy-automake-1.= 15 gettext 0.19.7 out /gnu/store/3iz6asihwkcxj1ldl4qgd57iwmwww9s0-gettext-0.= 19.7 texinfo 6.0 out /gnu/store/m3zf2d3cla6jaj61l2c8nw9iljwl1qz8-texinfo-6.0 graphviz 2.38.0 out /gnu/store/f2kvgjgdknwqchfvjq4jlff0jppj0ryq-graphviz-= 2.38.0 help2man 1.47.3 out /gnu/store/pmvdfp0ql2nzjypiagy1qk9fwi7l2d60-help2man-= 1.47.3 pkg-config 0.29 out /gnu/store/w7c0zs0qgzpnx5k6g19dja55yabk4350-pkg-confi= g-0.29 libgcrypt 1.6.4 out /gnu/store/v1yd1grpqy6ls6m29lvb8fy085cbajj7-libgcrypt= -1.6.4 guile 2.0.11 out /gnu/store/b44k6wx7nxn0kh2kchlazgas2ybc576v-guile-2.0.11 make 4.1 out /gnu/store/vpy992qc1brf3av6ap7si4byq1w5mx2x-make-4.1 guile-json 0.4.0 out /gnu/store/wy4wyxh1jfi0g8afc777p7zvqpwknbqm-guile-js= on-0.4.0 sqlite 3.10.0 out /gnu/store/ks7v9hzvqkf7dnx0dwmlwa2zrdhdzcym-sqlite-3.10= .0 bzip2 1.0.6 out /gnu/store/pnw3jr91sas9w3w9f4vkfr5nn0g8fcr8-bzip2-1.0.6 gcc-toolchain 5.3.0 out /gnu/store/p16a8dv54k35x4a8mqf5k9i1viwvxja7-gcc-t= oolchain-5.3.0 bind-utils 9.10.3-P3 out /gnu/store/x7q7zx4vvsiasgify34ig0mdip0wrynl-bind= -utils-9.10.3-P3 zathura 0.3.3 out /gnu/store/vb87y4g5ciygjhl8jcmnkns6h06pv4ps-zathura-0.3= .3 mpv 0.15.0 out /gnu/store/aywf9b8cnsaqrsgb959v4mbhxiqmzifz-mpv-0.15.0 paredit 24 out /gnu/store/8b4smgyq2v9bcvlymmj6v0pi0n6x62w4-paredit-24 notmuch 0.21 out /gnu/store/z4xc7rlg3v4y8bayfk9xc3i92pnmfqdk-notmuch-0.21 gnunet 0.10.1 out /gnu/store/mllvd1d2mj53x3hg7jhs5ffqhj3az6mg-gnunet-0.10= .1 bbdb 3.1.2 out /gnu/store/fm2gf61awrrn4hinpfz2gwgr633aq02g-bbdb-3.1.2 magit 2.4.0 out /gnu/store/b8yvdq2ggbb350fgi6d4ivknkd3xq2ih-magit-2.4.0 emacs-w3m 1.4.538+0.20141022 out /gnu/store/nxax4hgwbqazja34fd586vxn99d1y= iw9-emacs-w3m-1.4.538+0.20141022 emacs 24.5 out /gnu/store/bx4yz76ja498jkmk90dl8vivpnncnk69-emacs-24.5 geiser 0.8.1 out /gnu/store/cr2265s6dahx5rdxvmhb4v3r3lhf8hzq-geiser-0.8.1 weechat 1.4 out /gnu/store/694qv9c5yb16h5if4vjshnbkyv7pph1d-weechat-1.4 msmtp 1.6.3 out /gnu/store/r1x2h94j0wb09ccvgp3psrccx476ms4l-msmtp-1.6.3 in the environment (git checkout wip-lispf4; make clean; make clean-go; guix environment guix git; ./bootstrap; ./configure --localstatedir=3D/var) all the steps listed succeed, however make: niasterisk@khazad-dum ~/projects/guix_project/guix [env]$ make GEN doc/os-config-bare-bones.texi GEN doc/os-config-desktop.texi GEN nix/libstore/schema.sql.hh make all-recursive make[1]: Entering directory '/home/niasterisk/projects/guix_project/guix' Making all in po/guix make[2]: Entering directory '/home/niasterisk/projects/guix_project/guix/po= /guix' make[2]: Leaving directory '/home/niasterisk/projects/guix_project/guix/po/= guix' Making all in po/packages make[2]: Entering directory '/home/niasterisk/projects/guix_project/guix/po= /packages' make[2]: Leaving directory '/home/niasterisk/projects/guix_project/guix/po/= packages' make[2]: Entering directory '/home/niasterisk/projects/guix_project/guix' CXX nix/boost/format/libformat_a-free_funcs.o CXX nix/boost/format/libformat_a-parsing.o CXX nix/boost/format/libformat_a-format_implementation.o AR libformat.a ar: `u' modifier ignored since `D' is the default (see `U') CXX nix/libutil/libutil_a-archive.o CXX nix/libutil/libutil_a-affinity.o CXX nix/libutil/libutil_a-serialise.o CXX nix/libutil/libutil_a-util.o CXX nix/libutil/libutil_a-xml-writer.o CXX nix/libutil/libutil_a-hash.o CXX nix/libutil/libutil_a-gcrypt-hash.o AR libutil.a ar: `u' modifier ignored since `D' is the default (see `U') CXX nix/libstore/libstore_a-gc.o CXX nix/libstore/libstore_a-globals.o CXX nix/libstore/libstore_a-misc.o CXX nix/libstore/libstore_a-references.o CXX nix/libstore/libstore_a-store-api.o CXX nix/libstore/libstore_a-optimise-store.o CXX nix/libstore/libstore_a-local-store.o CXX nix/libstore/libstore_a-build.o CXX nix/libstore/libstore_a-pathlocks.o CXX nix/libstore/libstore_a-derivations.o AR libstore.a ar: `u' modifier ignored since `D' is the default (see `U') CXX nix/nix-daemon/guix_daemon-nix-daemon.o CXX nix/nix-daemon/guix_daemon-guix-daemon.o CXXLD guix-daemon CXX nix/guix-register/guix_register-guix-register.o CXXLD guix-register Compiling Scheme modules... LOAD (guix base32) LOAD (guix base64) LOAD (guix cpio) LOAD (guix records) LOAD (guix gcrypt) LOAD (guix hash) LOAD (guix pk-crypto) LOAD (guix pki) LOAD (guix utils) LOAD (guix sets) LOAD (guix download) LOAD (guix git-download) LOAD (guix monads) LOAD (guix monad-repl) LOAD (guix gexp) LOAD (guix profiles) LOAD (guix serialization) LOAD (guix nar) LOAD (guix derivations) LOAD (guix gnu-maintenance) LOAD (guix upstream) LOAD (guix licenses) LOAD (guix graph) LOAD (guix cve) LOAD (guix build-system) LOAD (guix build-system cmake) LOAD (guix build-system emacs) LOAD (guix build-system glib-or-gtk) LOAD (guix build-system gnu) LOAD (guix build-system haskell) LOAD (guix build-system perl) LOAD (guix build-system python) LOAD (guix build-system waf) LOAD (guix build-system r) LOAD (guix build-system ruby) LOAD (guix build-system trivial) LOAD (guix ftp-client) LOAD (guix http-client) LOAD (guix gnupg) LOAD (guix elf) LOAD (guix store) LOAD (guix cvs-download) LOAD (guix svn-download) LOAD (guix ui) LOAD (guix build download) LOAD (guix build cmake-build-system) LOAD (guix build emacs-build-system) LOAD (guix build git) LOAD (guix build glib-or-gtk-build-system) LOAD (guix build gnu-build-system) LOAD (guix build gnu-dist) LOAD (guix build perl-build-system) LOAD (guix build python-build-system) LOAD (guix build r-build-system) LOAD (guix build ruby-build-system) LOAD (guix build waf-build-system) LOAD (guix build haskell-build-system) LOAD (guix build store-copy) LOAD (guix build utils) LOAD (guix build union) LOAD (guix build profiles) LOAD (guix build pull) LOAD (guix build rpath) LOAD (guix build cvs) LOAD (guix build svn) LOAD (guix build gremlin) LOAD (guix build emacs-utils) LOAD (guix build graft) LOAD (guix search-paths) LOAD (guix packages) LOAD (guix import utils) LOAD (guix import gnu) LOAD (guix import snix) LOAD (guix import cabal) LOAD (guix import cran) LOAD (guix import hackage) LOAD (guix import elpa) LOAD (guix scripts) LOAD (guix scripts download) LOAD (guix scripts build) LOAD (guix scripts archive) LOAD (guix scripts import) LOAD (guix scripts package) ;;; Failed to autoload canonical-package in (gnu packages base): ;;; ERROR: Unbound variable: git-fetch LOAD (guix scripts gc) LOAD (guix scripts hash) LOAD (guix scripts pull) LOAD (guix scripts substitute) LOAD (guix scripts authenticate) LOAD (guix scripts refresh) Backtrace: In unknown file: ?: 19 [primitive-load-path "guix/scripts/refresh" ...] In ice-9/eval.scm: 505: 18 [# (define-module= # # ...)] In ice-9/psyntax.scm: 1106: 17 [expand-top-sequence ((define-module # # # ...)) () ((top)) ...] 989: 16 [scan ((define-module (guix scripts refresh) #:use-module ...)) ()= ...] 279: 15 [scan ((#(syntax-object let # ...) (#) (# #) ...)) () ...] In ice-9/eval.scm: 411: 14 [eval # ()] In ice-9/boot-9.scm: 2951: 13 [define-module* (guix scripts refresh) #:filename ...] 2926: 12 [resolve-imports (((guix ui)) ((guix hash)) ((guix scripts)) ...)] 2864: 11 [resolve-interface (gnu packages commencement) #:select ...] 2789: 10 [# # ...] 3065: 9 [try-module-autoload (gnu packages commencement) #f] 2401: 8 [save-module-excursion #] 3085: 7 [#] In unknown file: ?: 6 [primitive-load-path "gnu/packages/commencement" ...] In ice-9/eval.scm: 453: 5 [eval # ()] 387: 4 [eval # ()] 387: 3 [eval # #] 387: 2 [eval # #] 393: 1 [eval # #] In unknown file: ?: 0 [memoize-variable-access! # #] ERROR: In procedure memoize-variable-access!: ERROR: Unbound variable: gnu-make Makefile:4704: recipe for target 'make-go' failed make[2]: *** [make-go] Error 1 make[2]: Leaving directory '/home/niasterisk/projects/guix_project/guix' Makefile:3856: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/niasterisk/projects/guix_project/guix' Makefile:2467: recipe for target 'all' failed make: *** [all] Error 2 Those are issues which appear only on the new branch created with 'git checkout -b wip-lispf4' and started working on it to the point where the lispf4 should compile. --ng > >> I might have a thing or 2 to learn about rebasing and branching, but in >> theory from what I know it shouldn't really matter which branch I am >> on unless something's corrupted or broken. > > I think of a branch as a pointer to a some commit in the graph. > Rebasing takes a range of commits and applies the changes they introduce > on top of some other commit. > > When things suddenly break after rebasing the reason is usually in of > two categories: > > * one of your (now relocated) commits broke something > > * after rebasing, master commits that have been added since you first > committed your changes are now part of the history of your commits =E2= =80=94 > maybe these commits altered assumptions that were still valid when you > first committed your changes. An example for this is when a variable > was renamed or moved in a master commit and your commits still use the > old name. > > Sharing some error output with us might help us identify what=E2=80=99s g= oing on > in your case. In any case, you could try bisecting your changes (divide > the set of your commits in half, and see if things are broken at that > commit; then recurse until you find the commit that introduced the cause > for the failure). This works best when you made many small commits. > > I=E2=80=99m using multiple branches for things that take me too long. Fo= r most > developments, however, I=E2=80=99m working in a local =E2=80=9Cwip=E2=80= =9D branch, which is > regularly and in short intervals rebased onto master. > > ~~ Ricardo > --=20 ng/ni* vcard: http://krosos.sdf.org