unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#27080: ¨make install" fails because of missing gawk
@ 2017-05-26  7:18 Konrad Hinsen
  2017-05-26 11:10 ` Ricardo Wurmus
  0 siblings, 1 reply; 12+ messages in thread
From: Konrad Hinsen @ 2017-05-26  7:18 UTC (permalink / raw)
  To: 27080

I am trying to build/install Guix 0.13 from sources (git checkout), 
using a binary installation of a slightly earlier Guix in a Ubuntu 16.04 
host system. Basically I am doing

   git checkout v0.13.0
   guix environment guix
   make check
   make install

I have also tried with this the most recent commit on master, with the 
same failure.

The trouble starts here:

...
Compiling Scheme modules...
guile: warning: failed to install locale
  /gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/bin/mkdir -p 
'/opt/guix/share/man/man1'
  /gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/bin/install -c -m 
644 ./doc/guix.1 ./doc/guix-archive.1 ./doc/guix-build.1 
./doc/guix-challenge.1 ./doc/guix-download.1 ./doc/guix-edit.1 
./doc/guix-environment.1 ./doc/guix-gc.1 ./doc/guix-hash.1 
./doc/guix-import.1 ./doc/guix-lint.1 ./doc/guix-package.1 
./doc/guix-publish.1 ./doc/guix-pull.1 ./doc/guix-refresh.1 
./doc/guix-size.1 ./doc/guix-system.1 ./doc/guix-daemon.1 
'/opt/guix/share/man/man1'
  /gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/bin/mkdir -p 
'/opt/guix/share/guile/site/2.2'
/bin/bash: line 5: gawk: command not found
sed: couldn't write 47 items to stdout: Broken pipe
/bin/bash: line 5: echo: write error: Broken pipe
/bin/bash: line 5: echo: write error: Broken pipe
/bin/bash: line 5: echo: write error: Broken pipe
/bin/bash: line 5: echo: write error: Broken pipe
...

I get lots of copies of these "Broken pipe" lines. Then:

...
/bin/bash: line 5: echo: write error: Broken pipe
/bin/bash: line 5: echo: write error: Broken pipe
/bin/bash: line 5: echo: write error: Broken pipe
/bin/bash: line 5: echo: write error: Broken pipe
  /gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/bin/mkdir -p 
'/opt/guix/share/guile/site/2.2'
/bin/bash: line 5: gawk: command not found
sed: couldn't flush stdout: Broken pipe
  /gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/bin/mkdir -p 
'/opt/guix/lib/guile/2.2/site-ccache'
/bin/bash: line 5: gawk: command not found
sed: couldn't write 47 items to stdout: Broken pipe
/bin/bash: line 5: echo: write error: Broken pipe
/bin/bash: line 5: echo: write error: Broken pipe
/bin/bash: line 5: echo: write error: Broken pipe
...

and another round of broken pipes. But the initial problem seems to be 
that gawk is not found. It is available in my build environment, but 
apparently that's not where it is looked for.

Konrad.

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

* bug#27080: ¨make install" fails because of missing gawk
  2017-05-26  7:18 bug#27080: ¨make install" fails because of missing gawk Konrad Hinsen
@ 2017-05-26 11:10 ` Ricardo Wurmus
  2017-05-26 13:53   ` Konrad Hinsen
  0 siblings, 1 reply; 12+ messages in thread
From: Ricardo Wurmus @ 2017-05-26 11:10 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: 27080


Hi Konrad,

> I am trying to build/install Guix 0.13 from sources (git checkout),
> using a binary installation of a slightly earlier Guix in a Ubuntu 16.04
> host system. Basically I am doing
>
>    git checkout v0.13.0
>    guix environment guix
>    make check
>    make install

You did not run “./configure --localstatedir=/var”.  In config.log you
should see what file paths were detected for the tools that are used
during the build.  It could be that this is outdated and that you should
reconfigure.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

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

* bug#27080: ¨make install" fails because of missing gawk
  2017-05-26 11:10 ` Ricardo Wurmus
