unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* daemon: No rule to make target `nix/libstore/schema.sql'
@ 2012-12-11 11:55 Nikita Karetnikov
  2012-12-13 21:20 ` Ludovic Courtès
  0 siblings, 1 reply; 9+ messages in thread
From: Nikita Karetnikov @ 2012-12-11 11:55 UTC (permalink / raw)
  To: bug-guix

Hi,

(This is a follow-up to this message. [1])

>> Also, how should I use it? It's in the
>> 'remotes/origin/nix-integration' branch and I have to work in the
>> 'master' branch.

> Yeah, I hope to merge that branch soon.

You misunderstood my question. I wanted to know how to use it instead
of 'nix-worker --daemon'. Is it possible?

> Did you run ‘./bootstrap’ or ‘./nix/sync-with-upstream’?

Yes, I did.

# git checkout remotes/origin/nix-integration

# autoreconf -vfi
autoreconf: Entering directory `.'
autoreconf: running: autopoint --force
Copying file ABOUT-NLS
Copying file build-aux/config.rpath
Copying file m4/codeset.m4
Copying file m4/fcntl-o.m4
Copying file m4/gettext.m4
Copying file m4/glibc2.m4
Copying file m4/glibc21.m4
Copying file m4/iconv.m4
Copying file m4/intdiv0.m4
Copying file m4/intl.m4
Copying file m4/intldir.m4
Copying file m4/intlmacosx.m4
Copying file m4/intmax.m4
Copying file m4/inttypes-pri.m4
Copying file m4/inttypes_h.m4
Copying file m4/lcmessage.m4
Copying file m4/lib-ld.m4
Copying file m4/lib-link.m4
Copying file m4/lib-prefix.m4
Copying file m4/lock.m4
Copying file m4/longlong.m4
Copying file m4/nls.m4
Copying file m4/po.m4
Copying file m4/printf-posix.m4
Copying file m4/progtest.m4
Copying file m4/size_max.m4
Copying file m4/stdint_h.m4
Copying file m4/threadlib.m4
Copying file m4/uintmax_t.m4
Copying file m4/visibility.m4
Copying file m4/wchar_t.m4
Copying file m4/wint_t.m4
Copying file m4/xsize.m4
Copying file po/Makefile.in.in
Copying file po/Makevars.template
Copying file po/Rules-quot
Copying file po/boldquot.sed
Copying file po/en@boldquot.header
Copying file po/en@quot.header
Copying file po/insert-header.sin
Copying file po/quot.sed
Copying file po/remove-potcdate.sin
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:18: installing `build-aux/config.guess'
configure.ac:18: installing `build-aux/config.sub'
configure.ac:9: installing `build-aux/install-sh'
configure.ac:9: installing `build-aux/missing'
Makefile.am: installing `./INSTALL'
Makefile.am: installing `build-aux/depcomp'
Makefile.am:232: installing `build-aux/mdate-sh'
Makefile.am:232: installing `build-aux/texinfo.tex'
autoreconf: Leaving directory `.'

# ./bootstrap
+ top_srcdir=/home/guix-savannah
+ export top_srcdir
+ '[' '!' -d nix-upstream ']'
+ git submodule update
+ exec autoreconf -vfi
autoreconf: Entering directory `.'
autoreconf: running: autopoint --force
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
autoreconf: Leaving directory `.'

# ./configure --enable-daemon
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for ld used by GCC... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GUILE... yes
checking for guile... /usr/local/bin/guile
checking for guild... /usr/local/bin/guild
checking for nix-instantiate... /usr/local/bin/nix-instantiate
checking for nix-hash... /usr/local/bin/nix-hash
checking for Nixpkgs source tree... not found
checking for libgcrypt shared library name... libgcrypt
checking for guile... (cached) /usr/local/bin/guile
checking for guile-config... /usr/local/bin/guile-config
checking for guile-tools... /usr/local/bin/guile-tools
checking whether libgcrypt can be dynamically loaded... yes
checking whether to build daemon... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for ranlib... ranlib
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking for BZ2_bzWriteOpen in -lbz2... yes
checking bzlib.h usability... yes
checking bzlib.h presence... yes
checking for bzlib.h... yes
checking for SQLITE3... yes
checking for gcry_md_open in -lgcrypt... yes
checking gcrypt.h usability... yes
checking gcrypt.h presence... yes
checking for gcrypt.h... yes
checking for chroot... yes
checking for unshare... yes
checking sched.h usability... yes
checking sched.h presence... yes
checking for sched.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/mount.h usability... yes
checking sys/mount.h presence... yes
checking for sys/mount.h... yes
checking for lutimes... yes
checking whether it is possible to create a link to a symlink... yes
checking how to run the C++ preprocessor... g++ -E
checking locale usability... yes
checking locale presence... yes
checking for locale... yes
checking sys/personality.h usability... yes
checking sys/personality.h presence... yes
checking for sys/personality.h... yes
checking linux/fs.h usability... yes
checking linux/fs.h presence... yes
checking for linux/fs.h... yes
checking for unit test root... /home/guix-savannah/test-tmp
configure: creating ./config.status
config.status: creating nix/scripts/list-runtime-roots
config.status: creating Makefile
config.status: creating po/Makefile.in
config.status: creating guix/config.scm
config.status: creating guix-build
config.status: creating guix-download
config.status: creating guix-import
config.status: creating guix-package
config.status: creating pre-inst-env
config.status: creating test-env
config.status: creating nix/config.h
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
config.status: executing commands-exec commands

