Build hangs on Solaris/x86
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ikarus Scheme |
Fix Committed
|
Low
|
Abdulaziz Ghuloum |
Bug Description
Building Ikarus Scheme on a Solaris/x86 system hangs during the macro expansion phase. The build log says:
=======
Making all in scheme
../src/ikarus -b ./ikarus.boot.orig --r6rs-script makefile.ss
expanding "ikarus.
expanding "ikarus.
expanding "ikarus.
[... snipped ...]
expanding "ikarus.main.ss"
running stats for macro expansion:
44 collections
4055 ms elapsed cpu time, including 302 ms collecting
4061 ms elapsed real time, including 304 ms collecting
186521960 bytes allocated
=======
It hangs there for a minute or so and finally says:
=======
*** Signal 11 - core dumped
make: Fatal error: Command failed for target `ikarus.boot'
=======
$ uname -a
returns:
SunOS wien 5.11 snv_55b i86pc i386 i86pc Solaris
I used the Sun C compiler and linker:
$ cc -V
cc: Sun C 5.9 SunOS_i386 2007/05/03
$ ld -V
ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.555
The same thing happens when i try to build with gcc 3.4.3. Output of gcc -v:
=======
Reading specs from /usr/sfw/
Configured with: /builds1/
Thread model: posix
gcc version 3.4.3 (csl-sol210-
=======
I can't try the build with gcc + gnu ld because gnu ld isn't installed on that machine.
Here's a backtrace of the version built with Sun cc and ld:
=======
(gdb) backtrace
#0 0xf5160934 in ?? ()
#1 0xe6ce0818 in ?? ()
#2 0xfe59f5c3 in ?? ()
#3 0x000002f8 in ?? ()
#4 0x000002f4 in ?? ()
#5 0xf7aa0bec in ?? ()
#6 0x00000be8 in ?? ()
#7 0xfe4e269d in ?? ()
#8 0xfd940055 in ?? ()
#9 0xbbaf0f2d in ?? ()
#10 0xe6ce0e24 in ?? ()
#11 0xfe597173 in ?? ()
#12 0x00000bdc in ?? ()
#13 0x000103d8 in ?? ()
#14 0x00006038 in ?? ()
#15 0xfe200005 in ?? ()
#16 0xf50d0efa in ?? ()
#17 0xfd940055 in ?? ()
#18 0xed953005 in ?? ()
#19 0x0805dc6d in L_call ()
=======
Changed in ikarus: | |
milestone: | none → 0.0.4 |
I have seen the same problem happen under cygwin. The problem showed when ikarus was built with the "-O2 -g" flag, which configure.ac now overrides with "-O3". It seems that compiling the assembly file ikarus-enter.s gets somewhat screwed. It's likely to be a bug in my code, but I don't know what it is. I will try to reproduce it under cygwin and see how to fix it there first before trying to fix it for solaris (which I don't have access to at the moment).
Let me know if using the gnu ld fixes it.
Aziz,,,