unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* debugging guile test failure and segfault.
@ 2007-06-04 16:49 Dan McMahill
  2007-06-06  8:24 ` Ludovic Courtès
  0 siblings, 1 reply; 23+ messages in thread
From: Dan McMahill @ 2007-06-04 16:49 UTC (permalink / raw)
  To: guile-user

Hello,

I've managed to get guile-1.8.1 to build (with a few patches) on my 
NetBSD/alpha system.  Now I'm trying to investigate some failing tests. 
  The tests which fail are:

Running numbers.test
FAIL: numbers.test: max: big / real: (= big*5 (max big*5 -inf.0))
FAIL: numbers.test: max: real / big: (= big*5 (max -inf.0 big*5))
FAIL: numbers.test: min: big / real: (= big*5 (min big*5 +inf.0))
FAIL: numbers.test: min: real / big: (= big*5 (min +inf.0 big*5))

and then later:


Running r4rs.test
[1]   Segmentation fault      ${dir}${tst}
FAIL: check-guile

The others all pass which I guess is a good sign.

At this point, I have two questions.

1)  Is there a more or less simple way to step through the tests in an 
interactive mode where I can get to the failures in numbers.test to 
really see what values are involved and causing the failure?   I'm 
guessing that either I'm seeing an artifact of alphas being 64-bit 
systems or that alphas may deal differently with IEEE math and things 
like Inf and NaN.

2)  Is there a simple way to get the r4rs.test to run in the debugger so 
I can either track this down myself or provide some more useful feedback?

I'm also working on getting this going on Solaris-2.9/sparc but am not 
quite to the testsuite part.  I have a few bug fix patches there too. 
Once I get my various problems worked out, I'll submit a more cleaned up 
set of patches.

Thanks
-Dan


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-04 16:49 Dan McMahill
@ 2007-06-06  8:24 ` Ludovic Courtès
  2007-06-07  5:09   ` Dan McMahill
  2007-06-09 14:18   ` Dan McMahill
  0 siblings, 2 replies; 23+ messages in thread
From: Ludovic Courtès @ 2007-06-06  8:24 UTC (permalink / raw)
  To: mcmahill; +Cc: guile-user

Hi,

Dan McMahill <mcmahill@mtl.mit.edu> writes:

> Running numbers.test
> FAIL: numbers.test: max: big / real: (= big*5 (max big*5 -inf.0))
> FAIL: numbers.test: max: real / big: (= big*5 (max -inf.0 big*5))
> FAIL: numbers.test: min: big / real: (= big*5 (min big*5 +inf.0))
> FAIL: numbers.test: min: real / big: (= big*5 (min +inf.0 big*5))

These tests should be using `eqv?' rather than `='.  This was fixed on
2006-12-02 (and will appear in the next release).  So, that's nothing to
worry about.

> Running r4rs.test
> [1]   Segmentation fault      ${dir}${tst}
> FAIL: check-guile

I guess you'll have to send us a stack trace.  :-)  So you need to make
sure you compile Guile with the `-g' flags (e.g., by running "make
CFLAGS=-g"); then you can run "gdb libguile/.libs/lt-guile core",
assuming a `core' file was generated when it segfaulted.

> 1)  Is there a more or less simple way to step through the tests in an
> interactive mode where I can get to the failures in numbers.test to
> really see what values are involved and causing the failure?

>From the top-level build directory, you can run:

  $ ./pre-inst-guile test-suite/tests/numbers.test

But for `r4rs.test', you'll need something more complicated:

  $ ./pre-inst-guile -c "
     (module-set! (resolve-module '(test-suite guile-test))
                  'test-suite \"$PWD/test-suite/tests\")
     (module-set! (resolve-module '(test-suite guile-test))
                  'tmp-dir \"/tmp\")
     (load \"test-suite/tests/r4rs.test\")"

(This could surely be improved...)

> 2)  Is there a simple way to get the r4rs.test to run in the debugger
> so I can either track this down myself or provide some more useful
> feedback?

See above: run the debugger on the `core' file.

> I'm also working on getting this going on Solaris-2.9/sparc but am not
> quite to the testsuite part.  I have a few bug fix patches there
> too. Once I get my various problems worked out, I'll submit a more
> cleaned up set of patches.

Nice!

Thanks,
Ludovic.


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-06  8:24 ` Ludovic Courtès
@ 2007-06-07  5:09   ` Dan McMahill
  2007-06-07  8:57     ` Ludovic Courtès
  2007-06-09 14:18   ` Dan McMahill
  1 sibling, 1 reply; 23+ messages in thread
From: Dan McMahill @ 2007-06-07  5:09 UTC (permalink / raw)
  To: guile-user

Ludovic Courtès wrote:
> Hi,
> 
> Dan McMahill <mcmahill@mtl.mit.edu> writes:
> 


>> Running r4rs.test
>> [1]   Segmentation fault      ${dir}${tst}
>> FAIL: check-guile
> 
> I guess you'll have to send us a stack trace.  :-)  So you need to make
> sure you compile Guile with the `-g' flags (e.g., by running "make
> CFLAGS=-g"); then you can run "gdb libguile/.libs/lt-guile core",
> assuming a `core' file was generated when it segfaulted.

ok, I turned off -O2 to avoid any compiler strange behaviour, got the 
core file and ran

gdb libguile/.libs/guile guile.core

a back trace showed that around line 834 of libguile/posix.c there is a 
call to ttyname() which is returning NULL.   Unfortunately that NULL 
pointer is used a few lines later by some functions which try to run 
strlen() on it.  Thats where the segfault is.

I tried configuring with --without-threads to see if turning off 
threading support made a difference and it didn't.

I also added a call to isatty(fd) in there to see it returns true and it 
does so I don't know whats up.  Perhaps there is some other bug on my 
system.  Either way, there should probably be some better error checking 
in posix.c.  There is some error checking but not until after "result" 
is used.

The error is "No such file or directory".  I wonder if perhaps this is 
related to running in a chroot environment.