@ 2017-05-26 13:53   ` Konrad Hinsen
  2017-05-26 14:56     ` Ricardo Wurmus
  2017-05-28 20:28     ` Ludovic Courtès
  0 siblings, 2 replies; 12+ messages in thread
From: Konrad Hinsen @ 2017-05-26 13:53 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 27080

Hi Ricardo,

Thanks for your reply!

> You did not run “./configure --localstatedir=/var”.

I did, in an earlier cycle. More precisely, I did

    ./configure --prefix=/opt/guix --localstatedir=/var

in order to prevent Guix from overwriting some of Ubuntu's system files.

In order to start from a clean slate, I now did

   guix environment guix
   make distclean
   ./bootstrap
   ./configure --prefix=/opt/guix --localstatedir=/var
   make check
   sudo make install

This fails even earlier, complaining about a missing makeinfo:

  make[2]: Entering directory '/home/hinsen/Development/guix'
    MAKEINFO doc/guix.info
  /home/hinsen/Development/guix/build-aux/missing: line 81: makeinfo: 
command not found

Checking config.log, I see that indeed makeinfo has not been found:

  MAKEINFO='${SHELL} /home/hinsen/Development/guix/build-aux/missing 
makeinfo'

However, it is available in my environment:

  ~/Development/guix [dev]$ which makeinfo
  /gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/bin/makeinfo

There are a few other executables marked as missing:
  aclocal
  autoconf
  autoheader
  automake
  dot
  help2man

I started from scratch again, but added the paths for these executables 
manually to the generated Makefile, right after configure. That got me 
back to the error message that I got before:

  /bin/bash: line 5: gawk: command not found
  sed: couldn't write 47 items to stdout: Broken pipe
  /bin/bash: line 5: echo: write error: Broken pipe
  ...

However, config.log says:

  configure:2900: checking for gawk
  configure:2916: found 
/gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/bin/gawk
  configure:2927: result: gawk

and Makefile contains

  AWK = gawk

Next, I replaced this line by

  AWK = /gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/bin/gawk

and re-ran "make install". Success!

Conclusion: something is going wrong in configure.

Konrad.

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

* bug#27080: ¨make install" fails because of missing gawk
  2017-05-26 13:53   ` Konrad Hinsen
@ 2017-05-26 14:56     ` Ricardo Wurmus
  2017-05-26 16:01       ` Konrad Hinsen
  2017-05-28 20:28     ` Ludovic Courtès
  1 sibling, 1 reply; 12+ messages in thread
From: Ricardo Wurmus @ 2017-05-26 14:56 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: 27080


Konrad Hinsen <konrad.hinsen@fastmail.net> writes:

> Hi Ricardo,
>
> Thanks for your reply!
>
>> You did not run “./configure --localstatedir=/var”.
>
> I did, in an earlier cycle. More precisely, I did
>
>     ./configure --prefix=/opt/guix --localstatedir=/var
>
> in order to prevent Guix from overwriting some of Ubuntu's system files.

Guix will not overwrite any system files.  It only writes to /gnu,
/var/guix, and /etc/guix.

> In order to start from a clean slate, I now did
>
>    guix environment guix
>    make distclean
>    ./bootstrap
>    ./configure --prefix=/opt/guix --localstatedir=/var
>    make check
>    sudo make install

[…]
> Conclusion: something is going wrong in configure.

No, the configure script is probably okay.  Maybe something’s up with
your environment.  Have you tried “guix environment --pure guix”?

-- 
Ricardo
  
  GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
  https://elephly.net

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

* bug#27080: ¨make install" fails because of missing gawk
  2017-05-26 14:56     ` Ricardo Wurmus
@ 2017-05-26 16:01       ` Konrad Hinsen
  2017-05-26 16:44         ` Ricardo Wurmus
  0 siblings, 1 reply; 12+ messages in thread
From: Konrad Hinsen @ 2017-05-26 16:01 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 27080

On 26/05/2017 16:56, Ricardo Wurmus wrote:

>> in order to prevent Guix from overwriting some of Ubuntu's system files.
>
> Guix will not overwrite any system files.  It only writes to /gnu,
> /var/guix, and /etc/guix.

It did when I first tried install-from-source a few months ago, and it 
took me a while to clean up the mess. More precisely, it put a lot of 
stuff into /usr/local, overwriting files in /usr/local/share that 
Ubuntu-installed software depended on. If that has changed in the 
meantime, that's great.