# ./nix/sync-with-upstream
sync-with-upstream: `..' is not the valid top-level source directory

# cd nix
# ./sync-with-upstream
./sync-with-upstream: line 62: cd: ../nix-upstream/src: No such file
or directory
cp: cannot stat `../nix-upstream/COPYING': No such file or directory
cp: cannot stat `../nix-upstream/AUTHORS': No such file or directory

# cd - && make
/home/guix-savannah
make: *** No rule to make target `nix/libstore/schema.sql', needed by
`nix/libstore/schema.sql.hh'.  Stop.

Nikita

[1] https://lists.gnu.org/archive/html/bug-guix/2012-12/msg00062.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: daemon: No rule to make target `nix/libstore/schema.sql'
  2012-12-11 11:55 daemon: No rule to make target `nix/libstore/schema.sql' Nikita Karetnikov
@ 2012-12-13 21:20 ` Ludovic Courtès
  2012-12-13 21:56   ` Andreas Enge
  0 siblings, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2012-12-13 21:20 UTC (permalink / raw)
  To: Nikita Karetnikov; +Cc: bug-guix

Hi,

Nikita Karetnikov <nikita.karetnikov@gmail.com> skribis:

>>> Also, how should I use it? It's in the
>>> 'remotes/origin/nix-integration' branch and I have to work in the
>>> 'master' branch.
>
>> Yeah, I hope to merge that branch soon.

Done.  :-)

> You misunderstood my question. I wanted to know how to use it instead
> of 'nix-worker --daemon'. Is it possible?

Now there’s a ‘guix-daemon’ binary that gets built.  Unlike
‘nix-daemon’, it does not check for nix.conf, and expects options to be
passed on the command-line.

>> Did you run ‘./bootstrap’ or ‘./nix/sync-with-upstream’?
>
> Yes, I did.
>
> # git checkout remotes/origin/nix-integration
>
> # autoreconf -vfi

You must run ‘./bootstrap’ before anything else.  It will take care of
running autoreconf.

> # cd nix
> # ./sync-with-upstream
> ./sync-with-upstream: line 62: cd: ../nix-upstream/src: No such file
> or directory

This is a sign that ‘nix-upstream’ did not get populated by
‘./bootstrap’ (which just does ‘git submodule update’.)

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: daemon: No rule to make target `nix/libstore/schema.sql'
  2012-12-13 21:20 ` Ludovic Courtès
@ 2012-12-13 21:56   ` Andreas Enge
  2012-12-13 22:19     ` Andreas Enge
  2012-12-13 22:55     ` Ludovic Courtès
  0 siblings, 2 replies; 9+ messages in thread
From: Andreas Enge @ 2012-12-13 21:56 UTC (permalink / raw)
  To: bug-guix

