unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#12887: Broken pipe while generating guile-procedures.texi
@ 2012-11-14 19:44 DNS
  2012-11-14 23:10 ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: DNS @ 2012-11-14 19:44 UTC (permalink / raw)
  To: 12887

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

Hi guys,

i was trying to build guile 2.0.6 from tarball and from the latest
revision and get with both a similar error like these:
https://lists.gnu.org/archive/html/bug-guile/2011-03/msg00111.html
https://lists.gnu.org/archive/html/bug-guile/2011-12/msg00058.html
https://lists.gnu.org/archive/html/bug-guile/2012-07/msg00005.html

For me it looks like this on Trisquel 6.0 (beta):

  GEN      guile-procedures.texi
Throw without catch before boot:
Throw to key misc-error with args ("primitive-load-path" "Unable to find
file ~S in load path" ("ice-9/boot-9") #f)Aborting.
/bin/bash: line 1:  8458 Broken pipe             cat alist.doc
arbiters.doc array-handle.doc array-map.doc arrays.doc async.doc
backtrace.doc boolean.doc bitvectors.doc bytevectors.doc chars.doc
control.doc continuations.doc debug.doc deprecated.doc deprecation.doc
dynl.doc dynwind.doc eq.doc error.doc eval.doc evalext.doc expand.doc
extensions.doc feature.doc filesys.doc fluids.doc foreign.doc fports.doc
gc-malloc.doc gc.doc gettext.doc generalized-arrays.doc
generalized-vectors.doc goops.doc gsubr.doc guardians.doc hash.doc
hashtab.doc hooks.doc i18n.doc init.doc ioext.doc keywords.doc list.doc
load.doc macros.doc mallocs.doc memoize.doc modules.doc numbers.doc
objprop.doc options.doc pairs.doc ports.doc print.doc procprop.doc
procs.doc promises.doc r6rs-ports.doc random.doc rdelim.doc read.doc
root.doc rw.doc scmsigs.doc script.doc simpos.doc smob.doc sort.doc
srcprop.doc srfi-1.doc srfi-4.doc srfi-13.doc srfi-14.doc srfi-60.doc
stackchk.doc stacks.doc stime.doc strings.doc strorder.doc strports.doc
struct.doc symbols.doc threads.doc throw.doc trees.doc uniform.doc
values.doc variable.doc vectors.doc version.doc vports.doc weak-set.doc
weak-table.doc weak-vector.doc dynl.doc posix.doc net_db.doc socket.doc
regex-posix.doc
      8459 Aborted                 (core dumped) | GUILE_AUTO_COMPILE=0
../meta/uninstalled-env guild snarf-check-and-output-texi >
guile-procedures.texi
make[4]: *** [guile-procedures.texi] Error 1


Btw the autogen.sh file is missing in the 2.0.6 tarball.
If you need any further information please let me know.


Best regards,
DNS



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 551 bytes --]

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

* bug#12887: Broken pipe while generating guile-procedures.texi
  2012-11-14 19:44 bug#12887: Broken pipe while generating guile-procedures.texi DNS
@ 2012-11-14 23:10 ` Ludovic Courtès
  2012-12-07 17:30   ` DNS
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2012-11-14 23:10 UTC (permalink / raw)
  To: DNS; +Cc: 12887

Hi,

DNS <dns@rbose.org> skribis:

>   GEN      guile-procedures.texi
> Throw without catch before boot:
> Throw to key misc-error with args ("primitive-load-path" "Unable to find
> file ~S in load path" ("ice-9/boot-9") #f)Aborting.

The problem here is that ice-9/boot-9.scm, which is an essential
start-up file, could not be found.  I don’t see any reason why this
would happen.

Are you building a pristine 2.0.6, with no distro patches etc.?

Can you confirm that the file module/ice-9/boot-9.scm is available in
your source tree?

Can you run ‘strace -f -o log make’, and send the output of
‘grep ice-9/boot-9 log’?

Thanks,
Ludo’.





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

* bug#12887: Broken pipe while generating guile-procedures.texi
  2012-11-14 23:10 ` Ludovic Courtès
@ 2012-12-07 17:30   ` DNS
  2012-12-07 21:59     ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: DNS @ 2012-12-07 17:30 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 12887

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

> The problem here is that ice-9/boot-9.scm, which is an essential
> start-up file, could not be found.  I don’t see any reason why this
> would happen.
> 
> Are you building a pristine 2.0.6, with no distro patches etc.?
> 
> Can you confirm that the file module/ice-9/boot-9.scm is available in
> your source tree?
> 
> Can you run ‘strace -f -o log make’, and send the output of
> ‘grep ice-9/boot-9 log’?

Heya,

sorry for my late reply, and thx a lot for your help.
i was compiling 2.0.7 and had the same issue, then i was finally lookin
at the log and figured out that it is because of a "umlaut" char in the
parent directory-name where i tried to build guile.
The directory was called "Arbeitsfläche" ("desktop" in german) and in
the log i saw the files could not be found because the dir-name was not
correctly converted (into UTF-8 i guess). The dir name was shown as
"Arbeitsf??che"...

Btw i uploaded 2.0.7 packages to the GNU PPA @ launchpad
https://launchpad.net/~dns/+archive/gnu/+packages?field.name_filter=guile-2.0&field.status_filter=published&field.series_filter=

Best regards,
DNS



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 553 bytes --]

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

