unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* [1.9.12][OpenBSD] run time failure ...
@ 2010-09-08 19:21 primus
  2010-09-08 19:46 ` Andy Wingo
  0 siblings, 1 reply; 20+ messages in thread
From: primus @ 2010-09-08 19:21 UTC (permalink / raw)
  To: bug-guile

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

Wed Sep  8 20:13:16 BST 2010

Hi Ludo,

Attached is a tar, bzip2 file containing:
	config.log
	configure.l2g
	gmake_all.l2g

configure was run as:
	env CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"  ./configure --without-threads 2>&1 | tee -a configure.l2g

gmake was run as:
	gmake all 2>&1 | tee gmake_all.l2g

Failure is at: (won't know where to start debugging this - scheme land now).

gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/module'
  GUILEC ice-9/eval.go
guile: uncaught throw to wrong-type-arg: (#f Wrong type (expecting ~A): ~S (exact integer (#t #<catch-closure 3d9da8e0> #<catch-closure 3d9da8d0> #<catch-closure 3d9da8c0>)) ((#t #<catch-closure 3d9da8e0> #<catch-closure 3d9da8d0> #<catch-closure 3d9da8c0>)))
gmake[2]: *** [ice-9/eval.go] Error 1
gmake[2]: Leaving directory `/usr/obj/micro/guile-1.9.12/module'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/obj/micro/guile-1.9.12'
gmake: *** [all] Error 2


-- 
-primus
"It isn't what you make, it's what you don't lose!"

[-- Attachment #2: OpenBSD-4.7_guile-1.9.12_build-logs.tar.bz2 --]
[-- Type: application/octet-stream, Size: 60171 bytes --]

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

* Re: [1.9.12][OpenBSD] run time failure ...
  2010-09-08 19:21 [1.9.12][OpenBSD] run time failure primus
@ 2010-09-08 19:46 ` Andy Wingo
  2010-09-08 20:07   ` primus
                     ` (2 more replies)
  0 siblings, 3 replies; 20+ messages in thread
From: Andy Wingo @ 2010-09-08 19:46 UTC (permalink / raw)
  To: primus; +Cc: bug-guile

Hi,

On Wed 08 Sep 2010 21:21, primus <rprimus@gmail.com> writes:

> Failure is at: (won't know where to start debugging this - scheme land now).
>
> gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/module'
>   GUILEC ice-9/eval.go
> guile: uncaught throw to wrong-type-arg: (#f Wrong type (expecting ~A): ~S (exact integer (#t #<catch-closure 3d9da8e0> #<catch-closure 3d9da8d0> #<catch-closure 3d9da8c0>)) ((#t #<catch-closure 3d9da8e0> #<catch-closure 3d9da8d0> #<catch-closure 3d9da8c0>)))

Ew. What version of libgc do you have?

If you are able to attach to the guile process while it is building,
break on scm_ithrow and send the backtrace. You can edit
meta/guile-tools and replace "exec guile" with "exec
gdb-uninstalled-guile", then when you get a gdb prompt after typing
"make", you can "break scm_ithrow", then "run", then "bt full" when you
hit the error.

Andy
-- 
http://wingolog.org/



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

* Re: [1.9.12][OpenBSD] run time failure ...
  2010-09-08 19:46 ` Andy Wingo
@ 2010-09-08 20:07   ` primus
  2010-09-08 21:58     ` Ludovic Courtès
  2010-09-08 22:12   ` primus
  2010-09-08 23:06   ` [1.9.12][OpenBSD] CFLAGS="-g -O0" " primus
  2 siblings, 1 reply; 20+ messages in thread
From: primus @ 2010-09-08 20:07 UTC (permalink / raw)
  To: bug-guile

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

On Wed, Sep 08, 2010 at 09:46:41PM +0200, Andy Wingo wrote:
> Hi,
> 
> On Wed 08 Sep 2010 21:21, primus <rprimus@gmail.com> writes:
> 
> > Failure is at: (won't know where to start debugging this - scheme land now).
> >
> > gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/module'
> >   GUILEC ice-9/eval.go
> > guile: uncaught throw to wrong-type-arg: (#f Wrong type (expecting ~A): ~S (exact integer (#t #<catch-closure 3d9da8e0> #<catch-closure 3d9da8d0> #<catch-closure 3d9da8c0>)) ((#t #<catch-closure 3d9da8e0> #<catch-closure 3d9da8d0> #<catch-closure 3d9da8c0>)))
> 
> Ew. What version of libgc do you have?

Wed Sep  8 21:01:19 BST 2010

Hi Andy,

# pkg_info | grep boehm
boehm-gc-7.0p2      garbage collection and memory leak detection for C and C++

# for i in `pkg_info -L boehm-gc-7.0p2 | grep lib`;do
ls -la $i
 done
-rw-r--r--  1 root  bin  41461 Mar 18 15:24 /usr/local/lib/libcord.so.2.3
-rw-r--r--  1 root  bin  146136 Mar 18 15:24 /usr/local/lib/libgc.so.3.0
-rw-r--r--  1 root  bin  36106 Mar 18 15:24 /usr/local/lib/libcord.a
-rw-r--r--  1 root  bin  816 Mar 18 15:24 /usr/local/lib/libcord.la
-rw-r--r--  1 root  bin  172748 Mar 18 15:24 /usr/local/lib/libgc.a
-rw-r--r--  1 root  bin  780 Mar 18 15:24 /usr/local/lib/libgc.la
-r--r--r--  1 root  bin  269 Mar 18 15:24 /usr/local/lib/pkgconfig/bdw-gc.pc


> 
> If you are able to attach to the guile process while it is building,
> break on scm_ithrow and send the backtrace. You can edit
> meta/guile-tools and replace "exec guile" with "exec
> gdb-uninstalled-guile", then when you get a gdb prompt after typing
> "make", you can "break scm_ithrow", then "run", then "bt full" when you
> hit the error.

Have attached gmake_all.l3g

backtrace:
Starting program: /usr/obj/micro/guile-1.9.12/libguile/guile -e \(@@\ \(guile-tools\)\ main\) -s /usr/obj/micro/guile-1.9.12/met
a/guile-tools compile -Wunbound-variable -Warity-mismatch -o ice-9/eval.go ice-9/eval.scm
[Switching to process 25962, thread 0x7faf7400]

Breakpoint 1, scm_ithrow (key=0x3c0788a0, args=0x3d4094d0, noreturn=1) at throw.c:453
453     }
(gdb) bt full
#0  scm_ithrow (key=0x3c0788a0, args=0x3d4094d0, noreturn=1) at throw.c:453
No locals.
#1  0x1c0904fd in scm_error_scm (key=0x3c0788a0, subr=0x3d4fff50, message=0x3d4fe050, args=0x3d4094f8, data=0x4) at error.c:94
No locals.
#2  0x1c090615 in scm_error (key=Could not find the frame base for "scm_error".
) at error.c:60
No locals.
#3  0x1c090650 in scm_misc_error (subr=Could not find the frame base for "scm_misc_error".
) at error.c:283
No locals.
#4  0x1c068902 in scm_dynamic_link (filename=Variable "filename" is not available.
) at dynl.c:93
        file = Variable "file" is not available.
(gdb) quit


-- 
-primus
"It isn't what you make, it's what you don't lose!"

[-- Attachment #2: gmake_all.l3g --]
[-- Type: text/plain, Size: 6760 bytes --]

gmake  all-recursive
gmake[1]: Entering directory `/usr/obj/micro/guile-1.9.12'
Making all in lib
gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/lib'
gmake  all-recursive
gmake[3]: Entering directory `/usr/obj/micro/guile-1.9.12/lib'
gmake[4]: Entering directory `/usr/obj/micro/guile-1.9.12/lib'
gmake[4]: Nothing to be done for `all-am'.
gmake[4]: Leaving directory `/usr/obj/micro/guile-1.9.12/lib'
gmake[3]: Leaving directory `/usr/obj/micro/guile-1.9.12/lib'
gmake[2]: Leaving directory `/usr/obj/micro/guile-1.9.12/lib'
Making all in meta
gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/meta'
gmake[2]: Nothing to be done for `all'.
gmake[2]: Leaving directory `/usr/obj/micro/guile-1.9.12/meta'
Making all in libguile
gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/libguile'
gmake  all-am
gmake[3]: Entering directory `/usr/obj/micro/guile-1.9.12/libguile'
gmake[3]: Nothing to be done for `all-am'.
gmake[3]: Leaving directory `/usr/obj/micro/guile-1.9.12/libguile'
gmake[2]: Leaving directory `/usr/obj/micro/guile-1.9.12/libguile'
Making all in guile-readline
gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/guile-readline'
gmake  all-am
gmake[3]: Entering directory `/usr/obj/micro/guile-1.9.12/guile-readline'
gmake[3]: Nothing to be done for `all-am'.
gmake[3]: Leaving directory `/usr/obj/micro/guile-1.9.12/guile-readline'
gmake[2]: Leaving directory `/usr/obj/micro/guile-1.9.12/guile-readline'
Making all in emacs
gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/emacs'
gmake[2]: Nothing to be done for `all'.
gmake[2]: Leaving directory `/usr/obj/micro/guile-1.9.12/emacs'
Making all in srfi
gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/srfi'
gmake  all-am
gmake[3]: Entering directory `/usr/obj/micro/guile-1.9.12/srfi'
gmake[3]: Nothing to be done for `all-am'.
gmake[3]: Leaving directory `/usr/obj/micro/guile-1.9.12/srfi'
gmake[2]: Leaving directory `/usr/obj/micro/guile-1.9.12/srfi'
Making all in examples
gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/examples'
gmake[2]: Nothing to be done for `all'.
gmake[2]: Leaving directory `/usr/obj/micro/guile-1.9.12/examples'
Making all in test-suite
gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/test-suite'
Making all in standalone
gmake[3]: Entering directory `/usr/obj/micro/guile-1.9.12/test-suite/standalone'
gmake  all-am
gmake[4]: Entering directory `/usr/obj/micro/guile-1.9.12/test-suite/standalone'
gmake[4]: Nothing to be done for `all-am'.
gmake[4]: Leaving directory `/usr/obj/micro/guile-1.9.12/test-suite/standalone'
gmake[3]: Leaving directory `/usr/obj/micro/guile-1.9.12/test-suite/standalone'
Making all in vm
gmake[3]: Entering directory `/usr/obj/micro/guile-1.9.12/test-suite/vm'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory `/usr/obj/micro/guile-1.9.12/test-suite/vm'
gmake[3]: Entering directory `/usr/obj/micro/guile-1.9.12/test-suite'
gmake[3]: Nothing to be done for `all-am'.
gmake[3]: Leaving directory `/usr/obj/micro/guile-1.9.12/test-suite'
gmake[2]: Leaving directory `/usr/obj/micro/guile-1.9.12/test-suite'
Making all in benchmark-suite
gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/benchmark-suite'
gmake[2]: Nothing to be done for `all'.
gmake[2]: Leaving directory `/usr/obj/micro/guile-1.9.12/benchmark-suite'
Making all in am
gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/am'
gmake[2]: Nothing to be done for `all'.
gmake[2]: Leaving directory `/usr/obj/micro/guile-1.9.12/am'
Making all in module
gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/module'
  GUILEC ice-9/eval.go
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-openbsd4.2"...
(gdb) break scm_ithrow
Breakpoint 1 at 0x1c051903: file throw.c, line 453.
(gdb) run
Starting program: /usr/obj/micro/guile-1.9.12/libguile/guile -e \(@@\ \(guile-tools\)\ main\) -s /usr/obj/micro/guile-1.9.12/meta/guile-tools compile -Wunbound-variable -Warity-mismatch -o ice-9/eval.go ice-9/eval.scm
[Switching to process 25962, thread 0x7faf7400]

Breakpoint 1, scm_ithrow (key=0x3c0788a0, args=0x3d4094d0, noreturn=1) at throw.c:453
453	}
(gdb) bt full
#0  scm_ithrow (key=0x3c0788a0, args=0x3d4094d0, noreturn=1) at throw.c:453
No locals.
#1  0x1c0904fd in scm_error_scm (key=0x3c0788a0, subr=0x3d4fff50, message=0x3d4fe050, args=0x3d4094f8, data=0x4) at error.c:94
No locals.
#2  0x1c090615 in scm_error (key=Could not find the frame base for "scm_error".
) at error.c:60
No locals.
#3  0x1c090650 in scm_misc_error (subr=Could not find the frame base for "scm_misc_error".
) at error.c:283
No locals.
#4  0x1c068902 in scm_dynamic_link (filename=Variable "filename" is not available.
) at dynl.c:93
	file = Variable "file" is not available.