--- libguile/posix.c.orig       2006-10-04 03:35:07.000000000 +0000
+++ libguile/posix.c
@@ -831,14 +831,20 @@ SCM_DEFINE (scm_ttyname, "ttyname", 1, 0
    scm_i_scm_pthread_mutex_lock (&scm_i_misc_mutex);
    SCM_SYSCALL (result = ttyname (fd));
    err = errno;
-  ret = scm_from_locale_string (result);
-  scm_i_pthread_mutex_unlock (&scm_i_misc_mutex);

    if (!result)
      {
        errno = err;
        SCM_SYSERROR;
+      ret = scm_from_locale_string ("unknown");
+    }
+  else
+    {
+      ret = scm_from_locale_string (result);
      }
+
+  scm_i_pthread_mutex_unlock (&scm_i_misc_mutex);
+
    return ret;
  }
  #undef FUNC_NAME


with this patch instead of a segfault I get:

Running r4rs.test
ERROR: In procedure ttyname:
ERROR: No such file or directory

unfortunately the testsuite still stops running so I don't know what all 
else may still be failing.  After moving aside r4rs.test I make it to:

Running regexp.test
Segmentation fault (core dumped)


#0  0x00000001600d6bb4 in scm_is_pair (x=0x10001202cbd60) at inline.h:272
#1  0x0000000160086434 in scm_sloppy_assq (key=0x1200673a0, 
alist=0x10001202cbd60) at alist.c:53
#2  0x00000001600d2a58 in scm_hash_fn_get_handle (table=0x120321ac0, 
obj=0x1200673a0, hash_fn=0x1600d15ec <scm_ihashq>,
     assoc_fn=0x160086408 <scm_sloppy_assq>, closure=0x0) at hashtab.c:428
#3  0x00000001600d2e20 in scm_hash_fn_ref (table=0x12009aba0, 
obj=0x1200673a0, dflt=0x4, hash_fn=0x1600d15ec <scm_ihashq>,
     assoc_fn=0x160086408 <scm_sloppy_assq>, closure=0x0) at hashtab.c:500
#4  0x00000001600d3304 in scm_hashq_ref (table=0x12009aba0, 
key=0x1200673a0, dflt=0x4) at hashtab.c:613
#5  0x00000001600dc904 in module_variable (module=0x12009ab40, 
sym=0x1200673a0) at modules.c:289
#6  0x00000001600dcabc in scm_eval_closure_lookup (eclo=0x1200f56d0, 
sym=0x1200673a0, definep=0x4) at modules.c:337
#7  0x00000001600dcf38 in scm_sym2var (sym=0x1200673a0, 
proc=0x1200f56d0, definep=0x4) at modules.c:461
#8  0x00000001600a2d6c in scm_lookupcar1 (vloc=0x12071b1e0, 
genv=0x120228620, check=1) at eval.c:2861
#9  0x00000001600a73b0 in ceval (x=0x12071b1e0, env=0x120228620) at 
eval.c:4027
#10 0x00000001600a4d54 in ceval (x=0x1202286d0, env=0x120228620) at 
eval.c:3557
#11 0x00000001600a3cb4 in ceval (x=0x12071adc0, env=0x12071aa10) at 
eval.c:3384
#12 0x00000001600aa168 in scm_apply (proc=0x1201522c0, arg1=0x404, 
args=0x12071aa30) at eval.c:4997
#13 0x00000001600a90b0 in scm_call_0 (proc=0x12071aaa0) at eval.c:4651


After moving aside regexp.test the remaining tests finish with:

Totals for this test run:
passes:                 10091
failures:               1
unexpected passes:      0
expected failures:      25
unresolved test cases:  12
untested test cases:    0
unsupported test cases: 17
errors:                 0

-Dan


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-07  5:09   ` Dan McMahill
@ 2007-06-07  8:57     ` Ludovic Courtès
  2007-06-08 22:53       ` Dan McMahill
  0 siblings, 1 reply; 23+ messages in thread
From: Ludovic Courtès @ 2007-06-07  8:57 UTC (permalink / raw)
  To: mcmahill; +Cc: guile-user

Hi,

Dan McMahill <mcmahill@mtl.mit.edu> writes:

> a back trace showed that around line 834 of libguile/posix.c there is
> a call to ttyname() which is returning NULL.   Unfortunately that NULL
> pointer is used a few lines later by some functions which try to run
> strlen() on it.  Thats where the segfault is.

Good catch!  I committed a patch similar to yours along with a test case
in CVS.

> Running r4rs.test
> ERROR: In procedure ttyname:
> ERROR: No such file or directory

I can't see what's causing this in `r4rs.test'.  Could you try running
that test from the prompt and enter the debugger when the error is
raised so that we get a Scheme stack trace?  Roughly:

  $ ./pre-inst-guile
  guile> (module-set! (resolve-module '(test-suite guile-test))
                     'test-suite \"$PWD/test-suite/tests\")
  guile> (module-set! (resolve-module '(test-suite guile-test))
                      'tmp-dir "/tmp\)
  guile> (load "test-suite/tests/r4rs.test")
  [...]
  ERROR: ...
  guile> (debug)
  debug> bt

> Running regexp.test
> Segmentation fault (core dumped)
>
>
> #0  0x00000001600d6bb4 in scm_is_pair (x=0x10001202cbd60) at inline.h:272
> #1  0x0000000160086434 in scm_sloppy_assq (key=0x1200673a0,
> alist=0x10001202cbd60) at alist.c:53
> #2  0x00000001600d2a58 in scm_hash_fn_get_handle (table=0x120321ac0,
> obj=0x1200673a0, hash_fn=0x1600d15ec <scm_ihashq>,
>     assoc_fn=0x160086408 <scm_sloppy_assq>, closure=0x0) at hashtab.c:428
> #3  0x00000001600d2e20 in scm_hash_fn_ref (table=0x12009aba0,
> obj=0x1200673a0, dflt=0x4, hash_fn=0x1600d15ec <scm_ihashq>,
>     assoc_fn=0x160086408 <scm_sloppy_assq>, closure=0x0) at hashtab.c:500
> #4  0x00000001600d3304 in scm_hashq_ref (table=0x12009aba0,
> key=0x1200673a0, dflt=0x4) at hashtab.c:613
> #5  0x00000001600dc904 in module_variable (module=0x12009ab40,
> sym=0x1200673a0) at modules.c:289
> #6  0x00000001600dcabc in scm_eval_closure_lookup (eclo=0x1200f56d0,
> sym=0x1200673a0, definep=0x4) at modules.c:337
> #7  0x00000001600dcf38 in scm_sym2var (sym=0x1200673a0,
> proc=0x1200f56d0, definep=0x4) at modules.c:461
> #8  0x00000001600a2d6c in scm_lookupcar1 (vloc=0x12071b1e0,
> genv=0x120228620, check=1) at eval.c:2861
> #9  0x00000001600a73b0 in ceval (x=0x12071b1e0, env=0x120228620) at
> eval.c:4027
> #10 0x00000001600a4d54 in ceval (x=0x1202286d0, env=0x120228620) at
> eval.c:3557
> #11 0x00000001600a3cb4 in ceval (x=0x12071adc0, env=0x12071aa10) at
> eval.c:3384
> #12 0x00000001600aa168 in scm_apply (proc=0x1201522c0, arg1=0x404,
> args=0x12071aa30) at eval.c:4997
> #13 0x00000001600a90b0 in scm_call_0 (proc=0x12071aaa0) at eval.c:4651

