* 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; 13+ 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] 13+ 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 on AIX 6.1 Rainer Tammer
@ 2008-02-01 10:45 ` Ludovic Courtès
2008-02-01 20:32 ` Neil Jerram
1 sibling, 0 replies; 13+ 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] 13+ 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 on AIX 6.1 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; 13+ 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] 13+ 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; 13+ 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] 13+ 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; 13+ 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] 13+ 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; 13+ 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] 13+ 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
2008-02-04 7:40 ` Rainer Tammer
0 siblings, 1 reply; 13+ 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] 13+ 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; 13+ 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] 13+ 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
0 siblings, 1 reply; 13+ 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] 13+ 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
0 siblings, 0 replies; 13+ 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] 13+ 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; 13+ 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] 13+ 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; 13+ 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] 13+ 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; 13+ 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] 13+ messages in thread
end of thread, other threads:[~2008-02-06 22:05 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-31 9:34 guile 1.6.8 make check failure on AIX 6.1 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
-- strict thread matches above, loose matches on Subject: below --
2008-02-02 12:12 Rainer Tammer
2008-02-03 23:51 ` Neil Jerram
2008-02-04 7:40 ` Rainer Tammer
2008-02-04 8:31 ` Rainer Tammer
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).