* bug#12887: Broken pipe while generating guile-procedures.texi
  2012-12-07 17:30   ` DNS
@ 2012-12-07 21:59     ` Ludovic Courtès
  2013-03-05 17:40       ` Andy Wingo
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2012-12-07 21:59 UTC (permalink / raw)
  To: DNS; +Cc: 12887

Hi,

Thanks for your feedback!

DNS <dns@rbose.org> skribis:

> sorry for my late reply, and thx a lot for your help.
> i was compiling 2.0.7 and had the same issue, then i was finally lookin
> at the log and figured out that it is because of a "umlaut" char in the
> parent directory-name where i tried to build guile.
> The directory was called "Arbeitsfläche" ("desktop" in german) and in
> the log i saw the files could not be found because the dir-name was not
> correctly converted (into UTF-8 i guess). The dir name was shown as
> "Arbeitsf??che"...

Ooh, I see.  This is related to commit ed4c3739 (see
<http://lists.gnu.org/archive/html/guile-devel/2011-12/msg00160.html>).

What happens is that the directory name may be correctly decoded when
passed as an argument:

--8<---------------cut here---------------start------------->8---
[ludo@pluto:~/tmp/Courtès]$ strace -f -o ,,s ~/src/guile/meta/guile -L $PWD -c '(set-port-encoding! (current-output-port) "UTF-8")(pk %load-path)'

;;; (("/home/ludo/tmp/Courtès" ...))
--8<---------------cut here---------------end--------------->8---

But then ‘scm_stat’ calls ‘scm_to_locale_string’, which uses the wrong
encoding at this point, leading to this:

--8<---------------cut here---------------start------------->8---
[ludo@pluto:~/tmp/Courtès]$ strace -f -o ,,s ~/src/guile/meta/guile -L $PWD -c '(use-modules (t))'

[...]

ERROR: In procedure scm-error:
ERROR: no code for module (t)

[ludo@pluto:~/tmp/Courtès]$ grep Court ,,s | head -10
24237 execve("/home/ludo/src/guile/meta/guile", ["/home/ludo/src/guile/meta/guile", "-L", "/home/ludo/tmp/Court\303\250s", "-c", "(use-modules (t))"], [/* 74 vars */]) = 0
24237 stat("/home/ludo/tmp/Court\303\250s", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
24237 execve("/home/ludo/src/guile/meta/uninstalled-env", ["/home/ludo/src/guile/meta/uninst"..., "/home/ludo/src/guile/libguile/gu"..., "-L", "/home/ludo/tmp/Court\303\250s", "-c", "(use-modules (t))"], [/* 73 vars */]) = 0
24237 stat("/home/ludo/tmp/Court\303\250s", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
24237 execve("/home/ludo/src/guile/libguile/guile", ["/home/ludo/src/guile/libguile/gu"..., "-L", "/home/ludo/tmp/Court\303\250s", "-c", "(use-modules (t))"], [/* 78 vars */]) = 0
24237 stat("/home/ludo/tmp/Court\303\250s", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
24256 read(3, "ludo\0x\0Ludovic Courtes\0/home/lud"..., 70) = 70
24237 execve("/home/ludo/src/guile/libguile/.libs/guile", ["/home/ludo/src/guile/libguile/.l"..., "-L", "/home/ludo/tmp/Court\303\250s", "-c", "(use-modules (t))"], [/* 80 vars */]) = 0
24237 stat("/home/ludo/tmp/Court?s/t.scm", 0x7fff16fda150) = -1 ENOENT (No such file or directory)
24237 stat("/home/ludo/tmp/Court?s/t", 0x7fff16fda150) = -1 ENOENT (No such file or directory)
--8<---------------cut here---------------end--------------->8---

The problem is even worse when the directory is passed through an
environment variable, because in that case even the input decoding is
broken:

--8<---------------cut here---------------start------------->8---
[ludo@pluto:~/tmp/Courtès]$ GUILE_LOAD_PATH=$PWD:... ~/src/guile/meta/guile -c '(set-port-encoding! (current-output-port) "UTF-8")(pk %load-path)'

;;; (("/home/ludo/src/guile/guile-readline" "/home/ludo/src/guile/module" "/home/ludo/tmp/Court??s"))
--8<---------------cut here---------------end--------------->8---

Ouch!

So, as mentioned in the thread above, 2.2 will not have this problem.
But for 2.0, I can’t even imagine an ugly hack that would help.

Thoughts?

Ludo’.





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

* bug#12887: Broken pipe while generating guile-procedures.texi
  2012-12-07 21:59     ` Ludovic Courtès