This one is certainly trickier.  The stack trace above is that of a
variable lookup (i.e., not related to regexps).  Can you try running
`regexp.test' alone just to make sure?

Address X is 8-byte aligned, which corresponds to a non-immediate.
Could you try printing (from the debugger) `* ((SCM *) x)' and
`* ((SCM *) x + 1)'?

I'm afraid it'll be quite hard to find out what's going wrong...

Thanks for debugging!

Ludovic.


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-07  8:57     ` Ludovic Courtès
@ 2007-06-08 22:53       ` Dan McMahill
  2007-06-10 13:51         ` Ludovic Courtès
  0 siblings, 1 reply; 23+ messages in thread
From: Dan McMahill @ 2007-06-08 22:53 UTC (permalink / raw)
  To: guile-user

Ludovic Courtès wrote:
> Hi,
> 
> Dan McMahill <mcmahill@mtl.mit.edu> writes:
> 
>> a back trace showed that around line 834 of libguile/posix.c there is
>> a call to ttyname() which is returning NULL.   Unfortunately that NULL
>> pointer is used a few lines later by some functions which try to run
>> strlen() on it.  Thats where the segfault is.
> 
> Good catch!  I committed a patch similar to yours along with a test case
> in CVS.
> 
>> Running r4rs.test
>> ERROR: In procedure ttyname:
>> ERROR: No such file or directory
> 
> I can't see what's causing this in `r4rs.test'.  Could you try running
> that test from the prompt and enter the debugger when the error is
> raised so that we get a Scheme stack trace?  Roughly:
> 
>   $ ./pre-inst-guile
>   guile> (module-set! (resolve-module '(test-suite guile-test))
>                      'test-suite \"$PWD/test-suite/tests\")
>   guile> (module-set! (resolve-module '(test-suite guile-test))
>                       'tmp-dir "/tmp\)
>   guile> (load "test-suite/tests/r4rs.test")
>   [...]
>   ERROR: ...
>   guile> (debug)
>   debug> bt
> 
>> Running regexp.test
>> Segmentation fault (core dumped)

# ./pre-inst-guile
guile> (module-set! (resolve-module '(test-suite guile-test))
'test-suite "$PWD/test-suite/tests")
guile> (module-set! (resolve-module '(test-suite guile-test)) 'tmp-dir
"/tmp")
guile> (load "test-suite/tests/r4rs.test")

[snip]
PASS: (6 9): (#<procedure list-length (obj)> (a b . c))
PASS: (6 9): (#<primitive-generic map> #<primitive-procedure cadr> ())

Backtrace:
In unknown file:
    ?: 0* [primitive-load "test-suite/tests/r4rs.test"]
In test-suite/tests/r4rs.test:
  923: 1*
Exception during displaying of backtrace: system-error

test-suite/tests/r4rs.test:88:45: In procedure ttyname in expression
(write (cons fun args) port):
test-suite/tests/r4rs.test:88:45: No such file or directory
ABORT: (system-error)
guile> (debug)
Frame 9 at test-suite/tests/r4rs.test:88:45
         ERROR: In procedure ttyname:
ERROR: No such file or directory
ABORT: (system-error)
guile>

this doesn't look promising.


>>
>> #0  0x00000001600d6bb4 in scm_is_pair (x=0x10001202cbd60) at inline.h:272
>> #1  0x0000000160086434 in scm_sloppy_assq (key=0x1200673a0,
>> alist=0x10001202cbd60) at alist.c:53
>> #2  0x00000001600d2a58 in scm_hash_fn_get_handle (table=0x120321ac0,
>> obj=0x1200673a0, hash_fn=0x1600d15ec <scm_ihashq>,
>>     assoc_fn=0x160086408 <scm_sloppy_assq>, closure=0x0) at hashtab.c:428
>> #3  0x00000001600d2e20 in scm_hash_fn_ref (table=0x12009aba0,
>> obj=0x1200673a0, dflt=0x4, hash_fn=0x1600d15ec <scm_ihashq>,
>>     assoc_fn=0x160086408 <scm_sloppy_assq>, closure=0x0) at hashtab.c:500
>> #4  0x00000001600d3304 in scm_hashq_ref (table=0x12009aba0,
>> key=0x1200673a0, dflt=0x4) at hashtab.c:613
>> #5  0x00000001600dc904 in module_variable (module=0x12009ab40,
>> sym=0x1200673a0) at modules.c:289
>> #6  0x00000001600dcabc in scm_eval_closure_lookup (eclo=0x1200f56d0,
>> sym=0x1200673a0, definep=0x4) at modules.c:337
>> #7  0x00000001600dcf38 in scm_sym2var (sym=0x1200673a0,
>> proc=0x1200f56d0, definep=0x4) at modules.c:461
>> #8  0x00000001600a2d6c in scm_lookupcar1 (vloc=0x12071b1e0,
>> genv=0x120228620, check=1) at eval.c:2861
>> #9  0x00000001600a73b0 in ceval (x=0x12071b1e0, env=0x120228620) at
>> eval.c:4027
>> #10 0x00000001600a4d54 in ceval (x=0x1202286d0, env=0x120228620) at
>> eval.c:3557
>> #11 0x00000001600a3cb4 in ceval (x=0x12071adc0, env=0x12071aa10) at
>> eval.c:3384
>> #12 0x00000001600aa168 in scm_apply (proc=0x1201522c0, arg1=0x404,
>> args=0x12071aa30) at eval.c:4997
>> #13 0x00000001600a90b0 in scm_call_0 (proc=0x12071aaa0) at eval.c:4651
> 
> This one is certainly trickier.  The stack trace above is that of a
> variable lookup (i.e., not related to regexps).  Can you try running
> `regexp.test' alone just to make sure?
> 
> Address X is 8-byte aligned, which corresponds to a non-immediate.
> Could you try printing (from the debugger) `* ((SCM *) x)' and
> `* ((SCM *) x + 1)'?

