Skip to content

Instantly share code, notes, and snippets.

@wez
Created June 13, 2011 01:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wez/1022194 to your computer and use it in GitHub Desktop.
Save wez/1022194 to your computer and use it in GitHub Desktop.
failure to build erlang on sparcv9 Solaris 10 with the system gcc
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'
@wez
Copy link
Author

wez commented Jun 13, 2011

configured with:

--disable-debug
--enable-kernel-poll
--enable-dynamic-ssl-lib
--disable-hipe
--with-ssl=/usr/sfw \

@benr
Copy link

benr commented Jun 13, 2011

Have a look at the resulting core dump using "pstack core".

@wez
Copy link
Author

wez commented Jun 13, 2011

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

@wez
Copy link
Author

wez commented Jun 13, 2011

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'

@wez
Copy link
Author

wez commented Jun 13, 2011

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)

@wez
Copy link
Author

wez commented Jun 14, 2011

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.

@wez
Copy link
Author

wez commented Jul 3, 2011

I've opened a thread on stackoverflow for this, complete with the solution:

http://stackoverflow.com/questions/6561133/why-does-my-erlang-build-fail-with-a-core-dump-on-solaris-sparc/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment