unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* guile 1.6.8 make check failure on AIX 6.1
@ 2008-01-31  9:34 Rainer Tammer
  2008-02-01 10:45 ` Ludovic Courtès
  2008-02-01 20:32 ` Neil Jerram
  0 siblings, 2 replies; 16+ messages in thread
From: Rainer Tammer @ 2008-01-31  9:34 UTC (permalink / raw)
  To: bug-guile

Hello,


Making check in oop
gmake[1]: Entering directory `/daten/source/guile-1.6.8/oop'
Making check in goops
gmake[2]: Entering directory `/daten/source/guile-1.6.8/oop/goops'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/oop/goops'
gmake[2]: Entering directory `/daten/source/guile-1.6.8/oop'
gmake[2]: Nothing to be done for `check-am'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/oop'
gmake[1]: Leaving directory `/daten/source/guile-1.6.8/oop'
Making check in qt
gmake[1]: Entering directory `/daten/source/guile-1.6.8/qt'
Making check in md
gmake[2]: Entering directory `/daten/source/guile-1.6.8/qt/md'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/qt/md'
Making check in time
gmake[2]: Entering directory `/daten/source/guile-1.6.8/qt/time'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/qt/time'
gmake[2]: Entering directory `/daten/source/guile-1.6.8/qt'
gmake[2]: Nothing to be done for `check-am'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/qt'
gmake[1]: Leaving directory `/daten/source/guile-1.6.8/qt'
Making check in libguile-ltdl
gmake[1]: Entering directory `/daten/source/guile-1.6.8/libguile-ltdl'
Making check in upstream
gmake[2]: Entering directory 
`/daten/source/guile-1.6.8/libguile-ltdl/upstream'
gmake  check-am
gmake[3]: Entering directory 
`/daten/source/guile-1.6.8/libguile-ltdl/upstream'
gmake[3]: Nothing to be done for `check-am'.
gmake[3]: Leaving directory 
`/daten/source/guile-1.6.8/libguile-ltdl/upstream'
gmake[2]: Leaving directory 
`/daten/source/guile-1.6.8/libguile-ltdl/upstream'
gmake[2]: Entering directory `/daten/source/guile-1.6.8/libguile-ltdl'
gmake[2]: Nothing to be done for `check-am'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/libguile-ltdl'
gmake[1]: Leaving directory `/daten/source/guile-1.6.8/libguile-ltdl'
Making check in libguile
gmake[1]: Entering directory `/daten/source/guile-1.6.8/libguile'
gmake  check-am
gmake[2]: Entering directory `/daten/source/guile-1.6.8/libguile'
gmake[2]: Nothing to be done for `check-am'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/libguile'
gmake[1]: Leaving directory `/daten/source/guile-1.6.8/libguile'
Making check in ice-9
gmake[1]: Entering directory `/daten/source/guile-1.6.8/ice-9'
gmake[1]: Nothing to be done for `check'.
gmake[1]: Leaving directory `/daten/source/guile-1.6.8/ice-9'
Making check in guile-config
gmake[1]: Entering directory `/daten/source/guile-1.6.8/guile-config'
gmake[1]: Nothing to be done for `check'.
gmake[1]: Leaving directory `/daten/source/guile-1.6.8/guile-config'
Making check in guile-readline
gmake[1]: Entering directory `/daten/source/guile-1.6.8/guile-readline'
gmake  check-recursive
gmake[2]: Entering directory `/daten/source/guile-1.6.8/guile-readline'
Making check in ice-9
gmake[3]: Entering directory 
`/daten/source/guile-1.6.8/guile-readline/ice-9'
gmake[3]: Nothing to be done for `check'.
gmake[3]: Leaving directory `/daten/source/guile-1.6.8/guile-readline/ice-9'
gmake[3]: Entering directory `/daten/source/guile-1.6.8/guile-readline'
gmake[3]: Nothing to be done for `check-am'.
gmake[3]: Leaving directory `/daten/source/guile-1.6.8/guile-readline'
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/guile-readline'
gmake[1]: Leaving directory `/daten/source/guile-1.6.8/guile-readline'
Making check in scripts
gmake[1]: Entering directory `/daten/source/guile-1.6.8/scripts'
gmake[1]: Nothing to be done for `check'.
gmake[1]: Leaving directory `/daten/source/guile-1.6.8/scripts'
Making check in srfi
gmake[1]: Entering directory `/daten/source/guile-1.6.8/srfi'
gmake  check-am
gmake[2]: Entering directory `/daten/source/guile-1.6.8/srfi'
gmake[2]: Nothing to be done for `check-am'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/srfi'
gmake[1]: Leaving directory `/daten/source/guile-1.6.8/srfi'
Making check in doc
gmake[1]: Entering directory `/daten/source/guile-1.6.8/doc'
Making check in ref
gmake[2]: Entering directory `/daten/source/guile-1.6.8/doc/ref'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/doc/ref'
Making check in tutorial
gmake[2]: Entering directory `/daten/source/guile-1.6.8/doc/tutorial'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/doc/tutorial'
Making check in goops
gmake[2]: Entering directory `/daten/source/guile-1.6.8/doc/goops'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/doc/goops'
Making check in r5rs
gmake[2]: Entering directory `/daten/source/guile-1.6.8/doc/r5rs'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/doc/r5rs'
gmake[2]: Entering directory `/daten/source/guile-1.6.8/doc'
gmake[2]: Nothing to be done for `check-am'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/doc'
gmake[1]: Leaving directory `/daten/source/guile-1.6.8/doc'
Making check in examples
gmake[1]: Entering directory `/daten/source/guile-1.6.8/examples'
Making check in scripts
gmake[2]: Entering directory `/daten/source/guile-1.6.8/examples/scripts'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/examples/scripts'
Making check in box
gmake[2]: Entering directory `/daten/source/guile-1.6.8/examples/box'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/examples/box'
Making check in box-module
gmake[2]: Entering directory `/daten/source/guile-1.6.8/examples/box-module'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/examples/box-module'
Making check in box-dynamic
gmake[2]: Entering directory 
`/daten/source/guile-1.6.8/examples/box-dynamic'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/examples/box-dynamic'
Making check in box-dynamic-module
gmake[2]: Entering directory 
`/daten/source/guile-1.6.8/examples/box-dynamic-module'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory 
`/daten/source/guile-1.6.8/examples/box-dynamic-module'
Making check in modules
gmake[2]: Entering directory `/daten/source/guile-1.6.8/examples/modules'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/examples/modules'
Making check in safe
gmake[2]: Entering directory `/daten/source/guile-1.6.8/examples/safe'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/examples/safe'
gmake[2]: Entering directory `/daten/source/guile-1.6.8/examples'
gmake[2]: Nothing to be done for `check-am'.
gmake[2]: Leaving directory `/daten/source/guile-1.6.8/examples'
gmake[1]: Leaving directory `/daten/source/guile-1.6.8/examples'
Making check in test-suite
gmake[1]: Entering directory `/daten/source/guile-1.6.8/test-suite'
gmake[1]: Nothing to be done for `check'.
gmake[1]: Leaving directory `/daten/source/guile-1.6.8/test-suite'
Making check in am
gmake[1]: Entering directory `/daten/source/guile-1.6.8/am'
gmake[1]: Nothing to be done for `check'.
gmake[1]: Leaving directory `/daten/source/guile-1.6.8/am'
gmake[1]: Entering directory `/daten/source/guile-1.6.8'
gmake  check-TESTS
gmake[2]: Entering directory `/daten/source/guile-1.6.8'
Testing /daten/source/guile-1.6.8/pre-inst-guile ...
with GUILE_LOAD_PATH=/daten/source/guile-1.6.8/test-suite
Running alist.test
Running and-let-star.test
Running bit-operations.test
Running c-api.test
Running chars.test
Running common-list.test
Running environments.test
Running eval.test
Running exceptions.test
Running filesys.test
Running format.test
Running gc.test
Running getopt-long.test
Running goops.test
Running guardians.test
Running hash.test
Running hooks.test
Running import.test
Running interp.test
Running list.test
Running load.test
Running numbers.test
Running optargs.test
Running poe.test
Running popen.test
Running ports.test
Running posix.test
Running r4rs.test
Running ramap.test
Running reader.test
Running receive.test
Running regexp.test
Running slib.test
Running srcprop.test
Running srfi-1.test
Running srfi-10.test
Running srfi-13.test
ERROR: In procedure dynamic-link:
ERROR: file: "libguile-srfi-srfi-13-14-v-1", message: "    0509-022 
Cannot load module 
/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.2/../../../libguile-srfi-srfi-13-14-v-1.a.
    0509-103   The module has an invalid magic number."
FAIL: check-guile
===================
1 of 1 tests failed
===================
gmake[2]: *** [check-TESTS] Error 1
gmake[2]: Leaving directory `/daten/source/guile-1.6.8'
gmake[1]: *** [check-am] Error 2
gmake[1]: Leaving directory `/daten/source/guile-1.6.8'
gmake: *** [check-recursive] Error 1

The installed libtool-1.5 branch version works fine.
All mage check tests work (static, sharedm ....


Any ideas ??

Bye
  Rainer




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

* Re: guile 1.6.8 make check failure on AIX 6.1
  2008-01-31  9:34 guile 1.6.8 make check failure " Rainer Tammer
@ 2008-02-01 10:45 ` Ludovic Courtès
  2008-02-01 20:32 ` Neil Jerram
  1 sibling, 0 replies; 16+ messages in thread
From: Ludovic Courtès @ 2008-02-01 10:45 UTC (permalink / raw)
  To: bug-guile

Hello,

I would recommend using the 1.8.x series instead of 1.6.8 unless you
really need 1.6, in which case we can try to work this out.

Thanks,
Ludovic.





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

* Re: guile 1.6.8 make check failure on AIX 6.1
  2008-01-31  9:34 guile 1.6.8 make check failure " Rainer Tammer
  2008-02-01 10:45 ` Ludovic Courtès
