[erlang-questions] Port of Erlang (19.2) on AIX

REIX, Tony tony.reix@REDACTED
Fri Jan 13 18:07:36 CET 2017

Hi Andras,

Thanks for your answer !  :)

Sad that your source is a closed source.  :(

About your sentence: "forget about AIX", I'm not so sure, since AIX still provides many features that Linux does not provide yet.

About the port, yes I've already started to modify the assembly code. Not too difficult with the help of our expert. I guess that I'll have to add the XCOFF at some time and to manage some more stuff specific to AIX, but up to now it was not so difficult... except that I have NO idea about the amount of work that remains for finalizing the port with ALL required & interesting features (and with good performance).

Build is now blocked at:  ERLC ../ebin/hipe_rtl.beam   and I have no idea why it takes so long and how many steps are still required before the build is complete. I should build Erlang on Linux/x86 in order to see how long it takes.
Blocked command is:  /opt/freeware/src/packages/BUILD/otp_src_19.2/bin/powerpc-ibm-aix6.1/beam.smp -sbtu -A0 -- -root /opt/freeware/src/packages/BUILD/otp_src_19.2/bootstrap -progname erl -- -home / -- -noshell -noinput -mode minimal -boot start_clean -s erl_compile compile_cmdline -extra -W +debug_info -Werror +inline +warn_unused_import +warn_export_vars -o../ebin hipe_rtl.erl   No idea about what it does...

Are there some documents describing the main phases of building Erlang ? what are the main features that must be made available ?
I see that Erlang does some bootstrap ? Is it described in some document ?

About "autoconf", for now, that seems to have worked quite good without modifying this. Unless it has messed up things silently...
I'll have a look at linker flags.

My "strategy" was to not look at our old port 15B02 . Rather start with 19.2 directly. However, I'll have a look at our old patches then.

Anyone interested by Erlang on AIX can contact me. I will share my patches with pleasure. It is OpenSource and, once finalized, it will be made available on BullFreeware web-site .


Tony Reix


Le 13/01/2017 à 17:24, Boroska András a écrit :
Hi Tony,

The OTP team at Ericsson stopped supporting AIX a while back (~10 years ago). The good news is that there was AIX support in the past and we can build on it. Since then both Erlang, AIX and CPUs evolved. I managed to run Erlang 17 on AIX 7.1 on Power7 and Power8 architectures with minimal sacrifice of features.*  64 bit is supported and worked fine, but naturally required minimal changes in makefiles.

So, it is not hopeless. For start, look into the automake files (Erlang uses autoconf). You will need to modify some linker flags. Get prepared to modify some assembly code too. AIX has its own assembler. My strategy was: start with R15, fix things, move to R1602 fix things, move to R1603 fix things, move to R17, fix things. In each step applied fixes from the version before.

Erlang 18 brought breaking changes by the new time handling, and I had no time to fix that. I did not try Erlang 19.

My port is sadly closed source currently. I wish IBM or related companies sponsored the OTP team to support AIX. Currently it is much easier to run Linux on Power CPU and forget about AIX.

Happy hacking,

*Supercarriers and kernel poll was not working. On the other hand binding schedulers to cores did work after minimal changes to source.
Getting kernel poll working would be a few days effort probably.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20170113/3828bf0b/attachment.htm>

More information about the erlang-questions mailing list