Over the past 6-7 years the speaker has had cause (sometimes self-inflicted) to port Erlang/OTP to several exotic and some not-so-exotic operating system platforms, including OpenVMS and several UNIX variants such as Tru64, HPUX (Itanium), and AIX. In this talk, the speaker will discuss the general process of building Erlang/OTP from source and some of the challenges that are commonly encountered when porting Erlang/OTP to new platforms. These challenges range from trivial matters such dealing with minor differences between C runtime library and header file implementations on different platforms through to dealing with somewhat more complicated and problematical areas such as threading, SMP support, and various processor, operating system, and file system peculiarities. Specific issues will be considered, and solutions will be presented. In addition to porting Erlang/OTP to the new platform, for anything but the most trivial of cases some work will generally also be required to port Erlang/OTP applications to the new platform. Many Erlang/OTP applications include C/C++ driver code that must also be ported, and porting this code can sometimes prove almost as problematical as porting Erlang/OTP itself. Additionally, Erlang/OTP application code may contain operating-specific functionality. Some of the challenges faced when porting large and complex Erlang/OTP applications such as Riak, CouchDB, and RabbitMQ will be considered. The speaker will also briefly discuss future plans for Erlang/OTP on the OpenVMS platform.
Talk objectives:
- To describe work that has been done to port Erlang/OTP to various operating system platforms and to discuss some of the problems that are commonly encountered during such porting exercises and solutions to those problems in the hope that this information will assist others to port Erlang/OTP and Erlang/OTP applications to more platforms and thus achieve Erlang/OTP world-domination.
Target audience:
- General audience. Most relevant to people interested in porting Erlang/OTP and Erlang applications to new operating system environments.
Slides
Brett Cameron works as a senior technical consultant at VMS Software Inc. (VSI, http://www.vmssoftware.com/index.html), helping to define and implement the company’s Open Source strategy for the OpenVMS operating system. Before joining VSI Brett worked as a senior software architect with HP’s Cloud and Enterprise Services groups. Brett lives in Christchurch, New Zealand and has worked in the software industry since 1992, and in that time he has gained experience in a wide range of technologies, many of which have long since been retired to the software scrapheap of dubious ideas. Over the past decade Brett has spent considerable time travelling the world helping organisations to modernize their legacy application environments and to better leverage Open Source technologies. In more recent times, his involvement with various Open Source projects and his work in the cloud computing space has caused him to develop a liking for functional programming languages, and Erlang in particular, which he has ported to several operating systems, including OpenVMS. Brett holds a doctorate in chemical physics from the University of Canterbury, and maintains close links with the University, delivering guest lectures and acting as an advisor to the Computer Science and Electronic and Computer Engineering departments on course structure and content. In his spare time Brett enjoys listening to music, playing the guitar, and drinking beer. Twitter: @brc859844 Github: brc859844