@ 2008-02-01 20:32 ` Neil Jerram
  2008-02-02 11:31   ` Rainer Tammer
  1 sibling, 1 reply; 16+ messages in thread
From: Neil Jerram @ 2008-02-01 20:32 UTC (permalink / raw)
  To: Rainer Tammer; +Cc: bug-guile

Rainer Tammer <tammer@tammer.net> writes:

> Testing /daten/source/guile-1.6.8/pre-inst-guile ...
> with GUILE_LOAD_PATH=/daten/source/guile-1.6.8/test-suite

[...]

> ERROR: In procedure dynamic-link:
> ERROR: file: "libguile-srfi-srfi-13-14-v-1", message: "    0509-022
> Cannot load module
> /opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.2/../../../libguile-srfi-srfi-13-14-v-1.a.
>    0509-103   The module has an invalid magic number."

The test that fails is supposed to link with the not-yet-installed
version of libguile-srfi-srfi-13-14-v-1 somewhere under
/daten/source/guile-1.6.8/srfi, but it is actually picking up an
already installed library under /opt/freeware/lib.

Also, according to google, the invalid magic number message most often
indicates a 32-bit/64-bit mixup.  So perhaps the installed library is
64-bit, and the one you're trying to build is 32-bit.

Anyway, it looks like you could solve the problem by somehow hiding
the /opt/freeware/lib libraries when building Guile.

> Bye
>  Rainer

Regards,
        Neil





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

