[erlang-patches] Erlang on AIX 5.3
VAUCHER Laurent
VAUCHER@REDACTED
Wed Jan 24 11:49:23 CET 2007
Hi.
I'm trying to compile R11B2 on AIX 5.3 and, as you might guess, it
fails.
I can help fixing it, but I will need some help.
First, the ./configure script warns me that odbc will not be built
(that's probably normal).
Then, when doing make, compilation fails on
erts/emulator/sys/unix/erl_check_io.c
The problem comes from AIX, in fact, because the included <poll.h> file
does a very nasty trick: it simply #defines events and revents. And
those identifiers are used as struct fields in
erts/emulator/beam/erl_driver.h
Well, I have found a kind of workaround, which is to force #include
<poll.h> just before the struct definition. I have not yet found how to
protect this include so that it only happens on AIX.
Compilation seems to proceed further, but then
=== Entering application parsetools
make[3]: Entering directory `/tmp/otp_src_R11B-2/lib/parsetools/src'
erlc -W +debug_info -I/tmp/otp_src_R11B-2/lib/stdlib/include -o../ebin
yecc.erl
Could not load program
/tmp/otp_src_R11B-2/bin/powerpc-ibm-aix5.3.0.0/beam:
The program does not have an entry point or
the o_snentry field in the auxiliary header is invalid.
Examine file headers with the 'dump -ohv' command.
make[3]: *** [../ebin/yecc.beam] Error 255
make[3]: Leaving directory `/tmp/otp_src_R11B-2/lib/parsetools/src'
make[2]: *** [opt] Error 2
make[2]: Leaving directory `/tmp/otp_src_R11B-2/lib/parsetools'
make[1]: *** [opt] Error 2
make[1]: Leaving directory `/tmp/otp_src_R11B-2/lib'
make: *** [secondary_bootstrap_build] Error 2
I have no idea what this can mean. The suggested dump -ohv on 'beam'
gives the folowwing result
/tmp/otp_src_R11B-2>dump -ohv bin/powerpc-ibm-aix5.3.0.0/beam
bin/powerpc-ibm-aix5.3.0.0/beam:
***Object Module Header***
# Sections Symbol Ptr # Symbols Opt Hdr Len Flags
5 0x00019018 7882 72 0x1002
Flags=( EXEC DYNLOAD DEP_SYSTEM )
Timestamp = "Jan 24 11:35:43 2007"
Magic = 0x1df (32-bit XCOFF)
***Optional Header***
Tsize Dsize Bsize Tstart Dstart
0x00007078 0x00000894 0x000000c0 0x10000150 0x200001c8
SNloader SNentry SNtext SNtoc SNdata
0x0004 0x0000 0x0001 0x0002 0x0002
TXTalign DATAalign TOC vstamp entry
0x0005 0x0003 0x200009f4 0x0001 0xffffffff
maxSTACK maxDATA SNbss magic modtype
0x00000000 0x00000000 0x0003 0x010b 1L
***Section Header Information***
Section Header for .text
PHYaddr VTRaddr SCTsiz RAWptr RELptr
0x10000150 0x10000150 0x00007078 0x00000150 0x000156e6
LN#ptr #RELent #LINent Flags
0x00015f2e 0x0074 0x0827 0x00000020
Section Header for .data
PHYaddr VTRaddr SCTsiz RAWptr RELptr
0x200001c8 0x200001c8 0x00000894 0x000071c8 0x00015b6e
LN#ptr #RELent #LINent Flags
0x00000000 0x0060 0x0000 0x00000040
Section Header for .bss
PHYaddr VTRaddr SCTsiz RAWptr RELptr
0x20000a5c 0x20000a5c 0x000000c0 0x00000000 0x00000000
LN#ptr #RELent #LINent Flags
0x00000000 0x0000 0x0000 0x00000080
Section Header for .loader
PHYaddr VTRaddr SCTsiz RAWptr RELptr
0x00000000 0x00000000 0x00000627 0x00007a5c 0x00000000
LN#ptr #RELent #LINent Flags
0x00000000 0x0000 0x0000 0x00001000
Section Header for .debug
PHYaddr VTRaddr SCTsiz RAWptr RELptr
0x00000000 0x00000000 0x0000d661 0x00008084 0x00000000
LN#ptr #RELent #LINent Flags
0x00000000 0x0000 0x0000 0x00002000
Does anyone have an idea here?
Laurent Vaucher.
More information about the erlang-patches
mailing list