[erlang-patches] Erlang on AIX 5.3

Raimo Niskanen <>
Mon Jan 29 09:25:20 CET 2007


For questions about using and building Erlang/OTP, use the 
 mailing list. If you have a patch
use  If you want to report a bug
use  

All this can be found at http://www.erlang.org/mailman/listinfo if you
follow the links down to the individual mailing list descriptions. And
that page itself can be found from:
    http://www.erlang.org
    -> FAQs + mailing lists
    -> The erlang.org mailing lists

Since you seem more likely to have a platform specific build problem
than a bug I would go for 



On Wed, Jan 24, 2007 at 11:49:23AM +0100, VAUCHER Laurent wrote:
>   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.
> 
> 
> _______________________________________________
> erlang-patches mailing list
> 
> http://www.erlang.org/mailman/listinfo/erlang-patches

-- 

/ Raimo Niskanen, Erlang/OTP, Ericsson AB



More information about the erlang-patches mailing list