* Re: guile 1.6.8 make check failure on AIX 6.1
  2008-02-01 20:32 ` Neil Jerram
@ 2008-02-02 11:31   ` Rainer Tammer
  2008-02-03 23:47     ` Neil Jerram
  0 siblings, 1 reply; 16+ messages in thread
From: Rainer Tammer @ 2008-02-02 11:31 UTC (permalink / raw)
  To: Neil Jerram; +Cc: bug-guile

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

Hello,

Neil Jerram wrote:
[...]
>> ERROR: In procedure dynamic-link:
>> ERROR: file: "libguile-srfi-srfi-13-14-v-1", message: "    0509-022
>> Cannot load module
>> /opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.2/../../../libguile-srfi-srfi-13-14-v-1.a.
>>    0509-103   The module has an invalid magic number."
>>     
>
> The test that fails is supposed to link with the not-yet-installed
> version of libguile-srfi-srfi-13-14-v-1 somewhere under
> /daten/source/guile-1.6.8/srfi, but it is actually picking up an
> already installed library under /opt/freeware/lib.
>
> Also, according to google, the invalid magic number message most often
> indicates a 32-bit/64-bit mixup.  So perhaps the installed library is
> 64-bit, and the one you're trying to build is 32-bit.
>
> Anyway, it looks like you could solve the problem by somehow hiding
> the /opt/freeware/lib libraries when building Guile.
>
>   
>> Bye
>>  Rainer
>>     
>
> Regards,
>         Neil
>
>
>   
I checked this build again and I think I have found the problem.
The build tools (libtool/autoconf/config.guess) used by guile 1.6.8 do 
not support AIX 6.1
So the build of the shared libraries fail.

I have patched the configure scripts and I have refreshed libtool / 
config.guess.
Now I have a different problem:

Testing /daten/source/guile-1.6.8/pre-inst-guile ...
with GUILE_LOAD_PATH=/daten/source/guile-1.6.8/test-suite
Running alist.test
Running and-let-star.test
Running bit-operations.test
Running c-api.test
Running chars.test
Running common-list.test
Running environments.test
Running eval.test
Running exceptions.test
Running filesys.test
Running format.test
Running gc.test
Running getopt-long.test
Running goops.test
Running guardians.test
Running hash.test
Running hooks.test
Running import.test
Running interp.test
Running list.test
Running load.test
Running numbers.test
Running optargs.test
Running poe.test
Running popen.test
Running ports.test
Running posix.test
Running r4rs.test
Running ramap.test
Running reader.test
Running receive.test
Running regexp.test
Running slib.test
Running srcprop.test
Running srfi-1.test
Running srfi-10.test
Running srfi-13.test
Running srfi-14.test
Running srfi-17.test
Running srfi-19.test
Running srfi-31.test
Running srfi-39.test
Running srfi-4.test
ERROR: srfi-4.test: u8 vector: u8vector? success - arguments: 
((memory-allocation-error "make-u8vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: u8 vector: u8vector-length success 1 - arguments: 
((memory-allocation-error "list->u8vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: s8 vector: s8vector? success - arguments: 
((memory-allocation-error "make-s8vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: s8 vector: s8vector-length success 1 - arguments: 
((memory-allocation-error "list->s8vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: u16 vector: u16vector? success - arguments: 
((memory-allocation-error "make-u16vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: u16 vector: u16vector-length success 1 - arguments: 
((memory-allocation-error "list->u16vector" "Memory allocation error" #f 
#f))
ERROR: srfi-4.test: s16 vector: s16vector? success - arguments: 
((memory-allocation-error "make-s16vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: s16 vector: s16vector-length success 1 - arguments: 
((memory-allocation-error "list->s16vector" "Memory allocation error" #f 
#f))
ERROR: srfi-4.test: u32 vector: u32vector? success - arguments: 
((memory-allocation-error "make-u32vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: u32 vector: u32vector-length success 1 - arguments: 
((memory-allocation-error "list->u32vector" "Memory allocation error" #f 
#f))
ERROR: srfi-4.test: s32 vector: s32vector? success - arguments: 
((memory-allocation-error "make-s32vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: s32 vector: s32vector-length success 1 - arguments: 
((memory-allocation-error "list->s32vector" "Memory allocation error" #f 
#f))
ERROR: srfi-4.test: u64 vector: u64vector? success - arguments: 
((memory-allocation-error "make-u64vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: u64 vector: u64vector-length success 1 - arguments: 
((memory-allocation-error "list->u64vector" "Memory allocation error" #f 
#f))
ERROR: srfi-4.test: s64 vector: s64vector? success - arguments: 
((memory-allocation-error "make-s64vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: s64 vector: s64vector-length success 1 - arguments: 
((memory-allocation-error "list->s64vector" "Memory allocation error" #f 
#f))
ERROR: srfi-4.test: f32 vector: f32vector? success - arguments: 
((memory-allocation-error "make-f32vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: f32 vector: f32vector-length success 1 - arguments: 
((memory-allocation-error "list->f32vector" "Memory allocation error" #f 
#f))
ERROR: srfi-4.test: f64 vector: f64vector? success - arguments: 
((memory-allocation-error "make-f64vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: f64 vector: f64vector-length success 1 - arguments: 
((memory-allocation-error "list->f64vector" "Memory allocation error" #f 
#f))
Running srfi-9.test
Running strings.test
Running symbols.test
Running syncase.test
Running syntax.test
Running time.test
Running unif.test
Running version.test
Running weaks.test

Totals for this test run:
passes:                 9738
failures:               0
unexpected passes:      0
expected failures:      18
unresolved test cases:  0
untested test cases:    0
unsupported test cases: 9
errors:                 20

FAIL: check-guile
===================
1 of 1 tests failed
===================

If the build tools (config.guess, libtool, autoconf) are updated to 
newer version than the shared library problem is gone.
I have used the latest config.guess + libtool-1.5-branch and I have 
patched the two configure scripts to support AIX 6.1.

I have attached my build logs to this mail.

Any ideas ??

Bye
  Rainer



[-- Attachment #2: build-loigs.zip --]
[-- Type: application/x-zip-compressed, Size: 61194 bytes --]

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

* Re: guile 1.6.8 make check failure on AIX 6.1
@ 2008-02-02 12:12 Rainer Tammer
  2008-02-03 23:51 ` Neil Jerram
  0 siblings, 1 reply; 16+ messages in thread
From: Rainer Tammer @ 2008-02-02 12:12 UTC (permalink / raw)
  To: ludo; +Cc: bug-guile

Hello,
I am currently trying this. But unfortunately the compile fails...

gmake  all-recursive
gmake[1]: Entering directory `/daten/source/guile-1.8.3'
Making all in oop
gmake[2]: Entering directory `/daten/source/guile-1.8.3/oop'
Making all in goops
gmake[3]: Entering directory `/daten/source/guile-1.8.3/oop/goops'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory `/daten/source/guile-1.8.3/oop/goops'
gmake[3]: Entering directory `/daten/source/guile-1.8.3/oop'
gmake[3]: Nothing to be done for `all-am'.
gmake[3]: Leaving directory `/daten/source/guile-1.8.3/oop'
gmake[2]: Leaving directory `/daten/source/guile-1.8.3/oop'
Making all in libguile
gmake[2]: Entering directory `/daten/source/guile-1.8.3/libguile'
Generating libpath.h...
./guile-snarf -o load.x load.c -DHAVE_CONFIG_H -I.. -I.. 
-I/opt/freeware/include -g -O2 -Wall -Wmissing-prototypes -
Werror
gmake  all-am
gmake[3]: Entering directory `/daten/source/guile-1.8.3/libguile'
/usr/bin/bash ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H 
-I. -I.. -I.. -I..  -I/opt/freeware/include -
D_THREAD_SAFE  -g -O2 -Wall -Wmissing-prototypes -Werror -MT 
libguile_la-discouraged.lo -MD -MP -MF .deps/libguile_l
a-discouraged.Tpo -c -o libguile_la-discouraged.lo `test -f 
'discouraged.c' || echo './'`discouraged.c
 gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -I/opt/freeware/include 
