Dwight | 5 Nov 2008 22:17

Re: Unable to build guile

Hi Ludovic Courtès,

>>(gdb) bt full
>>#0  0xd004a864 in pthread_mutexattr_init () from /usr/lib/libpthreads.a(shr_xpg5.o)
>>No symbol table info available.
>>#1  0xd6dd0bac in scm_threads_prehistory (base=0x2ff21e48) at threads.c:1656
>>No locals.
>>#2  0xd6e38b40 in scm_i_init_guile (base=0x0) at init.c:421
> 
> 
> It looks like `get_thread_stack_base ()' doesn't work.
> 
> Can you run "grep -i pthread_attr_getstack config.h" and "grep -i
> pthread_get_stackaddr config.h" from the build directory?

# grep -i pthread_attr_getstack config.h
/* Define to 1 if you have the `pthread_attr_getstack' function. */
#define HAVE_PTHREAD_ATTR_GETSTACK 1
/* #undef PTHREAD_ATTR_GETSTACK_WORKS */

# grep -i pthread_get_stackaddr config.h
/* Define to 1 if you have the `pthread_get_stackaddr_np' function. */
/* #undef HAVE_PTHREAD_GET_STACKADDR_NP */

>>numbers.c: In function 'guile_ieee_init':
>>numbers.c:622: warning: dereferencing type-punned pointer will break strict-aliasing rules
>>numbers.c:645: warning: dereferencing type-punned pointer will break strict-aliasing rules
> 
> 
> It's surprising that `DINFINITY' and `DQNAN' are declared as ints.  Can
> you "rgrep '\(DINFINITY\|DQNAN\)' /usr/include"?
   I do not have rgrep; but I did do a grep on /usr/include and /usr/include/sys

# grep -E "DINFINITY|DQNAN" *
float.h:#define DINFINITY _DBLINF
float.h:        extern  unsigned   int DQNAN[2];
float.h:#define DBL_QNAN        (*((double *) (DQNAN)))
math.h:#define DINFINITY _DBLINF

> Our code appears to be based on that of Octave
> (http://hg.savannah.gnu.org/hgweb/octave/file/ec969f3b8955/liboctave/lo-ieee.cc),
> which (erroneously) assumes that these variables are only used on OSF.
   AIX is supposed to be compliant with the latest OSF specifications!
If you like you can check out the link below to get more information
about AIX compatability/compliance with UNIX standards.

	http://www-03.ibm.com/systems/p/os/aix/standards/index.html

>>net_db.c: In function 'scm_resolv_error':
>>net_db.c:112: warning: implicit declaration of function 'hstrerror'
> 
> 
> Can you also "rgrep hstrerror /usr/include"?
   I did a grep on /usr/include and /usr/include/sys

# grep hstrerror *
netdb.h:const char      *hstrerror();
netdb.h:const char *    hstrerror(int);

   Hope this information is what you requested.

Bye,
Dwight


Gmane