gnutls guile self checks fail: fport_fill_input
Simon Josefsson
simon at josefsson.org
Mon Mar 10 13:48:15 CET 2008
ludo at gnu.org (Ludovic Courtès) writes:
> Hi Simon,
>
> First of all, sorry for not being more involved...
>
> Simon Josefsson <simon at josefsson.org> writes:
>
>> jas at mocca:~/src/gnutls/guile/tests$ make check
>> make check-TESTS
>> make[1]: Entering directory `/home/jas/src/gnutls/guile/tests'
>> ERROR: In procedure fport_fill_input:
>> ERROR: Is a directory
>> FAIL: anonymous-auth.scm
>> ...
>
> I can't reproduce the problem here with a copy of `master'. Does
> `openpgp-auth.scm' (or other tests) fail similarly? What platform is
> this on?
Yes, all guile checks fail this way. Up-to-date x86 debian testing with
some packages from unstable.
>> I couldn't find these error message inside gnutls, so they could be
>> guile bugs, but I suspect you know better than me how to debug this.
>>
>> Strace shows something that may be related: it seems to open / but fails
>> because it is a directory.
>
> That seems to be the problem here: a Guile input port has been created
> for `/' and is being read from, which fails. I can't find why this
> happens.
>
> Can you show the value of `$GUILE_LOAD_PATH' and all the `-L' switches
> passed to `guile' (see `guile/pre-inst-guile' and `TESTS_ENVIRONMENT' in
> `guile/tests/Makefile.am')?
>
> Can you also send me the whole `strace' output, if possible?
The pre-inst-guile file contains:
GUILE_LOAD_PATH="/home/jas/src/gnutls/guile/modules:$GUILE_LOAD_PATH"
export GUILE_LOAD_PATH
exec /home/jas/src/gnutls/libtool --mode=execute \
-dlopen "/home/jas/src/gnutls/guile/src/libguile-gnutls-v-1.la" \
-dlopen "/home/jas/src/gnutls/guile/src/libguile-gnutls-extra-v-1.la" \
/usr/bin/guile "$@"
I don't have a GUILE_LOAD_PATH in my environment. The -L switch
evaluates to '-L .'.
I can reproduce it by:
jas at mocca:~/src/gnutls/guile/tests$ GUILE_LOAD_PATH="/home/jas/src/gnutls/guile/modules" /home/jas/src/gnutls/libtool --mode=execute -dlopen "/home/jas/src/gnutls/guile/src/libguile-gnutls-v-1.la" -dlopen "/home/jas/src/gnutls/guile/src/libguile-gnutls-extra-v-1.la" /usr/bin/guile -L . openpgp-auth.scm
ERROR: In procedure fport_fill_input:
ERROR: Is a directory
jas at mocca:~/src/gnutls/guile/tests$
Could it be that I'm using libtool 2.2? Yes, that seems to be the
problem, the following works:
jas at mocca:~/src/gnutls/guile/tests$ GUILE_LOAD_PATH="/home/jas/src/gnutls/guile/modules" /usr/bin/libtool --mode=execute -dlopen "/home/jas/src/gnutls/guile/src/libguile-gnutls-v-1.la" -dlopen "/home/jas/src/gnutls/guile/src/libguile-gnutls-extra-v-1.la" /usr/bin/guile -L . ./openpgp-auth.scm jas at mocca:~/src/gnutls/guile/tests$ echo $?
0
jas at mocca:~/src/gnutls/guile/tests$
Running libtool with --debug reveals that it is interpreting the -L
parameter, so the command invoked will be:
+ eval exec '$cmd -L / /'
++ exec /usr/bin/guile -L / /
ERROR: In procedure fport_fill_input:
ERROR: Is a directory
jas at mocca:~/src/gnutls/guile/tests$
I think I should report this as a libtool bug. What do you think?
/Simon
More information about the Gnutls-devel
mailing list