[erlang-questions] problems building r11b-3

Mikael Pettersson mikpe@REDACTED
Wed Dec 10 16:42:35 CET 2008

Ulf Wiger writes:
 > Thanks, That got me further:
 > obj/i686-pc-linux-gnu/opt/hybrid/ttsl_drv.o -lutil -ldl -lm
 > -lpthread -lncurses -L../lib/internal/i686-pc-linux-gnu
 > /home/uwiger/src/otp/otp_src_R11B-3/erts/obj/i686-pc-linux-gnu/libz.a
 > -lethread -lpthread -lerts_internal_r -lrt
 > obj/i686-pc-linux-gnu/opt/hybrid/hipe_x86_bifs.o: In function
 > `nbif_handle_fp_exception':
 > /home/uwiger/src/otp/otp_src_R11B-3/erts/emulator/i686-pc-linux-gnu/opt/hybrid/hipe_x86_bifs.S:269:
 > undefined reference to `erts_restore_fpu'
 > collect2: ld returned 1 exit status
 > make[3]: *** [/home/uwiger/src/otp/otp_src_R11B-3/bin/i686-pc-linux-gnu/beam.hybrid]
 > Error 1

Looks like erts/configure didn't detect working FP exceptions on this box,
which since it's an x86 most likely is a compile problem with the fpe-test.c
program embedded in erts/configure.in. Without FP exceptions you can't have
HiPE (except on ARM which assumes no HW FPU).

I believe there are now (R12) explicit checks in erts/configure to disable
HiPE on x86/powerpc/sparc if FP exceptions don't work, perhaps those checks
don't exist in R11.

Either run erts/configure again and look for messages about reliable floating-
point exceptions not working, or look in erts/i686-pc-linux-gnu/config.h for
a #define NO_FPE_SIGNALS.

If you can't resolve the lack of FP exception support, you'll have to
reconfigure with --disable-hipe.

More information about the erlang-questions mailing list