Kamaraju S Kusumanchi <[EMAIL PROTECTED]> writes: > Just wanted to bring to your attention that guile 1.8.4 failed to build on > alpha, ia64 architectures. The build log can be found at > > http://buildd.debian.org/fetch.cgi?pkg=guile-1.8&arch=alpha&ver=1.8.4%2B1-1&stamp=1203917145&file=log&as=raw > > http://buildd.debian.org/fetch.cgi?pkg=guile-1.8&arch=ia64&ver=1.8.4%2B1-1&stamp=1203835823&file=log&as=raw > > It would be great if they can be fixed.
Looking into ia64 first... On my test machine, and without the Debian patches, I'm seeing other problems that prevent me from reaching the Illegal instruction that your build is getting. One of them is: Undefined reference to .L16, when trying to link libguile/.libs/guile This seems related to the use of a union, containing several different pointer types, in uvec_print() in libguile/srfi-4.c. Specifically, it seems that the .L16 reference is pulled in by pointer dereferences like the "*np.u8" in case SCM_UVEC_U8: scm_uintprint (*np.u8, 10, port); np.u8++; break; If I replace "*np.u8" by "1", there is no longer any undefined reference. If I declare a separate variable "scm_t_uint8 *u8", and use that instead of np.u8, there is no longer any undefined reference. I could rewrite the code to avoid the union, but I'd like to understand what's going on here first. Can anyone help? Thanks, Neil