> No, the configure script is probably okay.  Maybe something’s up with
> your environment.  Have you tried “guix environment --pure guix”?

I just did. No difference. Same config.log, same Makefile, same error 
messages.

Konrad.

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

* bug#27080: ¨make install" fails because of missing gawk
  2017-05-26 16:01       ` Konrad Hinsen
@ 2017-05-26 16:44         ` Ricardo Wurmus
  2017-05-26 18:38           ` Konrad Hinsen
  0 siblings, 1 reply; 12+ messages in thread
From: Ricardo Wurmus @ 2017-05-26 16:44 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: 27080


Konrad Hinsen <konrad.hinsen@fastmail.net> writes:

> On 26/05/2017 16:56, Ricardo Wurmus wrote:
>
>>> in order to prevent Guix from overwriting some of Ubuntu's system files.
>>
>> Guix will not overwrite any system files.  It only writes to /gnu,
>> /var/guix, and /etc/guix.
>
> It did when I first tried install-from-source a few months ago, and it
> took me a while to clean up the mess. More precisely, it put a lot of
> stuff into /usr/local, overwriting files in /usr/local/share that
> Ubuntu-installed software depended on. If that has changed in the
> meantime, that's great.

I don’t think it ever behaved like that, because it hardly has anything
to install.  Hence I don’t think there have been any changes.  Without
additional details it’s not very productive to talk about this, though.

>> No, the configure script is probably okay.  Maybe something’s up with
>> your environment.  Have you tried “guix environment --pure guix”?
>
> I just did. No difference. Same config.log, same Makefile, same error
> messages.

Could you share the output of “env” within the pure guix environment?

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

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

* bug#27080: ¨make install" fails because of missing gawk
  2017-05-26 16:44         ` Ricardo Wurmus
@ 2017-05-26 18:38           ` Konrad Hinsen
  2017-05-26 20:27             ` Ricardo Wurmus
  0 siblings, 1 reply; 12+ messages in thread
From: Konrad Hinsen @ 2017-05-26 18:38 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 27080

On 26/05/2017 18:44, Ricardo Wurmus wrote:

> I don’t think it ever behaved like that, because it hardly has anything
> to install.  Hence I don’t think there have been any changes.  Without
> additional details it’s not very productive to talk about this, though.

I am beginning to wonder if this is part of the anomalies I observe, 
because I agree that guix shouldn´t need to install anything beyond its 
entry point, the executable /usr/local/bin/guix. But on my system, it 
installs 1877 files under /opt/guix, and all those would probably go to 
/usr/local by default.

Proof:

 > find /opt/guix -type f | wc -l
1877

1273 of these files are under share:

 > find /opt/guix/share -type f | wc -l
1273
 > ls /opt/guix/share/
guile  guix  info  locale  man  zsh


>>> No, the configure script is probably okay.  Maybe something’s up with
>>> your environment.  Have you tried “guix environment --pure guix”?
>>
>> I just did. No difference. Same config.log, same Makefile, same error
>> messages.
> 
> Could you share the output of “env” within the pure guix environment?

Sure:

CPLUS_INCLUDE_PATH=/gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/include
GUIX_LOCPATH=/gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/lib/locale
TERM=dumb
LIBRARY_PATH=/gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/lib
USER=hinsen
LS_COLORS=
GUILE_LOAD_PATH=/gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/share/guile/site/2.2
GUIX_ENVIRONMENT=/gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile
GUILE_LOAD_COMPILED_PATH=/gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/lib/guile/2.2/site-ccache:/gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/share/guile/site/2.2
PATH=/gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/bin:/gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/sbin
C_INCLUDE_PATH=/gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/include
PWD=/home/hinsen/Development/guix
SHLVL=1
HOME=/home/hinsen
BASH_LOADABLES_PATH=/gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/lib/bash
LOGNAME=hinsen
PKG_CONFIG_PATH=/gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/lib/pkgconfig
INFOPATH=/gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/share/info
ACLOCAL_PATH=/gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/share/aclocal
DISPLAY=:0
_=/gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/bin/env