@ 2013-03-05 17:40       ` Andy Wingo
  2013-03-05 20:49         ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Andy Wingo @ 2013-03-05 17:40 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 12887, DNS

On Fri 07 Dec 2012 22:59, ludo@gnu.org (Ludovic Courtès) writes:

> Ooh, I see.  This is related to commit ed4c3739 (see
> <http://lists.gnu.org/archive/html/guile-devel/2011-12/msg00160.html>).
>
> What happens is that the directory name may be correctly decoded when
> passed as an argument:
>
> [ludo@pluto:~/tmp/Courtès]$ strace -f -o ,,s ~/src/guile/meta/guile -L $PWD -c '(set-port-encoding! (current-output-port) "UTF-8")(pk %load-path)'
>
> ;;; (("/home/ludo/tmp/Courtès" ...))
>
> But then ‘scm_stat’ calls ‘scm_to_locale_string’, which uses the wrong
> encoding at this point [...]

Nice debugging for a nasty problem.

> So, as mentioned in the thread above, 2.2 will not have this problem.
> But for 2.0, I can’t even imagine an ugly hack that would help.
>
> Thoughts?

What about an environment variable that can tell Guile to do the
setlocale().  We can set the environment variable during the build so
that at least the build works, and whisper it to users when they run
into problems (while noting that the variable will not be read in 2.2).

Or should we go ahead and document it, and simply have its default value
change between 2.0 and 2.2?

Andy
-- 
http://wingolog.org/





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

* bug#12887: Broken pipe while generating guile-procedures.texi
  2013-03-05 17:40       ` Andy Wingo
@ 2013-03-05 20:49         ` Ludovic Courtès
  2013-03-07 10:04           ` Andy Wingo
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2013-03-05 20:49 UTC (permalink / raw)
  To: Andy Wingo; +Cc: 12887, DNS

Andy Wingo <wingo@pobox.com> skribis:

> On Fri 07 Dec 2012 22:59, ludo@gnu.org (Ludovic Courtès) writes:
>
>> Ooh, I see.  This is related to commit ed4c3739 (see
>> <http://lists.gnu.org/archive/html/guile-devel/2011-12/msg00160.html>).
>>
>> What happens is that the directory name may be correctly decoded when
>> passed as an argument:
>>
>> [ludo@pluto:~/tmp/Courtès]$ strace -f -o ,,s ~/src/guile/meta/guile -L $PWD -c '(set-port-encoding! (current-output-port) "UTF-8")(pk %load-path)'
>>
>> ;;; (("/home/ludo/tmp/Courtès" ...))
>>
>> But then ‘scm_stat’ calls ‘scm_to_locale_string’, which uses the wrong
>> encoding at this point [...]
>
> Nice debugging for a nasty problem.
>
>> So, as mentioned in the thread above, 2.2 will not have this problem.
>> But for 2.0, I can’t even imagine an ugly hack that would help.
>>
>> Thoughts?
>
> What about an environment variable that can tell Guile to do the
> setlocale().  We can set the environment variable during the build so
> that at least the build works, and whisper it to users when they run
> into problems (while noting that the variable will not be read in 2.2).

Yes, sounds like a plan.  ‘GUILE_INSTALL_LOCALE’?

> Or should we go ahead and document it, and simply have its default value
> change between 2.0 and 2.2?

Yes, even better, since the setlocale change will have to be documented
at least in NEWS anyway.

Are you willing to look into it?

Ludo’.





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

* bug#12887: Broken pipe while generating guile-procedures.texi
  2013-03-05 20:49         ` Ludovic Courtès
@ 2013-03-07 10:04           ` Andy Wingo
  0 siblings, 0 replies; 7+ messages in thread
From: Andy Wingo @ 2013-03-07 10:04 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 12887-done, DNS

On Tue 05 Mar 2013 21:49, ludo@gnu.org (Ludovic Courtès) writes:

> ‘GUILE_INSTALL_LOCALE’?
>
>> Or should we go ahead and document it, and simply have its default value
>> change between 2.0 and 2.2?
>
> Yes, even better, since the setlocale change will have to be documented
> at least in NEWS anyway.
>
> Are you willing to look into it?

Sure.  I have some local patches that I will push when I next get a net
connection.

Cheers,

Andy
-- 
http://wingolog.org/





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

end of thread, other threads:[~2013-03-07 10:04 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-14 19:44 bug#12887: Broken pipe while generating guile-procedures.texi DNS
2012-11-14 23:10 ` Ludovic Courtès
2012-12-07 17:30   ` DNS
2012-12-07 21:59     ` Ludovic Courtès
2013-03-05 17:40       ` Andy Wingo
2013-03-05 20:49         ` Ludovic Courtès
2013-03-07 10:04           ` Andy Wingo

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