[-- Attachment #1: Type: text/plain, Size: 1892 bytes --]

Am Donnerstag, 13. Dezember 2012 schrieb Ludovic Courtès:
> You must run ‘./bootstrap’ before anything else.  It will take care of
> running autoreconf.
> > # cd nix
> > # ./sync-with-upstream

When just running ./bootstrap, I also get the "no rule to make target".
Should not the bootstrap script also execute the
   cd nix; ./sync-with-upstream
commands?

This one actually ends with
   cp: cannot stat `../nix-upstream/{COPYING,AUTHORS}': No such file or 
directory.

Nevertheless, "make install" succeeds.


Then I start
   guix-daemon --build-users-group=nixbld

The command
   ./pre-inst-env guix-build hello
fails with

Backtrace:
In ice-9/boot-9.scm:
 149: 12 [catch #t #<catch-closure e18240> ...]
 157: 11 [#<procedure db60f0 ()>]
In unknown file:
   ?: 10 [catch-closure]
In ice-9/boot-9.scm:
  63: 9 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 407: 8 [eval # #]
In unknown file:
   ?: 7 [call-with-input-string "(apply (module-ref (resolve-interface 
'(guix-build)) 'guix-build) (cdr (command-line)))" ...]
In ice-9/command-line.scm:
 174: 6 [#<procedure d254a0 at ice-9/command-line.scm:169:3 (port)> 
#<input: string 155e680>]
In unknown file:
   ?: 5 [eval (apply (module-ref # #) (cdr #)) #<directory (guile-user) 
e1dd80>]
In ice-9/boot-9.scm:
 149: 4 [catch srfi-34 #<procedure f2a1a0 at guix/ui.scm:61:2 ()> ...]
 157: 3 [#<procedure 1941aa0 ()>]
In guix-build:
 201: 2 [#<procedure f2a1c0 at guix-build:199:2 ()>]
In guix/store.scm:
 319: 1 [open-connection "/usr/local/guix-git/var/daemon-socket/socket" # 
#t]
In unknown file:
   ?: 0 [connect #<input-output: socket 6> # #<undefined>]

ERROR: In procedure connect:
ERROR: In procedure connect: No such file or directory

Actually, there is only a file
   /usr/local/guix-git/var/nix/daemon-socket/socket
(notice the additional "nix").

Andreas

[-- Attachment #2: Type: text/html, Size: 10816 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: daemon: No rule to make target `nix/libstore/schema.sql'
  2012-12-13 21:56   ` Andreas Enge
@ 2012-12-13 22:19     ` Andreas Enge
  2012-12-13 22:55     ` Ludovic Courtès
  1 sibling, 0 replies; 9+ messages in thread
From: Andreas Enge @ 2012-12-13 22:19 UTC (permalink / raw)
  To: bug-guix

[-- Attachment #1: Type: text/plain, Size: 356 bytes --]

Am Donnerstag, 13. Dezember 2012 schrieb Andreas Enge:
> In unknown file:
>    ?: 0 [connect #<input-output: socket 6> # #<undefined>]
> ERROR: In procedure connect:
> ERROR: In procedure connect: No such file or directory

This also happens in
   guix-package --help
   guix-package --version
Maybe these could do without connection to a daemon?

Andreas

[-- Attachment #2: Type: text/html, Size: 2584 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: daemon: No rule to make target `nix/libstore/schema.sql'
  2012-12-13 21:56   ` Andreas Enge
  2012-12-13 22:19     ` Andreas Enge
@ 2012-12-13 22:55     ` Ludovic Courtès
  2012-12-13 23:05       ` Andreas Enge
  1 sibling, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2012-12-13 22:55 UTC (permalink / raw)
  To: Andreas Enge; +Cc: bug-guix

Andreas Enge <andreas@enge.fr> skribis:

> Am Donnerstag, 13. Dezember 2012 schrieb Ludovic Courtès:
>> You must run ‘./bootstrap’ before anything else.  It will take care of
>> running autoreconf.
>> > # cd nix
>> > # ./sync-with-upstream
>
> When just running ./bootstrap, I also get the "no rule to make target".
> Should not the bootstrap script also execute the
>    cd nix; ./sync-with-upstream
> commands?

Oops, indeed.

> This one actually ends with
>    cp: cannot stat `../nix-upstream/{COPYING,AUTHORS}': No such file or 
> directory.

That’s because the Git submodule wasn’t actually initialized.

Commit e2a06dd should fix it.

> In guix/store.scm:
>  319: 1 [open-connection "/usr/local/guix-git/var/daemon-socket/socket" # 
> #t]
> In unknown file:
>    ?: 0 [connect #<input-output: socket 6> # #<undefined>]
>
> ERROR: In procedure connect:
> ERROR: In procedure connect: No such file or directory
>
> Actually, there is only a file
>    /usr/local/guix-git/var/nix/daemon-socket/socket
> (notice the additional "nix").

Good catch.  Commit 7f4f065 fixes it.

Thanks for the quick feedback!

Ludo’.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: daemon: No rule to make target `nix/libstore/schema.sql'
  2012-12-13 22:55     ` Ludovic Courtès
@ 2012-12-13 23:05       ` Andreas Enge
  2012-12-14  9:52         ` Ludovic Courtès
  0 siblings, 1 reply; 9+ messages in thread
From: Andreas Enge @ 2012-12-13 23:05 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: bug-guix

[-- Attachment #1: Type: text/plain, Size: 432 bytes --]

Am Donnerstag, 13. Dezember 2012 schrieb Ludovic Courtès:
> Andreas Enge <andreas@enge.fr> skribis:
> >    cp: cannot stat `../nix-upstream/{COPYING,AUTHORS}': No such file
> >    or
> > directory.
> 
> That’s because the Git submodule wasn’t actually initialized.
> Commit e2a06dd should fix it.

No, the problem is still there; and now it stops the bootstrap script,
so that autoreconf is not executed.

Andreas

[-- Attachment #2: Type: text/html, Size: 2817 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: daemon: No rule to make target `nix/libstore/schema.sql'
  2012-12-13 23:05       ` Andreas Enge
@ 2012-12-14  9:52         ` Ludovic Courtès
  2012-12-14 10:50           ` Andreas Enge
  0 siblings, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2012-12-14  9:52 UTC (permalink / raw)
  To: Andreas Enge; +Cc: bug-guix

Hi,

Andreas Enge <andreas@enge.fr> skribis:

> Am Donnerstag, 13. Dezember 2012 schrieb Ludovic Courtès:
>> Andreas Enge <andreas@enge.fr> skribis:
>> >    cp: cannot stat `../nix-upstream/{COPYING,AUTHORS}': No such file
>> >    or
>> > directory.
>> 
>> That’s because the Git submodule wasn’t actually initialized.
>> Commit e2a06dd should fix it.
>
> No, the problem is still there; and now it stops the bootstrap script,
> so that autoreconf is not executed.

Hmm, can you run ‘git submodule init && git submodule update’ from the
top level, and check whether nix-upstream/{COPYING,AUTHORS} appear?

Seems to work well on Hydra: <http://hydra.nixos.org/build/3490840/log/raw>.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: daemon: No rule to make target `nix/libstore/schema.sql'
  2012-12-14  9:52         ` Ludovic Courtès
@ 2012-12-14 10:50           ` Andreas Enge
  2012-12-14 21:12             ` Ludovic Courtès
  0 siblings, 1 reply; 9+ messages in thread
From: Andreas Enge @ 2012-12-14 10:50 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: bug-guix


[-- Attachment #1.1: Type: text/plain, Size: 375 bytes --]

Am Freitag, 14. Dezember 2012 schrieb Ludovic Courtès:
> Hmm, can you run ‘git submodule init && git submodule update’ from the
> top level, and check whether nix-upstream/{COPYING,AUTHORS} appear?

The files are there, but the brace expansion in the script is a bashism
that does not work under debain /bin/sh (which is dash).
Trivial patch attached.

Andreas

[-- Attachment #1.2: Type: text/html, Size: 2174 bytes --]

[-- Attachment #2: 0003-nix-sync-with-upstream-fix-bashism.patch --]
[-- Type: text/x-patch, Size: 781 bytes --]

From 84ca150413d500760a85d5071a77c4fb025b1312 Mon Sep 17 00:00:00 2001
From: Andreas Enge <andreas@enge.fr>
Date: Fri, 14 Dec 2012 11:47:09 +0100
Subject: [PATCH 3/3]     * nix/sync-with-upstream: fix bashism

---
 nix/sync-with-upstream |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/nix/sync-with-upstream b/nix/sync-with-upstream
index 69bd1fb..1f11fd7 100755
--- a/nix/sync-with-upstream
+++ b/nix/sync-with-upstream
@@ -61,7 +61,8 @@ do
     fi
 done
 
-cp -v "$top_srcdir/nix-upstream/"{COPYING,AUTHORS} "$top_srcdir/nix"
+cp -v "$top_srcdir/nix-upstream/COPYING" "$top_srcdir/nix"
+cp -v "$top_srcdir/nix-upstream/AUTHORS" "$top_srcdir/nix"
 
 # Substitutions.
 sed -i "$top_srcdir/nix/libstore/gc.cc"					\
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: daemon: No rule to make target `nix/libstore/schema.sql'
  2012-12-14 10:50           ` Andreas Enge
@ 2012-12-14 21:12             ` Ludovic Courtès
  0 siblings, 0 replies; 9+ messages in thread
From: Ludovic Courtès @ 2012-12-14 21:12 UTC (permalink / raw)
  To: Andreas Enge; +Cc: bug-guix

Andreas Enge <andreas@enge.fr> skribis:

> The files are there, but the brace expansion in the script is a bashism
> that does not work under debain /bin/sh (which is dash).
> Trivial patch attached.

Applied, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-12-14 21:13 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-11 11:55 daemon: No rule to make target `nix/libstore/schema.sql' Nikita Karetnikov
2012-12-13 21:20 ` Ludovic Courtès
2012-12-13 21:56   ` Andreas Enge
2012-12-13 22:19     ` Andreas Enge
2012-12-13 22:55     ` Ludovic Courtès
2012-12-13 23:05       ` Andreas Enge
2012-12-14  9:52         ` Ludovic Courtès
2012-12-14 10:50           ` Andreas Enge
2012-12-14 21:12             ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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).