Created
June 13, 2011 01:24
-
-
Save wez/1022194 to your computer and use it in GitHub Desktop.
failure to build erlang on sparcv9 Solaris 10 with the system gcc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cd lib && \ | |
ERL_TOP=/var/tmp/pkgbuild-0/erlang/sparcv9/erlang-otp-73b4221 PATH=/var/tmp/pkgbuild-0/erlang/sparcv9/erlang-otp-73b4221/bootstrap/bin:${PATH} \ | |
make opt SECONDARY_BOOTSTRAP=true | |
make[1]: Entering directory `/var/tmp/pkgbuild-0/erlang/sparcv9/erlang-otp-73b4221/lib' | |
make[2]: Entering directory `/var/tmp/pkgbuild-0/erlang/sparcv9/erlang-otp-73b4221/lib/hipe' | |
=== Entering application hipe | |
make[3]: Entering directory `/var/tmp/pkgbuild-0/erlang/sparcv9/erlang-otp-73b4221/lib/hipe/misc' | |
erlc -W +debug_info +warn_exported_vars +warn_missing_spec +warn_untyped_record -o../ebin hipe_consttab.erl | |
make[3]: *** [../ebin/hipe_consttab.beam] Bus Error (core dumped) | |
make[3]: Leaving directory `/var/tmp/pkgbuild-0/erlang/sparcv9/erlang-otp-73b4221/lib/hipe/misc' |
Have a look at the resulting core dump using "pstack core".
# pstack ./erlang-otp-73b4221/lib/hipe/misc/core
core './erlang-otp-73b4221/lib/hipe/misc/core' of 2831: /var/tmp/pkgbuild-0/erlang/sparcv9/erlang-otp-73b4221/bin/sparc-sun-so
----------------- lwp# 1 / thread# 1 --------------------
00000001001207ac process_main (b520, 4, 5a10, 0, 61a0, 6000) + 1c
000000010003e370 erl_init (1003516ac, 5e58, 23, fffffffffffffffc, 10, 100306c28) + 10c
000000010003f9b0 erl_start (800, 100306c30, 100351314, 0, af8, 6000) + 298
00000001000246d4 main (23, ffffffff7ffff4b8, ffffffff7ffff5d8, 100351188, 100000000, 7fffffff7fb00140) + 8
000000010002457c _start (0, 0, 0, 0, 0, 0) + 7c
----------------- lwp# 2 / thread# 2 --------------------
7fffffff7eace5b4 _read (5, 7fffffff7e0fbe50, 20, 0, 1, 0) + c
000000010013e8b0 signal_dispatcher_thread_func (0, 0, 1003eb7d0, 1003eb7d0, 0, 1003eb850) + 2c
000000010018a5c4 thr_wrapper (ffffffff7fffeb70, 1fc000, 0, 0, 10018a540, 0) + 84
7fffffff7eacd69c _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 3 / thread# 3 --------------------
7fffffff7eacd740 __lwp_park (100350698, 1003506c8, 0, 1, 11f2a8, 7fffffff7e20e0c0) + 14
7fffffff7eac6f64 cond_wait_queue (100350698, 1003506c8, 0, 0, 0, 7fffffff7ebf2100) + 28
7fffffff7eac7514 cond_wait (100350698, 1003506c8, 4356, 100188420, 4c00, 0) + 10
7fffffff7eac7550 pthread_cond_wait (100350698, 1003506c8, 0, 0, 8, 7fffffff7dd00000) + 8
0000000100188420 ethr_cond_wait (100350698, 1003506c8, 0, 6000, 1400, ffffffffffffffff) + 14
0000000100072528 emergency_watchdog (0, 0, 1003eb7d0, 1003eb7d0, 0, 16e8) + 60
000000010018a5c4 thr_wrapper (ffffffff7fffec70, 12000, 0, 0, 10018a540, 0) + 84
7fffffff7eacd69c _lwp_start (0, 0, 0, 0, 0, 0)
----------------- lwp# 4 / thread# 4 --------------------
7fffffff7eacd740 __lwp_park (100306e10, 100306dc0, 0, 1, 11f2a8, 7fffffff7e20b100) + 14
7fffffff7eac6f64 cond_wait_queue (100306e10, 100306dc0, 0, 0, 0, 7fffffff7ebf2100) + 28
7fffffff7eac7514 cond_wait (100306e10, 100306dc0, ff000000, ff000000, 20, 4) + 10
7fffffff7eac7550 pthread_cond_wait (100306e10, 100306dc0, 0, 60d8, 0, 100350668) + 8
0000000100188420 ethr_cond_wait (100306e10, 100306dc0, 0, 1400, 100067d44, 0) + 14
00000001000681e0 sys_msg_dispatcher_func (0, 0, 1003eb7d0, 1003eb7d0, 1400, 1400) + 158
000000010018a5c4 thr_wrapper (ffffffff7fffec70, 1fc000, 0, 0, 10018a540, 0) + 84
7fffffff7eacd69c _lwp_start (0, 0, 0, 0, 0, 0)
Looks like the executable name got truncated there:
# file ./erlang-otp-73b4221/lib/hipe/misc/core
./erlang-otp-73b4221/lib/hipe/misc/core:
ELF 64-bit MSB core file SPARCV9 Version 1, from 'beam.smp'
I was hoping that this would be an "you're an idiot for trying to build it that way, do it this way instead" type of questions, but I'm not sure I'm going to be so lucky :-/
Some other system info that might be pertinent:
# isainfo -v
64-bit sparcv9 applications
vis2 vis
32-bit sparc applications
vis2 vis v8plus div32 mul32
# uname -a
SunOS ecbuild-20 5.10 Generic_118833-33 sun4u sparc SUNW,Sun-Fire-280R
# gcc -v
Reading specs from /usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/specs
Configured with: /gates/sfw10/builds/sfw10-gate/usr/src/cmd/gcc/gcc-3.4.3/configure --prefix=/usr/sfw --with-as=/usr/sfw/bin/gas --with-gnu-as --with-ld=/usr/ccs/bin/ld --without-gnu-ld --enable-languages=c,c++ --enable-shared
Thread model: posix
gcc version 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
In case anyone is paying attention to this, I believe this is an issue with the gcc that ships with sparc solaris 10. Building a newer gcc is rather laborious process, but I'm working that angle.
I've opened a thread on stackoverflow for this, complete with the solution:
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
configured with:
--disable-debug
--enable-kernel-poll
--enable-dynamic-ssl-lib
--disable-hipe
--with-ssl=/usr/sfw \