unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* 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; 7+ 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] 7+ 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; 7+ 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] 7+ 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; 7+ 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] 7+ 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; 7+ 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] 7+ 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; 7+ 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] 7+ 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; 7+ 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] 7+ 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; 7+ 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] 7+ messages in thread

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

Thread overview: 7+ 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

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