Konrad.

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

* bug#27080: ¨make install" fails because of missing gawk
  2017-05-26 18:38           ` Konrad Hinsen
@ 2017-05-26 20:27             ` Ricardo Wurmus
  2017-05-28  9:22               ` Konrad Hinsen
  0 siblings, 1 reply; 12+ messages in thread
From: Ricardo Wurmus @ 2017-05-26 20:27 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: 27080


Konrad Hinsen <konrad.hinsen@fastmail.net> writes:

> On 26/05/2017 18:44, Ricardo Wurmus wrote:
>
>> I don’t think it ever behaved like that, because it hardly has anything
>> to install.  Hence I don’t think there have been any changes.  Without
>> additional details it’s not very productive to talk about this, though.
>
> I am beginning to wonder if this is part of the anomalies I observe,
> because I agree that guix shouldn´t need to install anything beyond its
> entry point, the executable /usr/local/bin/guix. But on my system, it
> installs 1877 files under /opt/guix, and all those would probably go to
> /usr/local by default.
>
> Proof:
>
>  > find /opt/guix -type f | wc -l
> 1877
>
> 1273 of these files are under share:
>
>  > find /opt/guix/share -type f | wc -l
> 1273
>  > ls /opt/guix/share/
> guile  guix  info  locale  man  zsh

Ah, you are, of course, completely right about this!  I misspoke.  Guix
consists of a growing number of Guile modules.  These modules go to
$prefix/share/guile/…, because that’s where Guile would read them from.

What I was referring to was installing Guix using the binary deployment
method.  It essentially is a pre-filled /gnu/store directory, which
contains all of Guix in its own prefix.  Beyond that it doesn’t spill
anything into the global namespace.

You are correct, however, that building from source and running “make
install” *will* install Guix to the specified prefix.  What I’m pretty
sure does *not* happen, though, is that this *overwrites* any files that
Ubuntu (or any other system) uses.  It is well-behaved in that it
installs things into the expected directories under the given prefix.

(With the “pre-inst-env” script it’s possible to run Guix without
installing it, so you don’t even have to run “make install” at all if
you just want to bootstrap Guix.)

It would be interesting to know which files it seemingly overwrote.  I
find it hard to guess.


>>>> No, the configure script is probably okay.  Maybe something’s up with
>>>> your environment.  Have you tried “guix environment --pure guix”?
>>>
>>> I just did. No difference. Same config.log, same Makefile, same error
>>> messages.

That’s very odd and I cannot reproduce it :(

>> Could you share the output of “env” within the pure guix environment?
>
> Sure: […]

This actually looks okay.  The configure script looks for tools on the
PATH, which appears to be correct.  I don’t understand what’s going on
here.  Maybe someone else has some ideas.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

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

* bug#27080: ¨make install" fails because of missing gawk
  2017-05-26 20:27             ` Ricardo Wurmus
@ 2017-05-28  9:22               ` Konrad Hinsen
  2017-05-28 20:24                 ` Ludovic Courtès
  0 siblings, 1 reply; 12+ messages in thread
From: Konrad Hinsen @ 2017-05-28  9:22 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 27080

Ricardo Wurmus <rekado@elephly.net> writes:

> You are correct, however, that building from source and running “make
> install” *will* install Guix to the specified prefix.  What I’m pretty
> sure does *not* happen, though, is that this *overwrites* any files that
> Ubuntu (or any other system) uses.  It is well-behaved in that it
> installs things into the expected directories under the given prefix.

It does put everything into the correct directories, but that doesn't
prevent version conflicts with my Ubuntu installation. If I remember
correctly it was the locale definitions that were not compatible.

> (With the “pre-inst-env” script it’s possible to run Guix without
> installing it, so you don’t even have to run “make install” at all if
> you just want to bootstrap Guix.)

That's a useful suggestion, thanks! All I want to do is develop my own
package definitions, and eventually contribute them to the official
distribution. All I need is a way to run Guix-from-source under my user
account.

Konrad.

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

* bug#27080: ¨make install" fails because of missing gawk
  2017-05-28  9:22               ` Konrad Hinsen
@ 2017-05-28 20:24                 ` Ludovic Courtès
  0 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2017-05-28 20:24 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: 27080