-D_THREAD_SAFE -g -O2 -Wall -Wmissing-prototypes -We
rror -MT libguile_la-discouraged.lo -MD -MP -MF 
.deps/libguile_la-discouraged.Tpo -c discouraged.c  -DPIC -o .libs/l
ibguile_la-discouraged.o
In file included from ../libguile/gc.h:27,
                 from ../libguile.h:73,
                 from discouraged.c:22:
../libguile/hooks.h:43: error: expected ';', ',' or ')' before '.' token
../libguile/hooks.h:48: error: expected specifier-qualifier-list before 
'scm_t_c_hook_function'
../libguile/hooks.h:62: error: expected declaration specifiers or '...' 
before 'scm_t_c_hook_function'
../libguile/hooks.h:63: error: expected ';', ',' or ')' before '.' token
../libguile/hooks.h:66: error: expected declaration specifiers or '...' 
before 'scm_t_c_hook_function'
../libguile/hooks.h:67: error: expected ';', ',' or ')' before '.' token
gmake[3]: *** [libguile_la-discouraged.lo] Error 1
gmake[3]: Leaving directory `/daten/source/guile-1.8.3/libguile'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/daten/source/guile-1.8.3/libguile'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/daten/source/guile-1.8.3'
gmake: *** [all] Error 2

I will try to find the problem.

The following is true for both guile 1.6.x and 1.8.x:

The build tools used (config.guess, libtool, autoconf) are to old for 
AIX 6.1.
With the old tools it is not possible to build a shared version.

I managed to build a shared version of guile 1.6.8 witch passes the 
shared test but which fails the srfi-4.test test (please see last post 
to the list).

-------- errors ---------
Running srfi-4.test
ERROR: srfi-4.test: u8 vector: u8vector? success - arguments: 
((memory-allocation-error "make-u8vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: u8 vector: u8vector-length success 1 - arguments: 
((memory-allocation-error "list->u8vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: s8 vector: s8vector? success - arguments: 
((memory-allocation-error "make-s8vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: s8 vector: s8vector-length success 1 - arguments: 
((memory-allocation-error "list->s8vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: u16 vector: u16vector? success - arguments: 
((memory-allocation-error "make-u16vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: u16 vector: u16vector-length success 1 - arguments: 
((memory-allocation-error "list->u16vector" "Memory allocation error" #f 
#f))
ERROR: srfi-4.test: s16 vector: s16vector? success - arguments: 
((memory-allocation-error "make-s16vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: s16 vector: s16vector-length success 1 - arguments: 
((memory-allocation-error "list->s16vector" "Memory allocation error" #f 
#f))
ERROR: srfi-4.test: u32 vector: u32vector? success - arguments: 
((memory-allocation-error "make-u32vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: u32 vector: u32vector-length success 1 - arguments: 
((memory-allocation-error "list->u32vector" "Memory allocation error" #f 
#f))
ERROR: srfi-4.test: s32 vector: s32vector? success - arguments: 
((memory-allocation-error "make-s32vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: s32 vector: s32vector-length success 1 - arguments: 
((memory-allocation-error "list->s32vector" "Memory allocation error" #f 
#f))
ERROR: srfi-4.test: u64 vector: u64vector? success - arguments: 
((memory-allocation-error "make-u64vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: u64 vector: u64vector-length success 1 - arguments: 
((memory-allocation-error "list->u64vector" "Memory allocation error" #f 
#f))
ERROR: srfi-4.test: s64 vector: s64vector? success - arguments: 
((memory-allocation-error "make-s64vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: s64 vector: s64vector-length success 1 - arguments: 
((memory-allocation-error "list->s64vector" "Memory allocation error" #f 
#f))
ERROR: srfi-4.test: f32 vector: f32vector? success - arguments: 
((memory-allocation-error "make-f32vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: f32 vector: f32vector-length success 1 - arguments: 
((memory-allocation-error "list->f32vector" "Memory allocation error" #f 
#f))
ERROR: srfi-4.test: f64 vector: f64vector? success - arguments: 
((memory-allocation-error "make-f64vector" "Memory allocation error" #f #f))
ERROR: srfi-4.test: f64 vector: f64vector-length success 1 - arguments: 
((memory-allocation-error "list->f64vector" "Memory allocation error" #f 
#f))

-------- errors ---------

For the build tools I have used the following versions:

* config.guess: GNU config.guess (2008-01-07)
* libtool:  libtool --version / ltmain.sh (GNU libtool) 1.5.25a 
(1.1220.2.481 2008/01/12 13:58:43)
* manual patch to configure; add aix6* after each aix5* -> I did not 
want to regenerated the whole thing with the new autoconf

Bye
  Rainer




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

* Re: guile 1.6.8 make check failure on AIX 6.1
  2008-02-02 11:31   ` Rainer Tammer
@ 2008-02-03 23:47     ` Neil Jerram
  2008-02-04  7:21       ` Rainer Tammer
  0 siblings, 1 reply; 16+ messages in thread
From: Neil Jerram @ 2008-02-03 23:47 UTC (permalink / raw)
  To: Rainer Tammer; +Cc: bug-guile

Rainer Tammer <tammer@tammer.net> writes:

