unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Re: File not found during package build
@ 2021-07-24 21:52 Sarah Morgensen
  2021-07-25 19:09 ` phodina
  0 siblings, 1 reply; 4+ messages in thread
From: Sarah Morgensen @ 2021-07-24 21:52 UTC (permalink / raw)
  To: phodina; +Cc: help-guix@gnu.org

Hello,

phodina <phodina@protonmail.com> writes:

> Hi All,
>
> during package build in the phase `check` I get a strange error regarding file not found.
>
> The file in question is an executable script within the directory.
>
> It must be present there as the chmod operation succeeds.
> However, invocation of make then fails as it can't find the script.
>
> phase `build' succeeded after 0.1 seconds
> starting phase `check'
> make: Entering directory '/tmp/guix-build-novaboot-20210126a.drv-0/source/tests'
> ./wvtool runall ./novaboot.wv ./parser.wv ./expect.wv ./server.wv ./uboot.wv
> make: ./wvtool: No such file or directory
> make: *** [Makefile:6: all] Error 127

The issue here is that wvtool begins with the shebang

  #!/usr/bin/env python3

so you'll need python in native-inputs.

>
> ---
> (define-public novaboot
> (package
>   (name "novaboot")
>   (version "20210126a")
>   (source (origin
>             (method git-fetch)
>             (uri
> 	      (git-reference
> 		(url "https://github.com/wentasah/novaboot")
> 		(commit version)))
>             (sha256
>              (base32
>               "1xwgxpngjp345fg4xmacyxm21wqvx4h6n6b51wnvivvzjj9vga4z"))))
>   (build-system gnu-build-system)
>   (inputs `(("perl" ,perl) ("perl-expect" ,perl-expect)))
>   (arguments
>     '(#:phases (modify-phases %standard-phases
> 		(delete 'configure)
> 		 (add-before 'build 'set-prefix-in-makefile
>                     (lambda* (#:key outputs #:allow-other-keys)
>                      (let ((out (assoc-ref outputs "out")))
>                         (substitute* "Makefile"
>                           (("PREFIX=.*")
>                            (string-append "PREFIX="
>                                            "\n")))
> 			(substitute* "Makefile"
> 				     (("DESTDIR=.*")
> 				      (string-append "DESTDIR=" out "\n"))))
> 		      ))
> 		 (replace 'check
> 			     (lambda* (#:key outputs #:allow-other-keys)
> 				      (chdir "tests")
> 				     (chmod "wvtool" #o555)
> 				     (invoke "make"))))))

Also, the main Makefile has a 'test' target so you can just use

  #:test-target "test"

in arguments rather than replacing the check phase.

>   (synopsis "A tool that automates booting of operating systems on target hardware or in qemu")
>   (description "Novaboot is a tool that automates booting of operating systems on target hardware (typically embedded boards) or in Qemu. Initially, it was developed to boot NOVA Microhypervisor (hence the name), but nowadays is well suited for booting Linux (and perhaps other OSes) too.")
>   (home-page "https://github.com/wentasah/novaboot")
>   (license license:gpl2)))

Hope that helps,
Sarah


^ permalink raw reply	[flat|nested] 4+ messages in thread
* File not found during package build
@ 2021-07-24 18:32 phodina
  2021-08-18 14:41 ` zimoun
  0 siblings, 1 reply; 4+ messages in thread
From: phodina @ 2021-07-24 18:32 UTC (permalink / raw)
  To: help-guix@gnu.org

Hi All,

during package build in the phase `check` I get a strange error regarding file not found.

The file in question is an executable script within the directory.

It must be present there as the chmod operation succeeds.
However, invocation of make then fails as it can't find the script.

phase `build' succeeded after 0.1 seconds
starting phase `check'
make: Entering directory '/tmp/guix-build-novaboot-20210126a.drv-0/source/tests'
./wvtool runall ./novaboot.wv ./parser.wv ./expect.wv ./server.wv ./uboot.wv
make: ./wvtool: No such file or directory
make: *** [Makefile:6: all] Error 127

---
(define-public novaboot
(package
  (name "novaboot")
  (version "20210126a")
  (source (origin
            (method git-fetch)
            (uri
	      (git-reference
		(url "https://github.com/wentasah/novaboot")
		(commit version)))
            (sha256
             (base32
              "1xwgxpngjp345fg4xmacyxm21wqvx4h6n6b51wnvivvzjj9vga4z"))))
  (build-system gnu-build-system)
  (inputs `(("perl" ,perl) ("perl-expect" ,perl-expect)))
  (arguments
    '(#:phases (modify-phases %standard-phases
		(delete 'configure)
		 (add-before 'build 'set-prefix-in-makefile
                    (lambda* (#:key outputs #:allow-other-keys)
                     (let ((out (assoc-ref outputs "out")))
                        (substitute* "Makefile"
                          (("PREFIX=.*")
                           (string-append "PREFIX="
                                           "\n")))
			(substitute* "Makefile"
				     (("DESTDIR=.*")
				      (string-append "DESTDIR=" out "\n"))))
		      ))
		 (replace 'check
			     (lambda* (#:key outputs #:allow-other-keys)
				      (chdir "tests")
				     (chmod "wvtool" #o555)
				     (invoke "make"))))))
  (synopsis "A tool that automates booting of operating systems on target hardware or in qemu")
  (description "Novaboot is a tool that automates booting of operating systems on target hardware (typically embedded boards) or in Qemu. Initially, it was developed to boot NOVA Microhypervisor (hence the name), but nowadays is well suited for booting Linux (and perhaps other OSes) too.")
  (home-page "https://github.com/wentasah/novaboot")
  (license license:gpl2)))


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

end of thread, other threads:[~2021-08-18 15:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-24 21:52 File not found during package build Sarah Morgensen
2021-07-25 19:09 ` phodina
  -- strict thread matches above, loose matches on Subject: below --
2021-07-24 18:32 phodina
2021-08-18 14:41 ` zimoun

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