Hi Konrad,

Konrad Hinsen <konrad.hinsen@fastmail.net> skribis:

> Ricardo Wurmus <rekado@elephly.net> writes:

[...]

>> (With the “pre-inst-env” script it’s possible to run Guix without
>> installing it, so you don’t even have to run “make install” at all if
>> you just want to bootstrap Guix.)
>
> That's a useful suggestion, thanks! All I want to do is develop my own
> package definitions, and eventually contribute them to the official
> distribution. All I need is a way to run Guix-from-source under my user
> account.

In that case
<https://gnu.org/software/guix/manual/html_node/Running-Guix-Before-It-Is-Installed.html>
should be helpful if you haven’t seen it already!

HTH,
Ludo’.

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

* bug#27080: ¨make install" fails because of missing gawk
  2017-05-26 13:53   ` Konrad Hinsen
  2017-05-26 14:56     ` Ricardo Wurmus
@ 2017-05-28 20:28     ` Ludovic Courtès
  2017-05-29 14:47       ` Konrad Hinsen
  1 sibling, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2017-05-28 20:28 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: 27080

Konrad Hinsen <konrad.hinsen@fastmail.net> skribis:

> In order to start from a clean slate, I now did
>
>   guix environment guix
>   make distclean
>   ./bootstrap
>   ./configure --prefix=/opt/guix --localstatedir=/var
>   make check
>   sudo make install
>
> This fails even earlier, complaining about a missing makeinfo:
>
>  make[2]: Entering directory '/home/hinsen/Development/guix'
>    MAKEINFO doc/guix.info
>  /home/hinsen/Development/guix/build-aux/missing: line 81: makeinfo:
> command not found
>
> Checking config.log, I see that indeed makeinfo has not been found:
>
>  MAKEINFO='${SHELL} /home/hinsen/Development/guix/build-aux/missing
> makeinfo'

[...]

> However, config.log says:
>
>  configure:2900: checking for gawk
>  configure:2916: found
> /gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/bin/gawk
>  configure:2927: result: gawk
>
> and Makefile contains
>
>  AWK = gawk
>
> Next, I replaced this line by
>
>  AWK = /gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/bin/gawk
>
> and re-ran "make install". Success!

Could it be that there was a cache file here (‘config.cache’, as created
by “./configure -C”)?

Ludo’.

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

* bug#27080: ¨make install" fails because of missing gawk
  2017-05-28 20:28     ` Ludovic Courtès
@ 2017-05-29 14:47       ` Konrad Hinsen
  0 siblings, 0 replies; 12+ messages in thread
From: Konrad Hinsen @ 2017-05-29 14:47 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 27080

Hi Ludo,

>> Next, I replaced this line by
>>
>>   AWK = /gnu/store/2kgp5d4wh40b49gp4qwqh2b4il29gq6g-profile/bin/gawk
>>
>> and re-ran "make install". Success!
> 
> Could it be that there was a cache file here (‘config.cache’, as created
> by “./configure -C”)?

There is no config.cache, and I never used -C. Plus I do "make 
distclean" all the time.

 > In that case
 > 
<https://gnu.org/software/guix/manual/html_node/Running-Guix-Before-It-Is-Installed.html>
 > should be helpful if you haven’t seen it already!

Just did. Looks like what I need.

Thanks,
   Konrad.

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

end of thread, other threads:[~2017-05-29 14:48 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-26  7:18 bug#27080: ¨make install" fails because of missing gawk Konrad Hinsen
2017-05-26 11:10 ` Ricardo Wurmus
2017-05-26 13:53   ` Konrad Hinsen
2017-05-26 14:56     ` Ricardo Wurmus
2017-05-26 16:01       ` Konrad Hinsen
2017-05-26 16:44         ` Ricardo Wurmus
2017-05-26 18:38           ` Konrad Hinsen
2017-05-26 20:27             ` Ricardo Wurmus
2017-05-28  9:22               ` Konrad Hinsen
2017-05-28 20:24                 ` Ludovic Courtès
2017-05-28 20:28     ` Ludovic Courtès
2017-05-29 14:47       ` Konrad Hinsen

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