> ERROR: srfi-4.test: u8 vector: u8vector? success - arguments:
> ((memory-allocation-error "make-u8vector" "Memory allocation error" #f
> #f))
[...]

Those errors would occur if realloc(NULL, 0) returns NULL on AIX.
(Whereas on GNU/Linux, it returns non-NULL.)  Can you try
realloc(NULL, 0) and confirm/deny that it gives NULL for you?

Thanks,
        Neil





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

* Re: guile 1.6.8 make check failure on AIX 6.1
  2008-02-02 12:12 guile 1.6.8 make check failure on AIX 6.1 Rainer Tammer
@ 2008-02-03 23:51 ` Neil Jerram
  2008-02-04  7:40   ` Rainer Tammer
  0 siblings, 1 reply; 16+ messages in thread
From: Neil Jerram @ 2008-02-03 23:51 UTC (permalink / raw)
  To: Rainer Tammer; +Cc: bug-guile, ludo

Rainer Tammer <tammer@tammer.net> writes:

> In file included from ../libguile/gc.h:27,
>                 from ../libguile.h:73,
>                 from discouraged.c:22:
> ../libguile/hooks.h:43: error: expected ';', ',' or ')' before '.' token
> ../libguile/hooks.h:48: error: expected specifier-qualifier-list
> before 'scm_t_c_hook_function'

The fix for that is to globally replace "func_data" in libguile/*.[ch]
by "fn_data".  This is already in our CVS, so will be OK in 1.8.4.

> The following is true for both guile 1.6.x and 1.8.x:
>
> The build tools used (config.guess, libtool, autoconf) are to old for
> AIX 6.1.
> With the old tools it is not possible to build a shared version.

[...]

> For the build tools I have used the following versions:
>
> * config.guess: GNU config.guess (2008-01-07)
> * libtool:  libtool --version / ltmain.sh (GNU libtool) 1.5.25a
> (1.1220.2.481 2008/01/12 13:58:43)
> * manual patch to configure; add aix6* after each aix5* -> I did not
> want to regenerated the whole thing with the new autoconf

OK, we can look into upgrading to these... but can you give specific
references for the AIX problems that were fixed in between the
versions that we used for 1.6.8/1.8.3 and the versions here?

Thanks,
        Neil





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

* Re: guile 1.6.8 make check failure on AIX 6.1
  2008-02-03 23:47     ` Neil Jerram
@ 2008-02-04  7:21       ` Rainer Tammer
  2008-02-05 23:38         ` Neil Jerram
  0 siblings, 1 reply; 16+ messages in thread
From: Rainer Tammer @ 2008-02-04  7:21 UTC (permalink / raw)
  Cc: Neil Jerram

Hello,

Neil Jerram wrote:
> Rainer Tammer <tammer@tammer.net> writes:
>
>   
>> ERROR: srfi-4.test: u8 vector: u8vector? success - arguments:
>> ((memory-allocation-error "make-u8vector" "Memory allocation error" #f
>> #f))
>>     
> [...]
>
> Those errors would occur if realloc(NULL, 0) returns NULL on AIX.
> (Whereas on GNU/Linux, it returns non-NULL.)  Can you try
> realloc(NULL, 0) and confirm/deny that it gives NULL for you?
>
>   
#include <stdio.h>

int main(void)
{
    char *t;

    t = (char*)realloc(NULL, 0);
    if (t == NULL)
    {
        printf("is NULL\n");
    }
    else
    {
        printf("is not NULL\n");
    }
    return(0);
}


Under Linux: is not NULL
Under AIX: is NULL

This is an "old" AIX difference....

> Thanks,
>         Neil
>
>
>   
Bye
  Rainer





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

* Re: guile 1.6.8 make check failure on AIX 6.1
  2008-02-03 23:51 ` Neil Jerram
@ 2008-02-04  7:40   ` Rainer Tammer
  2008-02-04  8:31     ` Rainer Tammer
  2008-02-04  9:03     ` guile 1.8.3 compilation errors " Rainer Tammer
  0 siblings, 2 replies; 16+ messages in thread
From: Rainer Tammer @ 2008-02-04  7:40 UTC (permalink / raw)
  To: Neil Jerram; +Cc: bug-guile

Hello,

Neil Jerram wrote:
> Rainer Tammer <tammer@tammer.net> writes:
>
>   
>> In file included from ../libguile/gc.h:27,
>>                 from ../libguile.h:73,
>>                 from discouraged.c:22:
>> ../libguile/hooks.h:43: error: expected ';', ',' or ')' before '.' token
>> ../libguile/hooks.h:48: error: expected specifier-qualifier-list
>> before 'scm_t_c_hook_function'
>>     
>
> The fix for that is to globally replace "func_data" in libguile/*.[ch]
> by "fn_data".  This is already in our CVS, so will be OK in 1.8.4.
>
>   
OK,
this works...

Now I am getting the foolowing errors:

gc_os_dep.c:1158:1: error: "MACH_TYPE" redefined
gc_os_dep.c:1065:1: error: this is the location of the previous definition
gc_os_dep.c:1161:1: error: "ALIGNMENT" redefined
gc_os_dep.c:1066:1: error: this is the location of the previous definition

I have to look into this...

[...]
> OK, we can look into upgrading to these... but can you give specific
> references for the AIX problems that were fixed in between the
> versions that we used for 1.6.8/1.8.3 and the versions here?
>
>   
Thats very simple. The old build tools do not recognize AIX 6.1.

The new version of config.guess returns: powerpc-ibm-aix6.1.0.0
The old version returns: rs6000-ibm-aix

As a result of the rs6000-ibm-aix the old libtool is not able to build 
shared binaries on AIX 6.1
To be able to build on AIX 6.1 you need at least: config.guess/.sub and 
libtool 1.5.26
+ patched configure scripts (aix5* | aix6*) or autoconf-2.61a from 
January ...


> Thanks,       Neil
>
>   
Bye
  Rainer





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

* Re: guile 1.6.8 make check failure on AIX 6.1
  2008-02-04  7:40   ` Rainer Tammer
@ 2008-02-04  8:31     ` Rainer Tammer
  2008-02-04  9:03     ` guile 1.8.3 compilation errors " Rainer Tammer
  1 sibling, 0 replies; 16+ messages in thread
From: Rainer Tammer @ 2008-02-04  8:31 UTC (permalink / raw)
  To: Neil Jerram; +Cc: bug-guile

Hello Neil,
sorry to bother you again...

Now I have another error:

cc1: warnings being treated as errors
numbers.c: In function 'guile_ieee_init':
numbers.c:617: warning: dereferencing type-punned pointer will break 
strict-aliasing rules
numbers.c:640: warning: dereferencing type-punned pointer will break 
strict-aliasing rules
numbers.c: In function 'scm_exp':
numbers.c:6081: error: '__I' undeclared (first use in this function)
numbers.c:6081: error: (Each undeclared identifier is reported only once
numbers.c:6081: error: for each function it appears in.)

The error in line 617/640 could be resolved by an -fno-strict-aliasing 
but the error in line 6081 is a real one...

#define SCM_COMPLEX_VALUE(z)                                    \
  (SCM_COMPLEX_REAL (z) + _Complex_I * SCM_COMPLEX_IMAG (z))

The problem is in _Complex_I

AIX 6.1 defines in complex.h

/*.
 * a constant expression of type const float _Complex with the
 * value of the imaginary unit. (a number i such that i**2 =-1).
 * __I is provided by the AIX xlc C99 compiler.
 * WARNING: DO NOT USE __I DIRECTLY in an application. Always
 * use _Complex_I .
 */
#define _Complex_I    __I

Would it be possible to changed this:

 From gcc doc:

To write a constant with a complex data type, use the suffix `i' or `j' 
(either one; they are equivalent). For example, |2.5fi| has type 
|_Complex float| and |3i| has type |_Complex int|. Such a constant 
always has a pure imaginary value, but you can form any complex value 
you like by adding one to a real constant. This is a GNU extension; if 
you have an ISO C99 conforming C library (such as GNU libc), and want to 
construct complex constants of floating type, you should include 
|<complex.h>| and use the macros |I| or |_Complex_I| instead.

#define SCM_COMPLEX_VALUE(z)                                    \
  (SCM_COMPLEX_REAL (z) + _Complex_I * SCM_COMPLEX_IMAG (z))

#define SCM_COMPLEX_VALUE(z)                                    \
  (SCM_COMPLEX_REAL (z) + 1.0fi * SCM_COMPLEX_IMAG (z))

The second version works with gcc 4.2.2 and IBM XL C/C++ 9.0

Bye
  Rainer






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

* Re: guile 1.6.8 make check failure on AIX 6.1
  2008-02-05 23:38         ` Neil Jerram
@ 2008-02-04  9:02           ` Ludovic Courtès
  2008-02-06 22:05             ` Neil Jerram
  0 siblings, 1 reply; 16+ messages in thread
From: Ludovic Courtès @ 2008-02-04  9:02 UTC (permalink / raw)
  To: bug-guile

Hi,

Neil Jerram <neil@ossau.uklinux.net> writes:

> Rainer Tammer <tammer@tammer.net> writes:

>> Under Linux: is not NULL
>> Under AIX: is NULL

Note: in HEAD, we could use the `malloc' and `realloc' Gnulib modules to
address this.

Thanks,
Ludovic.





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

* Re: guile 1.8.3 compilation errors on AIX 6.1
  2008-02-04  7:40   ` Rainer Tammer
  2008-02-04  8:31     ` Rainer Tammer
@ 2008-02-04  9:03     ` Rainer Tammer
  2008-02-06  0:00       ` Neil Jerram
  1 sibling, 1 reply; 16+ messages in thread
From: Rainer Tammer @ 2008-02-04  9:03 UTC (permalink / raw)
  To: Neil Jerram; +Cc: bug-guile

Hello Neil,
sorry to bother you again (and again)...

There is also a problem in filesys.c

The function

#define FUNC_NAME s_scm_readdir
{
   struct dirent_or_dirent64 *rdent;
[...]

declares "DIR *ds..." and later calls

  SCM_SYSCALL (readdir_r_or_readdir64_r (ds, (struct dirent_or_dirent64 
*) buf, &rdent));

The problem is that (at least AIX) expects DIR64 for ds...

=> readdir64_r uses DIR64
=> readdir_r uses DIR


There is also a problem in net_db.c

hstrerror needs _USE_IRS defined on AIX otherwise you get a compilation 
error...


With this changes I can compile guile 1.8.3 on AIX 6.1.

check Result:

gmake  check-TESTS
gmake[4]: Entering directory 
`/daten/source/guile-1.8.3/test-suite/standalone'
PASS: test-system-cmds
PASS: test-require-extension
PASS: test-num2integral
PASS: test-round
PASS: test-gh
PASS: test-asmobs
PASS: test-list
PASS: test-unwind
PASS: test-conversion
PASS: test-use-srfi
===================
All 10 tests passed
===================


gmake  check-TESTS
gmake[2]: Entering directory `/daten/source/guile-1.8.3'
Testing /daten/source/guile-1.8.3/pre-inst-guile ...
with GUILE_LOAD_PATH=/daten/source/guile-1.8.3/test-suite
Running alist.test
Running and-let-star.test
Running arbiters.test
Running bit-operations.test
Running c-api.test
Running chars.test
Running common-list.test
Running continuations.test
Running elisp.test
Running environments.test
Running eval.test

;;; (foo-pws)
UNRESOLVED: eval.test: promises: basic promise behaviour: a forced 
promise does not reference its environm
ent
Running exceptions.test
Running filesys.test
Running format.test
Running fractions.test
Running ftw.test
Running gc.test
Running getopt-long.test
Running goops.test
Running guardians.test
UNRESOLVED: guardians.test: standard guardian functionality: guarding 
independent objects: re-guarding non
-immediates
UNRESOLVED: guardians.test: standard guardian functionality: guarding 
weakly referenced objects: guarded e
lement of weak vector gets eventually removed from weak vector
UNRESOLVED: guardians.test: standard guardian functionality: guarding 
weak containers: element of guarded
weak vector gets collected
Running hash.test
Running hooks.test
Running import.test
Running interp.test
Running list.test
Running load.test
Running modules.test
Running numbers.test
FAIL: numbers.test: /: 1/complex: (/ 1e200+1e200i)
FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round 
down: (64 332306998946228949779207691360534527 3.32306998946229e35): 
pos: (= 3.32306998946229e35)
FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round 
down: (64 332306998946228949779207691360534527 3.32306998946229e35): 
neg: (= -3.32306998946229e35)
FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round 
down: (65 664613997892457899558415382721069055 6.64613997892458e35): 
pos: (= 6.64613997892458e35)
FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round 
down: (65 664613997892457899558415382721069055 6.64613997892458e35): 
neg: (= -6.64613997892458e35)
FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round 
down: (66 1329227995784915799116830765442138111 1.32922799578492e36): 
pos: (= 1.32922799578492e36)
FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round 
down: (66 1329227995784915799116830765442138111 1.32922799578492e36): 
neg: (= -1.32922799578492e36)
FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round 
down: (67 2658455991569831598233661530884276223 2.65845599156983e36): 
pos: (= 2.65845599156983e36)
FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round 
down: (67 2658455991569831598233661530884276223 2.65845599156983e36): 
neg: (= -2.65845599156983e36)
FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round 
down: (68 5316911983139663196467323061768552447 5.31691198313966e36): 
pos: (= 5.31691198313967e36)
[...]
Running optargs.test
Running options.test
Running poe.test
Running popen.test
Running ports.test
UNRESOLVED: ports.test: port-for-each: passing freed cell
Running posix.test
Running q.test
Running r4rs.test
Running r5rs_pitfall.test
Running ramap.test
Running reader.test
Running receive.test
Running regexp.test
Running socket.test
FATAL: memory error in realloc
/usr/bin/bash: line 1: 393334 IOT/Abort trap          (core dumped) 
${dir}$tst
FAIL: check-guile
==================================
1 of 1 tests failed
Please report to bug-guile@gnu.org
==================================


Bye
  Rainer







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

* Re: guile 1.6.8 make check failure on AIX 6.1
  2008-02-04  7:21       ` Rainer Tammer
@ 2008-02-05 23:38         ` Neil Jerram
  2008-02-04  9:02           ` Ludovic Courtès
  0 siblings, 1 reply; 16+ messages in thread
From: Neil Jerram @ 2008-02-05 23:38 UTC (permalink / raw)
  To: Rainer Tammer; +Cc: Guile Bugs

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

Rainer Tammer <tammer@tammer.net> writes:

>>> ERROR: srfi-4.test: u8 vector: u8vector? success - arguments:
>>> ((memory-allocation-error "make-u8vector" "Memory allocation error" #f
>>> #f))
>>>
>> [...]
>>
>    t = (char*)realloc(NULL, 0);
>    if (t == NULL)
>    {
>        printf("is NULL\n");
>    }
>    else
>    {
>        printf("is not NULL\n");
>    }

> Under Linux: is not NULL
> Under AIX: is NULL
>
> This is an "old" AIX difference....

Thanks for confirming this.  Could you try the attached patch (for
1.8.3) and confirm that it fixes these errors?

Thanks,
        Neil


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: null-alloc.patch --]
[-- Type: text/x-diff, Size: 775 bytes --]

Index: libguile/gc-malloc.c
===================================================================
RCS file: /cvsroot/guile/guile/guile-core/libguile/gc-malloc.c,v
retrieving revision 1.28.2.2
diff -u -r1.28.2.2 gc-malloc.c
--- libguile/gc-malloc.c	15 Feb 2006 00:38:44 -0000	1.28.2.2
+++ libguile/gc-malloc.c	5 Feb 2008 23:34:06 -0000
@@ -317,7 +317,7 @@
      to write it the program is killed with signal 11. --hwn
   */
 
-  void *ptr = scm_malloc (size);
+  void *ptr = size ? scm_malloc (size) : NULL;
   scm_gc_register_collectable_memory (ptr, size, what);
   return ptr;
 }
@@ -363,7 +363,8 @@
 scm_gc_free (void *mem, size_t size, const char *what)
 {
   scm_gc_unregister_collectable_memory (mem, size, what);
-  free (mem);
+  if (mem)
+    free (mem);
 }
 
 char *

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

* Re: guile 1.8.3 compilation errors on AIX 6.1
  2008-02-04  9:03     ` guile 1.8.3 compilation errors " Rainer Tammer
@ 2008-02-06  0:00       ` Neil Jerram
  2008-02-06  8:22         ` Rainer Tammer
  0 siblings, 1 reply; 16+ messages in thread
From: Neil Jerram @ 2008-02-06  0:00 UTC (permalink / raw)
  To: Rainer Tammer; +Cc: bug-guile

Rainer Tammer <tammer@tammer.net> writes:

> Hello Neil,
> sorry to bother you again (and again)...

No problem; I'm sorry that Guile doesn't Just Work yet on AIX...

> There is also a problem in filesys.c
>
> The function
>
> #define FUNC_NAME s_scm_readdir
> {
>   struct dirent_or_dirent64 *rdent;
> [...]
>
> declares "DIR *ds..." and later calls
>
>  SCM_SYSCALL (readdir_r_or_readdir64_r (ds, (struct dirent_or_dirent64
> *) buf, &rdent));
>
> The problem is that (at least AIX) expects DIR64 for ds...
>
> => readdir64_r uses DIR64
> => readdir_r uses DIR

We have a pragmatic "fix" for this one already in CVS (and so will be
in 1.8.4); see here:
http://lists.gnu.org/archive/html/bug-guile/2008-01/msg00076.html

> There is also a problem in net_db.c
>
> hstrerror needs _USE_IRS defined on AIX otherwise you get a
> compilation error...

So how did HAVE_HSTRERROR manage to get defined during the ./configure
step?

> FAIL: numbers.test: /: 1/complex: (/ 1e200+1e200i)
> FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round
> down: (64 332306998946228949779207691360534527 3.32306998946229e35):
> pos: (= 3.32306998946229e35)
> FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round
> down: (64 332306998946228949779207691360534527 3.32306998946229e35):
> neg: (= -3.32306998946229e35)
> FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round
> down: (65 664613997892457899558415382721069055 6.64613997892458e35):
> pos: (= 6.64613997892458e35)
> FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round
> down: (65 664613997892457899558415382721069055 6.64613997892458e35):
> neg: (= -6.64613997892458e35)
> FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round
> down: (66 1329227995784915799116830765442138111 1.32922799578492e36):
> pos: (= 1.32922799578492e36)
> FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round
> down: (66 1329227995784915799116830765442138111 1.32922799578492e36):
> neg: (= -1.32922799578492e36)
> FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round
> down: (67 2658455991569831598233661530884276223 2.65845599156983e36):
> pos: (= 2.65845599156983e36)
> FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round
> down: (67 2658455991569831598233661530884276223 2.65845599156983e36):
> neg: (= -2.65845599156983e36)
> FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round
> down: (68 5316911983139663196467323061768552447 5.31691198313966e36):
> pos: (= 5.31691198313967e36)

Not sure about these; I'll come back to them later.

> Running socket.test
> FATAL: memory error in realloc
> /usr/bin/bash: line 1: 393334 IOT/Abort trap          (core dumped)

Could you send us the last few lines of check-guile.log (in $TOPDIR);
that should indicate which of the cases in socket.test passed, before
the one that trapped.

Thanks,
        Neil





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

* Re: guile 1.8.3 compilation errors on AIX 6.1
  2008-02-06  0:00       ` Neil Jerram
@ 2008-02-06  8:22         ` Rainer Tammer
  0 siblings, 0 replies; 16+ messages in thread
From: Rainer Tammer @ 2008-02-06  8:22 UTC (permalink / raw)
  To: Neil Jerram; +Cc: bug-guile

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

Hello Neil,

Neil Jerram wrote:

[...]
> We have a pragmatic "fix" for this one already in CVS (and so will be
> in 1.8.4); see here:
> http://lists.gnu.org/archive/html/bug-guile/2008-01/msg00076.html
>
>   
I think this fixed it.
The compiler did not barf.
>> There is also a problem in net_db.c
>>
>> hstrerror needs _USE_IRS defined on AIX otherwise you get a
>> compilation error...
>>     
>
> So how did HAVE_HSTRERROR manage to get defined during the ./configure
> step?
>
>   
I have no idea. I will attach the configure logs.

To compile the code I have manually added the _USE_IRS.
Maybe we will need a fixup in the config script:

if aix*  then define _USE_IRS ...

-----------------------------------------------------------------------------------------------
I also needed to add: -fno-strict-aliasing

numbers.c:617: warning: dereferencing type-punned pointer will break 
strict-aliasing rules
numbers.c:640: warning: dereferencing type-punned pointer will break 
strict-aliasing rules

(-> gcc 4.2.2)
> Could you send us the last few lines of check-guile.log (in $TOPDIR);
> that should indicate which of the cases in socket.test passed, before
> the one that trapped.
>
>   
I will attach all necessary logs.

The first tests passes all.
The second test have some errors (details seel attached log)...

Running guardians.test
UNRESOLVED: guardians.test: standard guardian functionality: guarding 
independent objects: re-guarding non-immediates
UNRESOLVED: guardians.test: standard guardian functionality: guarding 
weakly referenced objects: guarded element of weak vector gets ev
entually removed from weak vector
UNRESOLVED: guardians.test: standard guardian functionality: guarding 
weak containers: element of guarded weak vector gets collected
[..]
Running numbers.test
FAIL: numbers.test: /: 1/complex: (/ 1e200+1e200i)
FAIL: numbers.test: exact->inexact: mantdig ones then 011..11, round 
down: (64 332306998946228949779207691360534527 3.32306998946229e35
): pos: (= 3.32306998946229e35)
[...]
Running ports.test
UNRESOLVED: ports.test: port-for-each: passing freed cell
[...]
FAIL: numbers.test: exact->inexact: 2^mantdig then 100..001, round up: 
(97 5708990770823839207320493820740630171355185153 5.70899077082
384e45): neg: (= -5.70899077082384e45)
[...]
Running ports.test
UNRESOLVED: ports.test: port-for-each: passing freed cell
[...]
Running srfi-14.test
UNRESOLVED: srfi-14.test: Latin-1 (8-bit charset): char-set:letter 
(membership)
UNRESOLVED: srfi-14.test: Latin-1 (8-bit charset): char-set:letter (size)
UNRESOLVED: srfi-14.test: Latin-1 (8-bit charset): char-set:lower-case 
(size)
UNRESOLVED: srfi-14.test: Latin-1 (8-bit charset): char-set:upper-case 
(size)
UNRESOLVED: srfi-14.test: Latin-1 (8-bit charset): char-set:punctuation 
(membership)
[...]
Running syntax.test
UNRESOLVED: syntax.test: while: in empty environment: empty body
UNRESOLVED: syntax.test: while: in empty environment: initially false
UNRESOLVED: syntax.test: while: in empty environment: iterating
Running threads.test
Running time.test
FAIL: time.test: strftime: C99 %z format: GMT
FAIL: time.test: strftime: C99 %z format: EST+5
Running unif.test
Running version.test
Running weaks.test

Totals for this test run:
passes:                 11514
failures:               347
unexpected passes:      0
expected failures:      25
unresolved test cases:  13
untested test cases:    0
unsupported test cases: 11
errors:                 0

FAIL: check-guile
==================================
1 of 1 tests failed
Please report to bug-guile@gnu.org
==================================

At least the memory error is gone :-)

Info:

I changed numbe.c

#define SCM_COMPLEX_VALUE(z)                                    \
 (SCM_COMPLEX_REAL (z) + _Complex_I * SCM_COMPLEX_IMAG (z))

==>

#define SCM_COMPLEX_VALUE(z)                                    \
 (SCM_COMPLEX_REAL (z) + 1.0fi * SCM_COMPLEX_IMAG (z))

The _Complex_I and 1.0fi should evaluate to the same result:

1.0fi      0.000000, 1.000000
_Complex_I 0.000000, 1.000000


> Thanks,
>         Neil
>
>
>   
Thanks,
  Rainer



[-- Attachment #2: guile-1.8.3-aix.tar.gz --]
[-- Type: application/x-gzip, Size: 128092 bytes --]

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

* Re: guile 1.6.8 make check failure on AIX 6.1
  2008-02-04  9:02           ` Ludovic Courtès
@ 2008-02-06 22:05             ` Neil Jerram
  0 siblings, 0 replies; 16+ messages in thread
From: Neil Jerram @ 2008-02-06 22:05 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: bug-guile

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

> Hi,
>
> Neil Jerram <neil@ossau.uklinux.net> writes:
>
>> Rainer Tammer <tammer@tammer.net> writes:
>
>>> Under Linux: is not NULL
>>> Under AIX: is NULL
>
> Note: in HEAD, we could use the `malloc' and `realloc' Gnulib modules to
> address this.

Hmm, yes, we could.  But (i) gnulib's malloc works by allocating 1
byte when 0 are requested, so would introduce small errors into our GC
counting, (ii) I think it's quite easy anyway just to avoid making the
0-byte malloc calls.

The avoidance patch apparently works, so I will go ahead with that for
now.  We can always come back to the gnulib approach if we need to in
future.

Regards,
        Neil





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

end of thread, other threads:[~2008-02-06 22:05 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-02 12:12 guile 1.6.8 make check failure on AIX 6.1 Rainer Tammer
2008-02-03 23:51 ` Neil Jerram
2008-02-04  7:40   ` Rainer Tammer
2008-02-04  8:31     ` Rainer Tammer
2008-02-04  9:03     ` guile 1.8.3 compilation errors " Rainer Tammer
2008-02-06  0:00       ` Neil Jerram
2008-02-06  8:22         ` Rainer Tammer
  -- strict thread matches above, loose matches on Subject: below --
2008-01-31  9:34 guile 1.6.8 make check failure " Rainer Tammer
2008-02-01 10:45 ` Ludovic Courtès
2008-02-01 20:32 ` Neil Jerram
2008-02-02 11:31   ` Rainer Tammer
2008-02-03 23:47     ` Neil Jerram
2008-02-04  7:21       ` Rainer Tammer
2008-02-05 23:38         ` Neil Jerram
2008-02-04  9:02           ` Ludovic Courtès
2008-02-06 22:05             ` Neil Jerram

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