now I'm having some problems reproducing this.  I'll keep trying.

-Dan



_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-06  8:24 ` Ludovic Courtès
  2007-06-07  5:09   ` Dan McMahill
@ 2007-06-09 14:18   ` Dan McMahill
  2007-06-10 13:42     ` Ludovic Courtès
  1 sibling, 1 reply; 23+ messages in thread
From: Dan McMahill @ 2007-06-09 14:18 UTC (permalink / raw)
  To: guile-user

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

>> I'm also working on getting this going on Solaris-2.9/sparc but am not
>> quite to the testsuite part.  I have a few bug fix patches there
>> too. Once I get my various problems worked out, I'll submit a more
>> cleaned up set of patches.

see the attached file for most of my patches.  One I didn't include in 
the tarfile is this one since I don't think you can universially (or 
maybe you can) assume -Wl,-Rpath is ok.  I wonder if the result of a 
configure test and maybe the --enable-rpath/--disable-rpath flag could 
be used to do the right thing here:


--- guile-config/guile-config.in.orig   2006-09-20 00:19:02.000000000 +0000
+++ guile-config/guile-config.in
@@ -155,7 +155,7 @@
                 (if (or (string=? libdir "/usr/lib")
                         (string=? libdir "/usr/lib/"))
                    ""
-                  (string-append "-L" (get-build-info 'libdir)))
+                  (string-append "-Wl,-R" (get-build-info 'libdir) " 
-L" (get-build-info 'libdir)))
                (string-join other-flags)

                )))



-Dan

[-- Attachment #2: guile-1.8.1-patches.tar.gz --]
[-- Type: application/gzip, Size: 4022 bytes --]

[-- Attachment #3: Type: text/plain, Size: 140 bytes --]

_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user

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

* Re: debugging guile test failure and segfault.
  2007-06-09 14:18   ` Dan McMahill
@ 2007-06-10 13:42     ` Ludovic Courtès
  2007-06-10 16:37       ` Dan McMahill
  2007-06-10 17:46       ` Greg Troxel
  0 siblings, 2 replies; 23+ messages in thread
From: Ludovic Courtès @ 2007-06-10 13:42 UTC (permalink / raw)
  To: guile-user

Hi,

Dan McMahill <mcmahill@mtl.mit.edu> writes:

>>> I'm also working on getting this going on Solaris-2.9/sparc but am not
>>> quite to the testsuite part.  I have a few bug fix patches there
>>> too. Once I get my various problems worked out, I'll submit a more
>>> cleaned up set of patches.
>
> see the attached file for most of my patches.

[...]

> --- guile-config/guile-config.in.orig   2006-09-20 00:19:02.000000000 +0000
> +++ guile-config/guile-config.in
> @@ -155,7 +155,7 @@
>                 (if (or (string=? libdir "/usr/lib")
>                         (string=? libdir "/usr/lib/"))
>                    ""
> -                  (string-append "-L" (get-build-info 'libdir)))
> +                  (string-append "-Wl,-R" (get-build-info 'libdir) "
> -L" (get-build-info 'libdir)))
>                (string-join other-flags)
>
>                )))

Can you explain why this is needed?  `guile-config' is only used by
applications that link against Guile.  Did you have troubles compiling
such applications?

Besides, `-Wl,-R' can probably not be considered portable.

Thanks,
Ludovic.



_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-08 22:53       ` Dan McMahill
@ 2007-06-10 13:51         ` Ludovic Courtès
  2007-06-10 16:50           ` Dan McMahill
  0 siblings, 1 reply; 23+ messages in thread
From: Ludovic Courtès @ 2007-06-10 13:51 UTC (permalink / raw)
  To: guile-user

Hi,

Dan McMahill <mcmahill@mtl.mit.edu> writes:

> Backtrace:
> In unknown file:
>    ?: 0* [primitive-load "test-suite/tests/r4rs.test"]
> In test-suite/tests/r4rs.test:
>  923: 1*
> Exception during displaying of backtrace: system-error
>
> test-suite/tests/r4rs.test:88:45: In procedure ttyname in expression
> (write (cons fun args) port):
> test-suite/tests/r4rs.test:88:45: No such file or directory
> ABORT: (system-error)
> guile> (debug)
> Frame 9 at test-suite/tests/r4rs.test:88:45
>         ERROR: In procedure ttyname:
> ERROR: No such file or directory
> ABORT: (system-error)
> guile>
>
> this doesn't look promising.

Well, it's much better than a segfault.  ;-)

This happens when trying to display a file port allegedly backed by a
TTY file descriptor.  See `fports.c:fport_print' (line 676):

    if (isatty (fdes))
      scm_display (scm_ttyname (exp), port);

What seems to be happening is that `isatty (fdes)' returns true but then
`ttyname (fdes)' fails.

I suspect that the port at hand is `(current-output-port)' or some
such.  On GNU/Linux, we get the following:

  guile> (ttyname (current-output-port))
  "/dev/pts/11"

Can you try this on your OS?

Thanks,
Ludovic.



_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-10 13:42     ` Ludovic Courtès
@ 2007-06-10 16:37       ` Dan McMahill
  2007-06-11 21:02         ` Ludovic Courtès
  2007-06-10 17:46       ` Greg Troxel
  1 sibling, 1 reply; 23+ messages in thread
From: Dan McMahill @ 2007-06-10 16:37 UTC (permalink / raw)
  To: Ludovic Courtès, guile-user

Ludovic Courtès wrote:
> Hi,
> 
> Dan McMahill <mcmahill@mtl.mit.edu> writes:
> 
>>>> I'm also working on getting this going on Solaris-2.9/sparc but am not
>>>> quite to the testsuite part.  I have a few bug fix patches there
>>>> too. Once I get my various problems worked out, I'll submit a more
>>>> cleaned up set of patches.
>> see the attached file for most of my patches.
> 
> [...]
> 
>> --- guile-config/guile-config.in.orig   2006-09-20 00:19:02.000000000 +0000
>> +++ guile-config/guile-config.in
>> @@ -155,7 +155,7 @@
>>                 (if (or (string=? libdir "/usr/lib")
>>                         (string=? libdir "/usr/lib/"))
>>                    ""
>> -                  (string-append "-L" (get-build-info 'libdir)))
>> +                  (string-append "-Wl,-R" (get-build-info 'libdir) "
>> -L" (get-build-info 'libdir)))
>>                (string-join other-flags)
>>
>>                )))
> 
> Can you explain why this is needed?  `guile-config' is only used by
> applications that link against Guile.  Did you have troubles compiling
> such applications?

With that I don't have to modify the guile-config output.  In other 
words by default I might just get "-L/my/guile/path/lib" where I may 
actually want "-L/my/guile/path/lib -Wl,-R/my/guile/path/lib".

> Besides, `-Wl,-R' can probably not be considered portable.
which is why one would need a test for it.

Anyway, I figured this one was questionable for general consumption 
which is why I kept it apart from the others.

-Dan




_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-10 13:51         ` Ludovic Courtès
@ 2007-06-10 16:50           ` Dan McMahill
  2007-06-11  7:38             ` Ludovic Courtès
  0 siblings, 1 reply; 23+ messages in thread
From: Dan McMahill @ 2007-06-10 16:50 UTC (permalink / raw)
  To: Ludovic Courtès, guile-user

Ludovic Courtès wrote:
> Hi,
> 
> Dan McMahill <mcmahill@mtl.mit.edu> writes:
> 
>> Backtrace:
>> In unknown file:
>>    ?: 0* [primitive-load "test-suite/tests/r4rs.test"]
>> In test-suite/tests/r4rs.test:
>>  923: 1*
>> Exception during displaying of backtrace: system-error
>>
>> test-suite/tests/r4rs.test:88:45: In procedure ttyname in expression
>> (write (cons fun args) port):
>> test-suite/tests/r4rs.test:88:45: No such file or directory
>> ABORT: (system-error)
>> guile> (debug)
>> Frame 9 at test-suite/tests/r4rs.test:88:45
>>         ERROR: In procedure ttyname:
>> ERROR: No such file or directory
>> ABORT: (system-error)
>> guile>
>>
>> this doesn't look promising.
> 
> Well, it's much better than a segfault.  ;-)
> 
> This happens when trying to display a file port allegedly backed by a
> TTY file descriptor.  See `fports.c:fport_print' (line 676):
> 
>     if (isatty (fdes))
>       scm_display (scm_ttyname (exp), port);
> 
> What seems to be happening is that `isatty (fdes)' returns true but then
> `ttyname (fdes)' fails.
> 
> I suspect that the port at hand is `(current-output-port)' or some
> such.  On GNU/Linux, we get the following:
> 
>   guile> (ttyname (current-output-port))
>   "/dev/pts/11"
> 
> Can you try this on your OS?

I think it has to do with running inside of a chroot-ed environment. 
I'll have to try this out with guile-1.8.1, but with 1.6.8, this is what 
I see on Solaris-2.9/sparc:

chroot:

guile> (ttyname (current-output-port))
standard input:3:1: In procedure ttyname in expression (ttyname 
(current-output-port)):
standard input:3:1: No such file or directory
ABORT: (system-error)

Type "(backtrace)" to get more information or "(debug)" to enter the 
debugger.
guile> (version)
"1.6.8"


not chroot:

guile> (ttyname (current-output-port))
"/dev/pts/13"
guile> (version)
"1.6.8"

with 1.8.1 on this system, it works outside the chroot and I need to try 
in the chroot still.

I'll bet thats whats going on with NetBSD as well.  My failed tests are 
all inside a chroot environment.

-Dan



_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-10 13:42     ` Ludovic Courtès
  2007-06-10 16:37       ` Dan McMahill
@ 2007-06-10 17:46       ` Greg Troxel
  2007-06-13  9:43         ` Andy Wingo
  1 sibling, 1 reply; 23+ messages in thread
From: Greg Troxel @ 2007-06-10 17:46 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guile-user


ludo@chbouib.org (Ludovic Courtès) writes:

>> --- guile-config/guile-config.in.orig   2006-09-20 00:19:02.000000000 +0000
>> +++ guile-config/guile-config.in
>> @@ -155,7 +155,7 @@
>>                 (if (or (string=? libdir "/usr/lib")
>>                         (string=? libdir "/usr/lib/"))
>>                    ""
>> -                  (string-append "-L" (get-build-info 'libdir)))
>> +                  (string-append "-Wl,-R" (get-build-info 'libdir) "
>> -L" (get-build-info 'libdir)))
>>                (string-join other-flags)
>>
>>                )))
>
> Can you explain why this is needed?  `guile-config' is only used by
> applications that link against Guile.  Did you have troubles compiling
> such applications?

Sorry if this is stuff everyone knows, but..

There are several ways that programs find shared libraries at runtime.
Some of my info is old, so sorry if I am incorrect:

debian way: -rpath is evil.  all libs are in /usr/lib, or use ld.so.conf
or ldconfig of some kind

netbsd way: by default, /usr and /usr/lib are searched.  ldconfig is
messy and LD_LIBRARY_PATH is a gross hack for other than debugging.
Programs should be compiled with -R for directories that are to be
searched at runtime.  In particular, /usr/local/lib and /usr/pkg/lib are
not in the default library search path.

darwin way: absolute path is resolved at link time, and stored, so you
get the same library you linked with (not quite sure on this).

> Besides, `-Wl,-R' can probably not be considered portable.

Probably you are right.  But not having a way to include some sort of
rpath when needed isn't portable either.

My view is that the right answer from a portability viewpoint is to be
aware of the rpath issue and to detect at configure time what the  local
rules are and then follow them.

So probably --enable-rpath at configure should subsistute #t for
@WANT_RPATH@ (instead of #f without) and the code above could be
conditional.

I've had to do similar things on various bits of guile over the years.



_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-10 16:50           ` Dan McMahill
@ 2007-06-11  7:38             ` Ludovic Courtès
  2007-06-11 11:49               ` Ludovic Courtès
  2007-06-11 21:46               ` Dan McMahill
  0 siblings, 2 replies; 23+ messages in thread
From: Ludovic Courtès @ 2007-06-11  7:38 UTC (permalink / raw)
  To: mcmahill; +Cc: guile-user

Hi,

Dan McMahill <mcmahill@mtl.mit.edu> writes:

> I'll bet thats whats going on with NetBSD as well.  My failed tests
> are all inside a chroot environment.

Well, we *could* modify the file port write (i.e., `fport_print ()') so
that it doesn't fail when `ttyname' does, if that's a common problem.

Or you could set up a chroot jail where `/dev/pts/*' are visible, if
that's the source of the problem.

Thanks,
Ludovic.


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-11  7:38             ` Ludovic Courtès
@ 2007-06-11 11:49               ` Ludovic Courtès
  2007-06-11 21:46               ` Dan McMahill
  1 sibling, 0 replies; 23+ messages in thread
From: Ludovic Courtès @ 2007-06-11 11:49 UTC (permalink / raw)
  To: mcmahill; +Cc: guile-user

ludovic.courtes@laas.fr (Ludovic Courtès) writes:

> Well, we *could* modify the file port write (i.e., `fport_print ()') so
> that it doesn't fail when `ttyname' does, if that's a common problem.
>
> Or you could set up a chroot jail where `/dev/pts/*' are visible, if
> that's the source of the problem.

Or, even better, we could modify `r4rs.test' so that it doesn't print
file ports.

Thanks,
Ludovic.


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-10 16:37       ` Dan McMahill
@ 2007-06-11 21:02         ` Ludovic Courtès
  2007-06-12 14:47           ` Greg Troxel
  0 siblings, 1 reply; 23+ messages in thread
From: Ludovic Courtès @ 2007-06-11 21:02 UTC (permalink / raw)
  To: guile-user

Hi,

Dan McMahill <mcmahill@mtl.mit.edu> writes:

> With that I don't have to modify the guile-config output.  In other
> words by default I might just get "-L/my/guile/path/lib" where I may
> actually want "-L/my/guile/path/lib -Wl,-R/my/guile/path/lib".

Greg Troxel <gdt@ir.bbn.com> writes:

> Probably you are right.  But not having a way to include some sort of
> rpath when needed isn't portable either.

Doesn't Libtool solve this problem?  That is, if you installed the
Libtool archive `libguile.la' and link _using Libtool_ against it, then
passing `-L/my/guile/path/lib' is enough and Libtool sets up the new
library's RPATH correspondingly.

Granted, you don't necessarily use Libtool, and the `.la' file could be
unavailable, but that's another story...

Thanks,
Ludovic.



_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-11  7:38             ` Ludovic Courtès
  2007-06-11 11:49               ` Ludovic Courtès
@ 2007-06-11 21:46               ` Dan McMahill
  1 sibling, 0 replies; 23+ messages in thread
From: Dan McMahill @ 2007-06-11 21:46 UTC (permalink / raw)
  To: guile-user

Ludovic Courtès wrote:
> Hi,
> 
> Dan McMahill <mcmahill@mtl.mit.edu> writes:
> 
>> I'll bet thats whats going on with NetBSD as well.  My failed tests
>> are all inside a chroot environment.
> 
> Well, we *could* modify the file port write (i.e., `fport_print ()') so
> that it doesn't fail when `ttyname' does, if that's a common problem.
> 
> Or you could set up a chroot jail where `/dev/pts/*' are visible, if
> that's the source of the problem.


ok, I think this much smaller test case is instructive:

#include <stdio.h>
#include <unistd.h>

int main(int argc, char **argv)
{
         int fd = 0;
         char *n;

         printf ("isatty(%d) = %d\n", fd, isatty (fd));

         n = ttyname (fd);
         printf ("ttyname(%d) = \"%s\"\n", fd, n != NULL ? n : "unknown");

         return 0;
}


SunOS-5.9/sparc

chroot:

isatty(0) = 1
ttyname(0) = "unknown"

no chroot:

isatty(0) = 1
ttyname(0) = "/dev/pts/32"


NetBSD-2/alpha

chroot:

isatty(0) = 1
ttyname(0) = "unknown"

no chroot:

isatty(0) = 1
ttyname(0) = "/dev/ttyp2"

NetBSD-4/i386

chroot:

isatty(0) = 1
ttyname(0) = "/dev/ttyp2"

no chroot:

isatty(0) = 1
ttyname(0) = "/dev/ttyp1"


Wierd that the NetBSD-4 box doesn't seem to care about being in the 
chroot jail.




_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-11 21:02         ` Ludovic Courtès
@ 2007-06-12 14:47           ` Greg Troxel
  2007-06-12 17:10             ` Ludovic Courtès
  0 siblings, 1 reply; 23+ messages in thread
From: Greg Troxel @ 2007-06-12 14:47 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guile-user


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


ludo@chbouib.org (Ludovic Courtès) writes:

> Dan McMahill <mcmahill@mtl.mit.edu> writes:
>
>> With that I don't have to modify the guile-config output.  In other
>> words by default I might just get "-L/my/guile/path/lib" where I may
>> actually want "-L/my/guile/path/lib -Wl,-R/my/guile/path/lib".
>
> Greg Troxel <gdt@ir.bbn.com> writes:
>
>> Probably you are right.  But not having a way to include some sort of
>> rpath when needed isn't portable either.
>
> Doesn't Libtool solve this problem?  That is, if you installed the
> Libtool archive `libguile.la' and link _using Libtool_ against it, then
> passing `-L/my/guile/path/lib' is enough and Libtool sets up the new
> library's RPATH correspondingly.
>
> Granted, you don't necessarily use Libtool, and the `.la' file could be
> unavailable, but that's another story...

Sure, but guile-config is documented to work for programs linking
without libtool.

I think guile should have a .pc file for pkg-config and guile-config
should be deprecated eventually.  That's really orthogonal.


[-- Attachment #1.2: Type: application/pgp-signature, Size: 185 bytes --]

[-- Attachment #2: Type: text/plain, Size: 140 bytes --]

_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user

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

* Re: debugging guile test failure and segfault.
  2007-06-12 14:47           ` Greg Troxel
@ 2007-06-12 17:10             ` Ludovic Courtès
  2007-06-13 13:05               ` Greg Troxel
  2007-06-13 13:07               ` Greg Troxel
  0 siblings, 2 replies; 23+ messages in thread
From: Ludovic Courtès @ 2007-06-12 17:10 UTC (permalink / raw)
  To: guile-user

Hi,

Greg Troxel <gdt@ir.bbn.com> writes:

> I think guile should have a .pc file for pkg-config and guile-config
> should be deprecated eventually.  That's really orthogonal.

Yeah, that's probably the way to go.  It's also more
cross-compilation-friendly I think.

Thanks,
Ludovic.



_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-10 17:46       ` Greg Troxel
@ 2007-06-13  9:43         ` Andy Wingo
  0 siblings, 0 replies; 23+ messages in thread
From: Andy Wingo @ 2007-06-13  9:43 UTC (permalink / raw)
  To: guile-user

Hi Greg,

On Sun, 2007-06-10 at 13:46 -0400, Greg Troxel wrote:
> There are several ways that programs find shared libraries at runtime.
> Some of my info is old, so sorry if I am incorrect:
> 
> debian way: -rpath is evil.  all libs are in /usr/lib, or use ld.so.conf
> or ldconfig of some kind
> 
> netbsd way: by default, /usr and /usr/lib are searched.  ldconfig is
> messy and LD_LIBRARY_PATH is a gross hack for other than debugging.
> Programs should be compiled with -R for directories that are to be
> searched at runtime.  In particular, /usr/local/lib and /usr/pkg/lib are
> not in the default library search path.
> 
> darwin way: absolute path is resolved at link time, and stored, so you
> get the same library you linked with (not quite sure on this).

This is informative, thanks.

Andy.
-- 
http://wingolog.org/



_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-12 17:10             ` Ludovic Courtès
@ 2007-06-13 13:05               ` Greg Troxel
  2007-06-13 13:07               ` Greg Troxel
  1 sibling, 0 replies; 23+ messages in thread
From: Greg Troxel @ 2007-06-13 13:05 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guile-user


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


ludo@chbouib.org (Ludovic Courtès) writes:

> Greg Troxel <gdt@ir.bbn.com> writes:
>
>> I think guile should have a .pc file for pkg-config and guile-config
>> should be deprecated eventually.  That's really orthogonal.
>
> Yeah, that's probably the way to go.  It's also more
> cross-compilation-friendly I think.

There's a huge advantage in being standard.  pkgsrc on NetBSD basically
has to add -R to lots of things.  There's support in pkgsrc for dealing
with this for pkgconfig that's very easy to use.

pkg-config also can be built as a host tool, which the cross-compile
framework would have to deal with only once.

example:

In pkgsrc/devel/at-spi/Makefile there is:

PKGCONFIG_OVERRIDE+=	cspi-1.0.pc.in
PKGCONFIG_OVERRIDE+=	libspi-1.0.pc.in

and pkgsrc/mk/configure/pkg-config-override.mk has code to sed the
platform-appropriate RPATH flags into the Libs: line:


# $NetBSD: pkg-config-override.mk,v 1.2 2006/07/10 16:12:20 jlam Exp $

######################################################################
### pkg-config-override (PRIVATE)
######################################################################
### pkg-config-override inserts the compiler's "rpath" flag into
### pkg-config data files so that ``pkg-config --ldflags <module>'' will
### return the full set of compiler flags needed to find libraries at
### run-time.
###
.PHONY: pkg-config-override
pkg-config-override:
	@${DO_NADA}

.if defined(_USE_RPATH) && !empty(_USE_RPATH:M[yY][eE][sS])
pkg-config-override: subst-pkgconfig

PKGCONFIG_OVERRIDE_SED=	\
	'/^Libs:.*[ 	]/s|-L\([ 	]*[^ 	]*\)|${COMPILER_RPATH_FLAG}\1 -L\1|g'
PKGCONFIG_OVERRIDE_STAGE?=	pre-configure

SUBST_CLASSES+=			pkgconfig
.  if ${PKGCONFIG_OVERRIDE_STAGE} == "pre-configure"
SUBST_STAGE.pkgconfig=		do-configure-pre-hook
.  elif ${PKGCONFIG_OVERRIDE_STAGE} == "post-configure"
SUBST_STAGE.pkgconfig=		do-configure-post-hook
.  else
SUBST_STAGE.pkgconfig=		${PKGCONFIG_OVERRIDE_STAGE}
.  endif
SUBST_MESSAGE.pkgconfig=	Adding run-time search paths to pkg-config files.
SUBST_FILES.pkgconfig=		${PKGCONFIG_OVERRIDE:S/^${WRKSRC}\///}
SUBST_SED.pkgconfig=		${PKGCONFIG_OVERRIDE_SED}
.endif


[-- Attachment #1.2: Type: application/pgp-signature, Size: 185 bytes --]

[-- Attachment #2: Type: text/plain, Size: 140 bytes --]

_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user

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

* Re: debugging guile test failure and segfault.
  2007-06-12 17:10             ` Ludovic Courtès
  2007-06-13 13:05               ` Greg Troxel
@ 2007-06-13 13:07               ` Greg Troxel
  2007-06-13 15:08                 ` Ludovic Courtès
  1 sibling, 1 reply; 23+ messages in thread
From: Greg Troxel @ 2007-06-13 13:07 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guile-user

I have this patch lying around from adding pkgconfig support long ago; I
think I sent it and there wasn't much interest then.



Index: Makefile.am
===================================================================
RCS file: /QUIST-CVS/guile/Makefile.am,v
retrieving revision 1.1.1.3
diff -u -r1.1.1.3 Makefile.am
--- Makefile.am	2002/12/07 22:41:28	1.1.1.3
+++ Makefile.am	2003/02/27 14:36:25
@@ -29,7 +29,7 @@
 include_HEADERS = libguile.h
 
 EXTRA_DIST = HACKING GUILE-VERSION ANON-CVS SNAPSHOTS \
-	     $(ACLOCAL) BUGS README-PACKAGING
+	     $(ACLOCAL) BUGS README-PACKAGING guile.pc.in
 
 TESTS = check-guile
 
@@ -37,5 +37,8 @@
 
 # The rule will cd to $(top_srcdir).
 ACLOCAL = ./guile-aclocal.sh
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = guile.pc
 
 # Makefile.am ends here
Index: configure.in
===================================================================
RCS file: /QUIST-CVS/guile/configure.in,v
retrieving revision 1.1.1.3
diff -u -r1.1.1.3 configure.in
--- configure.in	2002/12/08 01:48:52	1.1.1.3
+++ configure.in	2003/02/27 14:37:37
@@ -745,6 +745,8 @@
 AC_CONFIG_FILES([libguile/guile-snarf-docs],
                 [chmod +x libguile/guile-snarf-docs])
 
+AC_CONFIG_FILES([guile.pc])
+
 AC_OUTPUT
 
 dnl Local Variables:
Index: guile.pc.in
===================================================================
RCS file: guile.pc.in
diff -N guile.pc.in
--- /dev/null	Thu Feb 27 03:35:16 2003
+++ guile.pc.in	Thu Feb 27 09:37:37 2003
@@ -0,0 +1,12 @@
+# pkgconfig file for guile
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: guile
+Version: 1.6
+Description: guile extension language
+Requires:
+Libs: -L${libdir} -lguile -lguile-ltdl @LDFLAGS@ @LIBS@
+Cflags: -I${includedir}



_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-13 13:07               ` Greg Troxel
@ 2007-06-13 15:08                 ` Ludovic Courtès
  0 siblings, 0 replies; 23+ messages in thread
From: Ludovic Courtès @ 2007-06-13 15:08 UTC (permalink / raw)
  To: Greg Troxel; +Cc: guile-user

Hi,

Greg Troxel <gdt@ir.bbn.com> writes:

> I have this patch lying around from adding pkgconfig support long ago; I
> think I sent it and there wasn't much interest then.

FWIW, I'm all in favor of applying such a patch.  We could keep
`guile-config' for compatibility and have it invoke `pkg-config'
appropriately.

It might even be acceptable for 1.8 if we can do this.

Thanks!

Ludovic.


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
@ 2007-06-13 16:09 dsmich
  2007-06-13 16:16 ` Ludovic Courtès
  0 siblings, 1 reply; 23+ messages in thread
From: dsmich @ 2007-06-13 16:09 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guile-user, Greg Troxel


---- "Ludovic Courtès" <ludovic.courtes@laas.fr> wrote: 
> Hi,
> 
> Greg Troxel <gdt@ir.bbn.com> writes:
> 
> > I have this patch lying around from adding pkgconfig support long ago; I
> > think I sent it and there wasn't much interest then.
> 
> FWIW, I'm all in favor of applying such a patch.  We could keep
> `guile-config' for compatibility and have it invoke `pkg-config'
> appropriately.

And keep the old behavior if pkgconfig isn't installed?

-Dale



_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: debugging guile test failure and segfault.
  2007-06-13 16:09 debugging guile test failure and segfault dsmich
@ 2007-06-13 16:16 ` Ludovic Courtès
  0 siblings, 0 replies; 23+ messages in thread
From: Ludovic Courtès @ 2007-06-13 16:16 UTC (permalink / raw)
  To: guile-user

Hey,

<dsmich@adelphia.net> writes:

> And keep the old behavior if pkgconfig isn't installed?

I did not have that in mind, but why not: `guile-config' is a Guile
script and it's sufficiently flexible for this I suppose.

Thanks,
Ludo'.



_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

end of thread, other threads:[~2007-06-13 16:16 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-13 16:09 debugging guile test failure and segfault dsmich
2007-06-13 16:16 ` Ludovic Courtès
  -- strict thread matches above, loose matches on Subject: below --
2007-06-04 16:49 Dan McMahill
2007-06-06  8:24 ` Ludovic Courtès
2007-06-07  5:09   ` Dan McMahill
2007-06-07  8:57     ` Ludovic Courtès
2007-06-08 22:53       ` Dan McMahill
2007-06-10 13:51         ` Ludovic Courtès
2007-06-10 16:50           ` Dan McMahill
2007-06-11  7:38             ` Ludovic Courtès
2007-06-11 11:49               ` Ludovic Courtès
2007-06-11 21:46               ` Dan McMahill
2007-06-09 14:18   ` Dan McMahill
2007-06-10 13:42     ` Ludovic Courtès
2007-06-10 16:37       ` Dan McMahill
2007-06-11 21:02         ` Ludovic Courtès
2007-06-12 14:47           ` Greg Troxel
2007-06-12 17:10             ` Ludovic Courtès
2007-06-13 13:05               ` Greg Troxel
2007-06-13 13:07               ` Greg Troxel
2007-06-13 15:08                 ` Ludovic Courtès
2007-06-10 17:46       ` Greg Troxel
2007-06-13  9:43         ` 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).