Mac Intel

Mikael Pettersson mikpe@REDACTED
Thu Aug 10 10:46:29 CEST 2006

Joel Reymont writes:
 > This might turn out to be simple than I thought sigaltstack-wise but  
 > I'm getting the following error.
 > My poking around reveals that ERTS_ALC_T_HIPE gets generated from ./ 
 > erts/emulator/beam/erl_alloc.types by make_alloc_types (a perl  
 > script). I enabled smp, threads and hipe during the configure step  
 > but the same error happens if I just enable hipe.
 > In erl_alloc.types the generation of ERTS_ALC_T_HIPE is conditional  
 > on +hipe. Does it mean something is not getting defined somewhere  
 > during configure?
 > What do I need to enable/disable to generate ERTS_ALC_T_HIPE?
 > 	Thanks, Joel
 > ---
 > cd erts/emulator && ERL_TOP=/Users/joelr/work/Erlang/otp_src_R11B-0  
 > make generate depend
 > make -f i386-apple-darwin8.7.1/Makefile generate
 > gcc  -mdynamic-no-pic -g -O3 -I/Users/joelr/work/Erlang/ 
 > otp_src_R11B-0/erts/i386-apple-darwin8.7.1  -no-cpp-precomp   - 
 > DHAVE_CONFIG_H -Wall -Wstrict-prototypes -Wmissing-prototypes - 
 > DUSE_THREADS  -D_THREAD_SAFE -D_REENTRANT  -Ibeam -Isys/unix -Isys/ 
 > common -Ii386-apple-darwin8.7.1/opt -Ii386-apple-darwin8.7.1 -Izlib - 
 > Ihipe -I../include/internal -I../include/internal/i386-apple- 
 > darwin8.7.1 -c hipe/hipe_mkliterals.c -o /Users/joelr/work/Erlang/ 
 > otp_src_R11B-0/erts/obj.beam/i386-apple-darwin8.7.1/hipe_mkliterals.o
 > In file included from beam/erl_process.h:39,
 >                   from beam/beam_load.h:23,
 >                   from beam/export.h:66,
 >                   from beam/global.h:29,
 >                   from hipe/hipe_mkliterals.c:14:
 > hipe/hipe_process.h: In function 'hipe_delete_process':
 > hipe/hipe_process.h:64: error: 'ERTS_ALC_T_HIPE' undeclared (first  
 > use in this function)
 > hipe/hipe_process.h:64: error: (Each undeclared identifier is  
 > reported only oncehipe/hipe_process.h:64: error: for each function it  
 > appears in.)

You have an inconsistent build. ERTS_ALC_T_HIPE gets defined if HiPE
is enabled, and erl_process.h only includes hipe_process.h if HiPE is
enabled. So ERTS_ALC_T_HIPE being undefined there should be impossible.

My guess is that you started with a standard build, which didn't auto-enable
HiPE, and later did a ./configure --enable-hipe; make build in the same source
tree, which apparently failed to regenerate erl_alloc_types.h, leading to the
error. 'make clean' has historically not worked well in the Erlang/OTP sources,
so your best bet is to do the ./configure --enable-hipe; make thing in a
completely fresh source tree.

More information about the erlang-questions mailing list