(gdb) quit
The program is running.  Exit anyway? (y or n) touch -t 198001010100 ./ice-9/eval.scm 
touch -r ./ice-9/eval.scm ice-9/eval.go
touch -r ./ice-9/eval.scm ice-9/eval.go.stamp
GUILE_AUTO_COMPILE=0					\
	../meta/uninstalled-env			\
	guile-tools compile -Wunbound-variable -Warity-mismatch -o "ice-9/psyntax-pp.go" "./ice-9/psyntax.scm"
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-openbsd4.2"...
(gdb) touch -r "./ice-9/psyntax.scm" "./ice-9/psyntax-pp.scm"
  GUILEC ice-9/boot-9.go
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-openbsd4.2"...
(gdb) exit
Undefined command: "exit".  Try "help".
(gdb) quit
  GUILEC language/tree-il.go
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-openbsd4.2"...
(gdb) 

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

* Re: [1.9.12][OpenBSD] run time failure ...
  2010-09-08 20:07   ` primus
@ 2010-09-08 21:58     ` Ludovic Courtès
  0 siblings, 0 replies; 20+ messages in thread
From: Ludovic Courtès @ 2010-09-08 21:58 UTC (permalink / raw)
  To: bug-guile

Hi,

primus <rprimus@gmail.com> writes:

> On Wed, Sep 08, 2010 at 09:46:41PM +0200, Andy Wingo wrote:

>> On Wed 08 Sep 2010 21:21, primus <rprimus@gmail.com> writes:
>> 
>> > Failure is at: (won't know where to start debugging this - scheme land now).
>> >
>> > gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/module'
>> >   GUILEC ice-9/eval.go
>> > guile: uncaught throw to wrong-type-arg: (#f Wrong type (expecting ~A): ~S (exact integer (#t #<catch-closure 3d9da8e0> #<catch-closure 3d9da8d0> #<catch-closure 3d9da8c0>)) ((#t #<catch-closure 3d9da8e0> #<catch-closure 3d9da8d0> #<catch-closure 3d9da8c0>)))

[...]

> #3  0x1c090650 in scm_misc_error (subr=Could not find the frame base for "scm_misc_error".
> ) at error.c:283
> No locals.
> #4  0x1c068902 in scm_dynamic_link (filename=Variable "filename" is not available.
> ) at dynl.c:93
>         file = Variable "file" is not available.
> (gdb) quit

I think it failed to dlopen libguile-srfi-srfi-1*.so [*].

Does Libtool emit warnings such as:

  Warning: This system can not link to static lib archive ../libguile/libguile-2.0.la.

?

Can you post a gzipped version of your ‘config.log’ file?

Thanks,
Ludo’.

[*] That happens on Cygwin, too: <http://hydra.nixos.org/build/626036>.




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

* Re: [1.9.12][OpenBSD] run time failure ...
  2010-09-08 19:46 ` Andy Wingo
  2010-09-08 20:07   ` primus
@ 2010-09-08 22:12   ` primus
  2010-09-10  8:39     ` Andy Wingo
  2010-09-08 23:06   ` [1.9.12][OpenBSD] CFLAGS="-g -O0" " primus
  2 siblings, 1 reply; 20+ messages in thread
From: primus @ 2010-09-08 22:12 UTC (permalink / raw)
  To: bug-guile

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

On Wed, Sep 08, 2010 at 09:46:41PM +0200, Andy Wingo wrote:
> Hi,
> 
> On Wed 08 Sep 2010 21:21, primus <rprimus@gmail.com> writes:
> 
> > Failure is at: (won't know where to start debugging this - scheme land now).
> >
> > gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/module'
> >   GUILEC ice-9/eval.go
> > guile: uncaught throw to wrong-type-arg: (#f Wrong type (expecting ~A): ~S (exact integer (#t #<catch-closure 3d9da8e0> #<catch-closure 3d9da8d0> #<catch-closure 3d9da8c0>)) ((#t #<catch-closure 3d9da8e0> #<catch-closure 3d9da8d0> #<catch-closure 3d9da8c0>)))
> 
> Ew. What version of libgc do you have?
> 
> If you are able to attach to the guile process while it is building,
> break on scm_ithrow and send the backtrace. You can edit
> meta/guile-tools and replace "exec guile" with "exec
> gdb-uninstalled-guile", then when you get a gdb prompt after typing
> "make", you can "break scm_ithrow", then "run", then "bt full" when you
> hit the error.

Wed Sep  8 23:08:12 BST 2010

backtrace with new cvs libgc.

Have included new *.l6g* files:
	*.l6g_dbg_ contains backtrace

-- 
-primus
"It isn't what you make, it's what you don't lose!"

[-- Attachment #2: OpenBSD-4.7_guile-1.9.12_libgc-cvs.tar.bz2 --]
[-- Type: application/octet-stream, Size: 7144 bytes --]

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

* Re: [1.9.12][OpenBSD] CFLAGS="-g -O0" run time failure ...
  2010-09-08 19:46 ` Andy Wingo
  2010-09-08 20:07   ` primus
  2010-09-08 22:12   ` primus
@ 2010-09-08 23:06   ` primus
  2010-09-10  8:41     ` Andy Wingo
  2 siblings, 1 reply; 20+ messages in thread
From: primus @ 2010-09-08 23:06 UTC (permalink / raw)
  To: bug-guile

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

On Wed, Sep 08, 2010 at 09:46:41PM +0200, Andy Wingo wrote:
> Hi,
> 
> On Wed 08 Sep 2010 21:21, primus <rprimus@gmail.com> writes:
> 
> > Failure is at: (won't know where to start debugging this - scheme land now).
> >
> > gmake[2]: Entering directory `/usr/obj/micro/guile-1.9.12/module'
> >   GUILEC ice-9/eval.go
> > guile: uncaught throw to wrong-type-arg: (#f Wrong type (expecting ~A): ~S (exact integer (#t #<catch-closure 3d9da8e0> #<catch-closure 3d9da8d0> #<catch-closure 3d9da8c0>)) ((#t #<catch-closure 3d9da8e0> #<catch-closure 3d9da8d0> #<catch-closure 3d9da8c0>)))
> 
> Ew. What version of libgc do you have?
> 
> If you are able to attach to the guile process while it is building,
> break on scm_ithrow and send the backtrace. You can edit
> meta/guile-tools and replace "exec guile" with "exec
> gdb-uninstalled-guile", then when you get a gdb prompt after typing
> "make", you can "break scm_ithrow", then "run", then "bt full" when you
> hit the error.

Thu Sep  9 00:03:18 BST 2010

Attached is build logfile that contains the
backtrace when compiled with CFLGAS="-g -O0".

-- 
-primus
"It isn't what you make, it's what you don't lose!"

[-- Attachment #2: guile-1.9.12_gmake_all.l7g_gdb.bz2 --]
[-- Type: application/octet-stream, Size: 10139 bytes --]

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

* Re: [1.9.12][OpenBSD] run time failure ...
  2010-09-08 22:12   ` primus
@ 2010-09-10  8:39     ` Andy Wingo
  2010-09-10 13:47       ` primus
  2010-09-10 21:29       ` [1.9.12][OpenBSD] " Ludovic Courtès
  0 siblings, 2 replies; 20+ messages in thread
From: Andy Wingo @ 2010-09-10  8:39 UTC (permalink / raw)
  To: primus; +Cc: bug-guile

On Thu 09 Sep 2010 00:12, primus <rprimus@gmail.com> writes:

> backtrace with new cvs libgc.

Thanks. At this point the problems appears to be related to an
dynamically-loaded extension, like srfi-1. This looks like you are
building a static-only Guile, and we don't usually test that.

So... If you type meta/guile -c '(format #t "hello world\n")' that
should display hello world. Now we need to figure out what's going on
with --disable-shared builds.

Andy
-- 
http://wingolog.org/



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

* Re: [1.9.12][OpenBSD] CFLAGS="-g -O0" run time failure ...
  2010-09-08 23:06   ` [1.9.12][OpenBSD] CFLAGS="-g -O0" " primus
@ 2010-09-10  8:41     ` Andy Wingo
  2010-09-10 13:53       ` primus
  0 siblings, 1 reply; 20+ messages in thread
From: Andy Wingo @ 2010-09-10  8:41 UTC (permalink / raw)
  To: primus; +Cc: bug-guile

On Thu 09 Sep 2010 01:06, primus <rprimus@gmail.com> writes:

>> If you are able to attach to the guile process while it is building,
>> break on scm_ithrow and send the backtrace. You can edit
>> meta/guile-tools and replace "exec guile" with "exec
>> gdb-uninstalled-guile", then when you get a gdb prompt after typing
>> "make", you can "break scm_ithrow", then "run", then "bt full" when you
>> hit the error.

Can you also try "call scm_backtrace ()", please. That will give the
Scheme backtrace, if all goes well.

Andy
-- 
http://wingolog.org/



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

* Re: [1.9.12][OpenBSD] run time failure ...
  2010-09-10  8:39     ` Andy Wingo
@ 2010-09-10 13:47       ` primus
  2010-09-10 14:35         ` Andy Wingo
  2010-09-10 21:29       ` [1.9.12][OpenBSD] " Ludovic Courtès
  1 sibling, 1 reply; 20+ messages in thread
From: primus @ 2010-09-10 13:47 UTC (permalink / raw)
  To: bug-guile

On Fri, Sep 10, 2010 at 10:39:01AM +0200, Andy Wingo wrote:
> On Thu 09 Sep 2010 00:12, primus <rprimus@gmail.com> writes:
> 
> > backtrace with new cvs libgc.
> 
> Thanks. At this point the problems appears to be related to an
> dynamically-loaded extension, like srfi-1. This looks like you are
> building a static-only Guile, and we don't usually test that.

Fri Sep 10 14:45:17 BST 2010

Hi Andy,

Nowhere do I specify that it should be a
static-only build.

# ldd ./libguile/guile
./libguile/guile:
        Start    End      Type Open Ref GrpRef Name
        1c000000 3c042000 exe  1    0   0      ./libguile/guile
        095cf000 295d3000 rlib 0    1   0      /usr/local/lib/libffi.so.0.0
        0f9a1000 2f9a8000 rlib 0    1   0      /usr/local/lib/libgmp.so.8.0
        0afbe000 2afc2000 rlib 0    1   0      /usr/local/lib/libintl.so.4.0
        063de000 263f7000 rlib 0    1   0      /usr/local/lib/libgc.so.1.3
        09113000 291df000 rlib 0    1   0      /usr/local/lib/libunistring.so.1.2
        0372c000 2380b000 rlib 0    2   0      /usr/local/lib/libiconv.so.6.0
        05f8f000 25f99000 rlib 0    1   0      /usr/lib/libm.so.5.2
        00cf8000 20cfc000 rlib 0    1   0      /usr/local/lib/libltdl.so.4.5
        0ae70000 2ae79000 rlib 0    1   0      /usr/lib/libpthread.so.12.1
        092e6000 2931d000 rlib 0    1   0      /usr/lib/libc.so.55.0
        08b64000 08b64000 rtld 0    1   0      /usr/libexec/ld.so


> 
> So... If you type meta/guile -c '(format #t "hello world\n")' that
> should display hello world. Now we need to figure out what's going on
> with --disable-shared builds.

# meta/guile -c '(format #t "hello world\n")'
;;; note: autocompilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-autocompile argument to disable.
;;; compiling /usr/obj/micro/guile-1.9.12/module/ice-9/control.scm
;;; compiling /usr/obj/micro/guile-1.9.12/module/system/base/compile.scm
;;; it seems /usr/obj/micro/guile-1.9.12/module/system/base/compile.scm
;;; is part of the compiler; skipping autocompilation
;;; compiling /usr/obj/micro/guile-1.9.12/module/system/base/syntax.scm
;;; it seems /usr/obj/micro/guile-1.9.12/module/system/base/syntax.scm
;;; is part of the compiler; skipping autocompilation
;;; compiling /usr/obj/micro/guile-1.9.12/module/system/base/language.scm
;;; it seems /usr/obj/micro/guile-1.9.12/module/system/base/language.scm
;;; is part of the compiler; skipping autocompilation
;;; compiling /usr/obj/micro/guile-1.9.12/module/system/base/message.scm
;;; it seems /usr/obj/micro/guile-1.9.12/module/system/base/message.scm
;;; is part of the compiler; skipping autocompilation
;;; compiling /usr/obj/micro/guile-1.9.12/module/srfi/srfi-1.scm
;;; it seems /usr/obj/micro/guile-1.9.12/module/srfi/srfi-1.scm
;;; is part of the compiler; skipping autocompilation
;;; compiling /usr/obj/micro/guile-1.9.12/module/system/vm/frame.scm
;;; it seems /usr/obj/micro/guile-1.9.12/module/system/vm/frame.scm
;;; is part of the compiler; skipping autocompilation
;;; compiling /usr/obj/micro/guile-1.9.12/module/system/base/pmatch.scm
;;; it seems /usr/obj/micro/guile-1.9.12/module/system/base/pmatch.scm
;;; is part of the compiler; skipping autocompilation
;;; compiling /usr/obj/micro/guile-1.9.12/module/system/vm/program.scm
;;; it seems /usr/obj/micro/guile-1.9.12/module/system/vm/program.scm
;;; is part of the compiler; skipping autocompilation
;;; compiling /usr/obj/micro/guile-1.9.12/module/srfi/srfi-26.scm
;;; it seems /usr/obj/micro/guile-1.9.12/module/srfi/srfi-26.scm
;;; is part of the compiler; skipping autocompilation
guile: uncaught throw to wrong-type-arg: (#f Wrong type (expecting ~A): ~S (exact integer (#t #<catch-closure 3c109ff0> #<catch-closure 3c109fe0> #<catch-closure 3c109fd0>)) ((#t #<catch-closure 3c109ff0> #<catch-closure 3c109fe0> #<catch-closure 3c109fd0>)))

> 
> Andy

-- 
-primus
"If I had more time, I would have written you a shorter letter" - Pascal
"It isn't what you make, it's what you don't lose!"



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

* Re: [1.9.12][OpenBSD] CFLAGS="-g -O0" run time failure ...
  2010-09-10  8:41     ` Andy Wingo
@ 2010-09-10 13:53       ` primus
  0 siblings, 0 replies; 20+ messages in thread
From: primus @ 2010-09-10 13:53 UTC (permalink / raw)
  To: bug-guile

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

On Fri, Sep 10, 2010 at 10:41:08AM +0200, Andy Wingo wrote:
> On Thu 09 Sep 2010 01:06, primus <rprimus@gmail.com> writes:
> 
> >> If you are able to attach to the guile process while it is building,
> >> break on scm_ithrow and send the backtrace. You can edit
> >> meta/guile-tools and replace "exec guile" with "exec
> >> gdb-uninstalled-guile", then when you get a gdb prompt after typing
> >> "make", you can "break scm_ithrow", then "run", then "bt full" when you
> >> hit the error.
> 
> Can you also try "call scm_backtrace ()", please. That will give the
> Scheme backtrace, if all goes well.

Fri Sep 10 14:51:11 BST 2010

attached is guile-1.9.12_gmake_all.l8g_gdb.bz2

relevant info from call:
(gdb) call scm_backtrace ()

Breakpoint 1, scm_ithrow (key=0x3c0788d0, args=0x3d11b3c0, noreturn=1) at throw.c:453
453     }


Doesn't look like this is what you may have been expecting.

-- 
-primus
"If I had more time, I would have written you a shorter letter" - Pascal
"It isn't what you make, it's what you don't lose!"

[-- Attachment #2: guile-1.9.12_gmake_all.l8g_gdb.bz2 --]
[-- Type: application/octet-stream, Size: 1185 bytes --]

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

* Re: [1.9.12][OpenBSD] run time failure ...
  2010-09-10 13:47       ` primus
@ 2010-09-10 14:35         ` Andy Wingo
  2010-09-10 15:44           ` primus
  2010-09-10 16:44           ` [1.9.12][OpenBSD] [SOLUTION] " primus
  0 siblings, 2 replies; 20+ messages in thread
From: Andy Wingo @ 2010-09-10 14:35 UTC (permalink / raw)
  To: primus; +Cc: bug-guile

On Fri 10 Sep 2010 15:47, primus <rprimus@gmail.com> writes:

> On Fri, Sep 10, 2010 at 10:39:01AM +0200, Andy Wingo wrote:
>> On Thu 09 Sep 2010 00:12, primus <rprimus@gmail.com> writes:
>> 
>> > backtrace with new cvs libgc.
>> 
>> Thanks. At this point the problems appears to be related to an
>> dynamically-loaded extension, like srfi-1. This looks like you are
>> building a static-only Guile, and we don't usually test that.
>
> Fri Sep 10 14:45:17 BST 2010
>
> Hi Andy,
>
> Nowhere do I specify that it should be a
> static-only build.

It's statically linking libguile to guile. You sure you didn't pass
--disable-shared on the configure line? Surely libtool can make shared
libraries on openbsd?

> # ldd ./libguile/guile
> ./libguile/guile:
>         Start    End      Type Open Ref GrpRef Name
>         1c000000 3c042000 exe  1    0   0      ./libguile/guile
[...]

Here guile should probably be a libtool helper script, and
libguile/.libs/lt-guile should link to libguile-2.0.so.

>> 
>> So... If you type meta/guile -c '(format #t "hello world\n")' that
>> should display hello world. Now we need to figure out what's going on
>> with --disable-shared builds.
>
> # meta/guile -c '(format #t "hello world\n")'
> ;;; note: autocompilation is enabled, set GUILE_AUTO_COMPILE=0
> ;;;       or pass the --no-autocompile argument to disable.

Ah yes. But meta/guile --no-autocompile -c '(format #t "hello world\n")'
works?

A
-- 
http://wingolog.org/



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

* Re: [1.9.12][OpenBSD] run time failure ...
  2010-09-10 14:35         ` Andy Wingo
@ 2010-09-10 15:44           ` primus
  2010-09-10 21:37             ` Ludovic Courtès
  2010-09-10 16:44           ` [1.9.12][OpenBSD] [SOLUTION] " primus
  1 sibling, 1 reply; 20+ messages in thread
From: primus @ 2010-09-10 15:44 UTC (permalink / raw)
  To: bug-guile

On Fri, Sep 10, 2010 at 04:35:27PM +0200, Andy Wingo wrote:
> >
> > Nowhere do I specify that it should be a
> > static-only build.
> 
> It's statically linking libguile to guile. You sure you didn't pass
> --disable-shared on the configure line? Surely libtool can make shared
> libraries on openbsd?

Fri Sep 10 16:25:23 BST 2010

configure was run as:

env CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" ./configure  2>&1 | tee <logfile>

# grep -A1 -i shared config.log
configure:9187: checking for shared library run path origin
configure:9200: result: done
configure:24931: checking whether the gcc -std=gnu99 linker (/usr/bin/ld) supports shared libraries
configure:25917: result: yes
configure:25977: gcc -std=gnu99 -shared  -fPIC -DPIC -o conftest conftest.o  -v 2\>\&1 \| /usr/bin/grep  -lc  \>/dev/null 2\>\&1
configure:25980: $? = 1
configure:27494: checking if libtool supports shared libraries
configure:27496: result: yes
configure:27499: checking whether to build shared libraries
configure:27520: result: yes
sharedstatedir='${prefix}/com'
sitedir='${datarootdir}/guile/site/2.0'

> 
> > # ldd ./libguile/guile
> > ./libguile/guile:
> >         Start    End      Type Open Ref GrpRef Name
> >         1c000000 3c042000 exe  1    0   0      ./libguile/guile
> [...]
> 
> Here guile should probably be a libtool helper script, and
> libguile/.libs/lt-guile should link to libguile-2.0.so.

# pwd
/usr/obj/micro/guile-1.9.12
# find . -name "*.so*" -print
# find . -name "*lt-guile*" -print
#

From logfile *.l6g:

posix.c:1844:5: warning: "HAVE_CUSERID" is not defined
  CC     net_db.lo
  CC     socket.lo
  CC     regex-posix.lo
  CCLD   libguile-2.0.la

*** Warning: linker path does not have real file for library -lm.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libm and none of the candidates passed a file format test
*** using a regex pattern. Last file checked: /usr/local/lib/libiconv.so.4.0
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.

*** Since this library must not contain undefined symbols,
*** because either the platform does not support them or
*** it was explicitly requested with -no-undefined,
*** libtool will only create a static version of it.
  CC     guile-guile.o
  CCLD   guile
/usr/local/lib/libgmp.so.8.0: warning: vsprintf() is often misused, please use vsnprintf()
./.libs/libguile-2.0.a(posix.o)(.text+0x253f): In function `scm_tmpnam':
/usr/obj/micro/guile-1.9.12/libguile/posix.c:1317: warning: tmpnam() possibly used unsafely; consider using mkstemp()
./.libs/libguile-2.0.a(libguile_2.0_la-load.o)(.text+0x9df): In function `stringbuf_cat':
/usr/obj/micro/guile-1.9.12/libguile/load.c:378: warning: strcpy() is almost always misused, please use strlcpy()
./.libs/libguile-2.0.a(libguile_2.0_la-bytevectors.o)(.text+0x1982): In function `scm_utf32_to_string':
/usr/obj/micro/guile-1.9.12/libguile/bytevectors.c:1888: warning: strcat() is almost always misused, please use strlcat()
./.libs/libguile-2.0.a(libguile_2.0_la-srfi-14.o)(.text+0x463): In function `scm_sys_char_set_dump':
/usr/obj/micro/guile-1.9.12/libguile/srfi-14.c:2047: warning: sprintf() is often misused, please use snprintf()
  GEN    c-tokenize.o
  GEN    guile_filter_doc_snarfage

2nd paragraph:
	*** libtool will only create a static version of it.

What 'it' is being referred to?

The above message appears to be generated by:
	./build-aux/ltmain.sh

Reading through that now.

-- 
-primus
"If I had more time, I would have written you a shorter letter" - Pascal
"It isn't what you make, it's what you don't lose!"



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

* Re: [1.9.12][OpenBSD] [SOLUTION] run time failure ...
  2010-09-10 14:35         ` Andy Wingo
  2010-09-10 15:44           ` primus
@ 2010-09-10 16:44           ` primus
  1 sibling, 0 replies; 20+ messages in thread
From: primus @ 2010-09-10 16:44 UTC (permalink / raw)
  To: bug-guile

Fri Sep 10 17:40:26 BST 2010

Solution found:

need to also pass "-L/usr/lib" to configure:

env CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib -L/usr/lib" ./configure 

So far has progress to:

GUILE_AUTO_COMPILE=0                                    \
        ../meta/uninstalled-env                 \
        guile-tools compile -Wunbound-variable -Warity-mismatch -o "ice-9/psyntax-pp.go" "./ice-9/psyntax.scm"

with processor pegged:
  PID USERNAME PRI NICE  SIZE   RES STATE     WAIT      TIME    CPU COMMAND
21419 root      64    0  848K   30M run       -        17:14 97.51% guile

Have a good weekend.

-- 
-primus
"If I had more time, I would have written you a shorter letter" - Pascal
"It isn't what you make, it's what you don't lose!"



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

* Re: [1.9.12][OpenBSD] run time failure ...
  2010-09-10  8:39     ` Andy Wingo
  2010-09-10 13:47       ` primus
@ 2010-09-10 21:29       ` Ludovic Courtès
  2010-09-12 11:32         ` Andy Wingo
  1 sibling, 1 reply; 20+ messages in thread
From: Ludovic Courtès @ 2010-09-10 21:29 UTC (permalink / raw)
  To: bug-guile

Hi!

Andy Wingo <wingo@pobox.com> writes:

> Now we need to figure out what's going on
> with --disable-shared builds.

It’s not supported:

  http://www.mail-archive.com/guile-devel@gnu.org/msg02985.html

But it may become suddenly supported once SRFI-1 is in Scheme.  :-)

Thanks,
Ludo’.




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

* Re: [1.9.12][OpenBSD] run time failure ...
  2010-09-10 15:44           ` primus
@ 2010-09-10 21:37             ` Ludovic Courtès
  0 siblings, 0 replies; 20+ messages in thread
From: Ludovic Courtès @ 2010-09-10 21:37 UTC (permalink / raw)
  To: bug-guile

Hi,

primus <rprimus@gmail.com> writes:

>   CCLD   libguile-2.0.la
>
> *** Warning: linker path does not have real file for library -lm.

[...]

> *** libtool will only create a static version of it.

Can you try the following:

  cd libguile
  rm -f libguile*.la .libs/libguile*.a .libs/libguile*.so*
  make V=1 CC="--debug gcc" libguile-2.0.la 2>&1 | tee log

and then post ‘log’?

Thanks,
Ludo’.




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

* Re: [1.9.12][OpenBSD] run time failure ...
  2010-09-10 21:29       ` [1.9.12][OpenBSD] " Ludovic Courtès
@ 2010-09-12 11:32         ` Andy Wingo
  2010-09-12 17:41           ` Ludovic Courtès
  0 siblings, 1 reply; 20+ messages in thread
From: Andy Wingo @ 2010-09-12 11:32 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: bug-guile

Hi,

On Fri 10 Sep 2010 23:29, ludo@gnu.org (Ludovic Courtès) writes:

> Andy Wingo <wingo@pobox.com> writes:
>
>> Now we need to figure out what's going on
>> with --disable-shared builds.
>
> It’s not supported:
>
>   http://www.mail-archive.com/guile-devel@gnu.org/msg02985.html
>
> But it may become suddenly supported once SRFI-1 is in Scheme.  :-)

This is a bit ridiculous. Let's just pull all that srfi C code into the
core. They are all no-ops except for srfi-60. The bindings should remain
invisible to the default Scheme environment.

Andy
-- 
http://wingolog.org/



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

* Re: [1.9.12][OpenBSD] run time failure ...
  2010-09-12 11:32         ` Andy Wingo
@ 2010-09-12 17:41           ` Ludovic Courtès
  2010-09-12 20:26             ` Andy Wingo
  0 siblings, 1 reply; 20+ messages in thread
From: Ludovic Courtès @ 2010-09-12 17:41 UTC (permalink / raw)
  To: Andy Wingo; +Cc: bug-guile

Hi,

Andy Wingo <wingo@pobox.com> writes:

> On Fri 10 Sep 2010 23:29, ludo@gnu.org (Ludovic Courtès) writes:
>
>> Andy Wingo <wingo@pobox.com> writes:
>>
>>> Now we need to figure out what's going on
>>> with --disable-shared builds.
>>
>> It’s not supported:
>>
>>   http://www.mail-archive.com/guile-devel@gnu.org/msg02985.html
>>
>> But it may become suddenly supported once SRFI-1 is in Scheme.  :-)
>
> This is a bit ridiculous. Let's just pull all that srfi C code into the
> core.

Yes, but some projects might link directly against libguile-srfi-srfi*,
so we may need to keep them around (that was my thinking for SRFI-1.)

Thanks,
Ludo’.



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

* Re: [1.9.12][OpenBSD] run time failure ...
  2010-09-12 17:41           ` Ludovic Courtès
@ 2010-09-12 20:26             ` Andy Wingo
  2010-09-12 20:38               ` Ludovic Courtès
  0 siblings, 1 reply; 20+ messages in thread
From: Andy Wingo @ 2010-09-12 20:26 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: bug-guile

Heya,

On Sun 12 Sep 2010 19:41, ludo@gnu.org (Ludovic Courtès) writes:

>> This is a bit ridiculous. Let's just pull all that srfi C code into the
>> core.
>
> Yes, but some projects might link directly against libguile-srfi-srfi*,
> so we may need to keep them around (that was my thinking for SRFI-1.)

You know what, I don't think we do. Currently to link to e.g. srfi-1,
one needs to do a `-lguile-srfi-srfi-1-v-4'. guile-config doesn't
provide this information, especially the "-v-4", and it isn't encoded
anywhere within Guile as far as I can tell, and certainly not in the
manual. I can't pull up any uses on any of the code search sites.

So that means no one is using it. We may safely remove those libs, and
those header files.

I'm not usually so rash regarding removing interfaces, but I would be
surprised if this affected anyone at all.

Andy
-- 
http://wingolog.org/



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

* Re: [1.9.12][OpenBSD] run time failure ...
  2010-09-12 20:26             ` Andy Wingo
@ 2010-09-12 20:38               ` Ludovic Courtès
  2010-09-12 21:41                 ` Andy Wingo
  0 siblings, 1 reply; 20+ messages in thread
From: Ludovic Courtès @ 2010-09-12 20:38 UTC (permalink / raw)
  To: Andy Wingo; +Cc: bug-guile

Hi,

Andy Wingo <wingo@pobox.com> writes:

> On Sun 12 Sep 2010 19:41, ludo@gnu.org (Ludovic Courtès) writes:
>
>>> This is a bit ridiculous. Let's just pull all that srfi C code into the
>>> core.
>>
>> Yes, but some projects might link directly against libguile-srfi-srfi*,
>> so we may need to keep them around (that was my thinking for SRFI-1.)
>
> You know what, I don't think we do. Currently to link to e.g. srfi-1,
> one needs to do a `-lguile-srfi-srfi-1-v-4'. guile-config doesn't
> provide this information, especially the "-v-4", and it isn't encoded
> anywhere within Guile as far as I can tell, and certainly not in the
> manual. I can't pull up any uses on any of the code search sites.

Well yeah, you may be right.  It’s always an issue with those
semi-private APIs.

> So that means no one is using it. We may safely remove those libs, and
> those header files.
>
> I'm not usually so rash regarding removing interfaces, but I would be
> surprised if this affected anyone at all.

OK, let’s do it this way.

I may keep the C proxies to the Scheme SRFI-1 until the conversion is
over, though, and remove them afterward.

Thanks,
Ludo’.



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

* Re: [1.9.12][OpenBSD] run time failure ...
  2010-09-12 20:38               ` Ludovic Courtès
@ 2010-09-12 21:41                 ` Andy Wingo
  0 siblings, 0 replies; 20+ messages in thread
From: Andy Wingo @ 2010-09-12 21:41 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: bug-guile

Hi,

On Sun 12 Sep 2010 22:38, ludo@gnu.org (Ludovic Courtès) writes:

>> We may safely remove [SRFI C code]
>
> OK, let’s do it this way.

Excellent. Pushed!

Andy
-- 
http://wingolog.org/



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

end of thread, other threads:[~2010-09-12 21:41 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-08 19:21 [1.9.12][OpenBSD] run time failure primus
2010-09-08 19:46 ` Andy Wingo
2010-09-08 20:07   ` primus
2010-09-08 21:58     ` Ludovic Courtès
2010-09-08 22:12   ` primus
2010-09-10  8:39     ` Andy Wingo
2010-09-10 13:47       ` primus
2010-09-10 14:35         ` Andy Wingo
2010-09-10 15:44           ` primus
2010-09-10 21:37             ` Ludovic Courtès
2010-09-10 16:44           ` [1.9.12][OpenBSD] [SOLUTION] " primus
2010-09-10 21:29       ` [1.9.12][OpenBSD] " Ludovic Courtès
2010-09-12 11:32         ` Andy Wingo
2010-09-12 17:41           ` Ludovic Courtès
2010-09-12 20:26             ` Andy Wingo
2010-09-12 20:38               ` Ludovic Courtès
2010-09-12 21:41                 ` Andy Wingo
2010-09-08 23:06   ` [1.9.12][OpenBSD] CFLAGS="-g -O0" " primus
2010-09-10  8:41     ` Andy Wingo
2010-09-10 13:53       ` primus

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