unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* GLib: GIO's tests fail
@ 2012-12-31  1:12 Nikita Karetnikov
  2013-01-01 23:11 ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Nikita Karetnikov @ 2012-12-31  1:12 UTC (permalink / raw
  To: bug-guix


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

Hi,

This patch fails with the following error. How to fix it?

# ./pre-inst-env guix-build -K glib

[...]

make[4]: Leaving directory `/tmp/nix-build-42h90wr1l80ladc410a69gmdp7r2hwrw-glib-2.34.drv-1/glib-2.34.3/gio'
Making all in tests
XMLLINT not set and xmllint not found in path; skipping xml preprocessing.
XMLLINT not set and xmllint not found in path; skipping xml preprocessing.
XMLLINT not set and xmllint not found in path; skipping xml preprocessing.
XMLLINT not set and xmllint not found in path; skipping xml preprocessing.
make[4]: Entering directory `/tmp/nix-build-42h90wr1l80ladc410a69gmdp7r2hwrw-glib-2.34.drv-1/glib-2.34.3/gio/tests'
  GEN      gdbus-test-codegen-generated.c
  GEN      gdbus-test-codegen-generated.h
/bin/sh: /usr/bin/env: No such file or directory
/bin/sh: /usr/bin/env: No such file or directory
make[4]: *** [gdbus-test-codegen-generated.c] Error 127
make[4]: *** Waiting for unfinished jobs....
make[4]: *** [gdbus-test-codegen-generated.h] Error 127
  GEN      test_resources.c
  GEN      test_resources2.c
XMLLINT not set and xmllint not found in path; skipping xml preprocessing.
XMLLINT not set and xmllint not found in path; skipping xml preprocessing.
make[4]: Leaving directory `/tmp/nix-build-42h90wr1l80ladc410a69gmdp7r2hwrw-glib-2.34.drv-1/glib-2.34.3/gio/tests'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/tmp/nix-build-42h90wr1l80ladc410a69gmdp7r2hwrw-glib-2.34.drv-1/glib-2.34.3/gio'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/tmp/nix-build-42h90wr1l80ladc410a69gmdp7r2hwrw-glib-2.34.drv-1/glib-2.34.3/gio'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/nix-build-42h90wr1l80ladc410a69gmdp7r2hwrw-glib-2.34.drv-1/glib-2.34.3'
make: *** [all] Error 2
note: keeping build directory `/tmp/nix-build-42h90wr1l80ladc410a69gmdp7r2hwrw-glib-2.34.drv-1'
builder for `/nix/store/42h90wr1l80ladc410a69gmdp7r2hwrw-glib-2.34.drv' failed with exit code 1
@ build-failed /nix/store/42h90wr1l80ladc410a69gmdp7r2hwrw-glib-2.34.drv /nix/store/lbs36489dqi0b16ag71i6b37whgyv0q2-glib-2.34 1 builder for `/nix/store/42h90wr1l80ladc410a69gmdp7r2hwrw-glib-2.34.drv' failed with exit code 1
error: build failed: build of `/nix/store/42h90wr1l80ladc410a69gmdp7r2hwrw-glib-2.34.drv' failed

Does it fail because of the absolute file name?

There are no comments about 'tests?' because the build fails before them.

Nikita


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-distro-Add-GLib.patch --]
[-- Type: text/x-diff, Size: 3601 bytes --]

From 8850ce6405111a4307f13ad33e2047897c07d618 Mon Sep 17 00:00:00 2001
From: Nikita Karetnikov <nikita@karetnikov.org>
Date: Mon, 31 Dec 2012 00:29:48 +0000
Subject: [PATCH] distro: Add GLib.

* distro/packages/glib.scm: New file.
* Makefile.am (MODULES): Add it.
---
 Makefile.am              |    1 +
 distro/packages/glib.scm |   59 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+), 0 deletions(-)
 create mode 100644 distro/packages/glib.scm

diff --git a/Makefile.am b/Makefile.am
index 30bf3f4..8597269 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -61,6 +61,7 @@ MODULES =					\
   distro/packages/gawk.scm			\
   distro/packages/gdbm.scm			\
   distro/packages/gettext.scm			\
+  distro/packages/glib.scm			\
   distro/packages/gnupg.scm			\
   distro/packages/gnutls.scm			\
   distro/packages/gperf.scm			\
diff --git a/distro/packages/glib.scm b/distro/packages/glib.scm
new file mode 100644
index 0000000..00e75cd
--- /dev/null
+++ b/distro/packages/glib.scm
@@ -0,0 +1,59 @@
+;;; Guix --- Nix package management from Guile.         -*- coding: utf-8 -*-
+;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;;
+;;; This file is part of Guix.
+;;;
+;;; Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (distro packages glib)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (distro packages base)
+  #:use-module ((distro packages compression)
+                #:renamer (symbol-prefix-proc 'guix:))
+  #:use-module ((distro packages gettext)
+                #:renamer (symbol-prefix-proc 'guix:))
+  #:use-module (distro packages libffi)
+  #:use-module (distro packages pkg-config))
+
+(define-public glib
+  (package
+   (name "glib")
+   (version "2.34")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append "http://ftp.gnome.org/pub/gnome/sources/"
+                                name "/" version "/"
+                                name "-" version ".3" ".tar.xz"))
+            (sha256
+             (base32 "19sq4rhl2vr8ikjvl8qh51vr38yqfhbkb3imi2s6ac5rgkwcnpw5"))))
+   (build-system gnu-build-system)
+   (inputs
+    `(("coreutils" ,coreutils)
+      ("gettext" ,guix:gettext)
+      ("libffi" ,libffi)
+      ("pkg-config" ,pkg-config)
+      ("zlib" ,guix:zlib)))
+   ;; 'gio/tests/gdbus-test-codegen-generated.c' refers to '/usr/bin/env'.
+   (arguments `(#:tests? #f))
+   (synopsis
+    "GLib, a library that provides the core application building blocks")
+   (description
+    "GLib provides data structure handling for C, portability wrappers,
+and interfaces for such runtime functionality as an event loop, threads,
+dynamic loading, and an object system.")
+   (home-page "http://developer.gnome.org/glib/")
+   (license lgpl2.0+))) ; some files are under lgpl2.1+
-- 
1.7.5.4


[-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --]

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

* Re: GLib: GIO's tests fail
  2012-12-31  1:12 GLib: GIO's tests fail Nikita Karetnikov
@ 2013-01-01 23:11 ` Ludovic Courtès
  2013-01-05  3:11   ` Nikita Karetnikov
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2013-01-01 23:11 UTC (permalink / raw
  To: Nikita Karetnikov; +Cc: bug-guix

Hi,

Nikita Karetnikov <nikita@karetnikov.org> skribis:

> This patch fails with the following error. How to fix it?
>
> # ./pre-inst-env guix-build -K glib

[...]

>   GEN      gdbus-test-codegen-generated.h
> /bin/sh: /usr/bin/env: No such file or directory

You would need to add a phase to do:

  (patch-shebang "the/faulty/file")

That would change /usr/bin/env to /nix/store/xxx/bin/env.

In ‘core-updates’ this is done automatically on all files right after
‘unpack’, though.

Thanks,
Ludo’.

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

* Re: GLib: GIO's tests fail
  2013-01-01 23:11 ` Ludovic Courtès
@ 2013-01-05  3:11   ` Nikita Karetnikov
  2013-01-05 15:27     ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Nikita Karetnikov @ 2013-01-05  3:11 UTC (permalink / raw
  To: Ludovic Courtès; +Cc: bug-guix

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

> You would need to add a phase to do:

>   (patch-shebang "the/faulty/file")

> That would change /usr/bin/env to /nix/store/xxx/bin/env.

The problem is that I haven't found any references to '/usr/bin/env' in
those files. I tried the following anyway, but it didn't work out.

  (arguments '(#:phases
               (alist-cons-before
                'build 'patch-/usr/bin/env
                (lambda _
                  (for-each patch-shebang
                            '("gio/tests/gdbus-test-codegen-generated.c"
                              "gio/tests/gdbus-test-codegen-generated.h")))
                %standard-phases)))

Nikita




[-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --]

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

* Re: GLib: GIO's tests fail
  2013-01-05  3:11   ` Nikita Karetnikov
@ 2013-01-05 15:27     ` Ludovic Courtès
  2013-01-07 18:47       ` Nikita Karetnikov
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2013-01-05 15:27 UTC (permalink / raw
  To: Nikita Karetnikov; +Cc: bug-guix

Hi,

Nikita Karetnikov <nikita@karetnikov.org> skribis:

>> You would need to add a phase to do:
>
>>   (patch-shebang "the/faulty/file")
>
>> That would change /usr/bin/env to /nix/store/xxx/bin/env.
>
> The problem is that I haven't found any references to '/usr/bin/env' in
> those files.

Well, there must be one somewhere.  Did you run “grep -r /usr/bin/env”
in the source?

If it’s not in GLib, then maybe it’s in a script that GLib invokes.  It
should be possible to find out using strace or something similar.

HTH,
Ludo’.

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

* Re: GLib: GIO's tests fail
  2013-01-05 15:27     ` Ludovic Courtès
@ 2013-01-07 18:47       ` Nikita Karetnikov
  2013-01-07 21:01         ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Nikita Karetnikov @ 2013-01-07 18:47 UTC (permalink / raw
  To: Ludovic Courtès; +Cc: bug-guix

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

Hi,

I removed '#:phases' from 'arguments' and added '#:configure-flags':

  (arguments `(#:configure-flags '("--disable-modular-tests"
                                   "--disable-rebuilds")))

Now './pre-inst-env guix-build -K glib' fails with the following errors:

/tmp/nix-build-2ihs5vivxkm0b7v6p7g5h6pqrwz3c1fj-glib-2.34.drv-2/glib-2.34.3/libtool: line 1102: ldconfig: command not found

[...]

/bin/sh: line 19: python2.5: command not found
make[4]: *** [install-codegenPYTHON] Error 127
make[4]: Leaving directory `/tmp/nix-build-2ihs5vivxkm0b7v6p7g5h6pqrwz3c1fj-glib-2.34.drv-2/glib-2.34.3/gio/gdbus-2.0/codegen'
make[3]: *** [install-am] Error 2
make[3]: Leaving directory `/tmp/nix-build-2ihs5vivxkm0b7v6p7g5h6pqrwz3c1fj-glib-2.34.drv-2/glib-2.34.3/gio/gdbus-2.0/codegen'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/tmp/nix-build-2ihs5vivxkm0b7v6p7g5h6pqrwz3c1fj-glib-2.34.drv-2/glib-2.34.3/gio'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/tmp/nix-build-2ihs5vivxkm0b7v6p7g5h6pqrwz3c1fj-glib-2.34.drv-2/glib-2.34.3/gio'
make: *** [install-recursive] Error 1

AFAICT, the problem is the lack of 'python' in Guix.

Here is a corresponding snippet from Nixpkgs:

# * Make it build without python
#     Problem: an example (test?) program needs it.
#     Possible solution: disable compilation of this example somehow
#     Reminder: add 'sed -e 's@python2\.[0-9]@python@' -i
#       $out/bin/gtester-report' to postInstall if this is solved

  buildNativeInputs = [ perl pkgconfig gettext python ];

Is it possible to solve this without 'python'?

Nikita

[-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --]

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

* Re: GLib: GIO's tests fail
  2013-01-07 18:47       ` Nikita Karetnikov
@ 2013-01-07 21:01         ` Ludovic Courtès
  0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2013-01-07 21:01 UTC (permalink / raw
  To: Nikita Karetnikov; +Cc: bug-guix

Hi Nikita,

Nikita Karetnikov <nikita@karetnikov.org> skribis:

> I removed '#:phases' from 'arguments' and added '#:configure-flags':
>
>   (arguments `(#:configure-flags '("--disable-modular-tests"
>                                    "--disable-rebuilds")))

I guess this disables parts of the test suite.  That’s OK as a first
stab, but eventually we may want to actually fix the problem.  ;-)

> /bin/sh: line 19: python2.5: command not found
> make[4]: *** [install-codegenPYTHON] Error 127

[...]

> AFAICT, the problem is the lack of 'python' in Guix.

Indeed.

> Here is a corresponding snippet from Nixpkgs:
>
> # * Make it build without python
> #     Problem: an example (test?) program needs it.
> #     Possible solution: disable compilation of this example somehow
> #     Reminder: add 'sed -e 's@python2\.[0-9]@python@' -i
> #       $out/bin/gtester-report' to postInstall if this is solved
>
>   buildNativeInputs = [ perl pkgconfig gettext python ];
>
> Is it possible to solve this without 'python'?

Is there a --disable-python switch or something?  If not, you could
check whether it’s just a tiny little thing that needs to be patched to
avoid the dependency.

Or...  you can add a package for Python.  :-)

Thanks,
Ludo’.

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

end of thread, other threads:[~2013-01-07 21:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-31  1:12 GLib: GIO's tests fail Nikita Karetnikov
2013-01-01 23:11 ` Ludovic Courtès
2013-01-05  3:11   ` Nikita Karetnikov
2013-01-05 15:27     ` Ludovic Courtès
2013-01-07 18:47       ` Nikita Karetnikov
2013-01-07 21:01         ` 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).