Debian package for Erlang/OTP R10B-4

This document describes how to build a Debian GNU/Linux package of Erlang/OTP for Intel and PowerPC systems. Those packages are not very clean, since they are made using checkinstall: the package dependencies are not specified, documentation is missing, etc. However, they allow you to use the latest version of Erlang/OTP (as of 2005-04-19, the latest was R10B-4), instead of the version packaged in Debian GNU/Linux (as of 2005-04-19, the packaged version was R10B-1a).

You should first check the status page of the official erlang Debian GNU/Linux package, to check if the version Erlang/OTP that you need is not already packaged. The official Debian GNU/Linux packages of Erlang/OTP are well done and regularly updated. In contrast, the packages available below for R10B-4 are very outdated, and you should not use them if possible. However, the description of the basic package building process described in this document remains valid.

Download

Here are packages that I have generated by applying the following instructions (those packages replace the erlang and erlang-base Debian GNU/Linux packages):

R10B-4 for Intel processors, pthreads and Hipe enabled, ssl enabled, odbc disabled: erlang_1:10.b.4-1_i386.deb
R10B-4 for PowerPC processors, pthreads and Hipe enabled, ssl enabled, odbc disabled: erlang_1:10.b.4-1_powerpc.deb

The contents of those files is subject to the Erlang Public License, Version 1.1, (the "License"); you may not use this file except in compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved via the world wide web at http://www.erlang.org/.

Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.

The Initial Developer of the Original Code is Ericsson Utvecklings AB. Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings AB. All Rights Reserved.

How to build the packages

Install the basic tools:

sudo apt-get install wget tar gzip checkinstall

Install the tools required to build:

sudo apt-get install gcc make perl sed fastjar jikes-gij

Install the packages required to build specific Erlang applications (except odbc, which will not be built):

sudo apt-get install libncurses5-dev libssl-dev openssl libx11-dev flex

Create a temporary directory:

mkdir /tmp/somedir
cd /tmp/somedir

Download the latest version of Erlang/OTP (as of 2005-04-19, it is R10B-4):

wget -r -c www.erlang.org/download/otp_src_R10B-4.tar.gz
tar xvzf www.erlang.org/download/otp_src_R10B-4.tar.gz
cd otp_src_R10B-4

Configure Erlang/OTP, generate the Makefiles and build:

./configure --prefix=/usr --libexecdir=/usr/bin --infodir=/usr/share/info --mandir=/usr/share/man --enable-threads --enable-hipe
make

Create the description file for the debian packet, named description-pak:

cd ..
cat <<EOF >description-pak
Erlang, a real-time, concurrent and distributed functional language
.
Open Source Erlang is a functional programming language designed at
the Ericcson Computer Science Laboratory.
.
Some of Erlang's main features are:
Clear declarative syntax and is largely free from side-effects;
Builtin support for real-time, concurrent and distributed programming;
Designed for development of robust and continously operated programs;
Dynamic code replacement at runtime.
EOF

Create a build script:

cat <<EOF >build.sh
#!/bin/sh
(
cd otp_src_R10B-4
make install
)
EOF
chmod 755 build.sh

Build the package using checkinstall:

sudo checkinstall -D --pkgname=erlang --pkgversion=1:10.b.4 --pkgrelease=1 --pkglicense=EPL --maintainer="Romain Lenglet" -bk ./build.sh

History of this document

  • 2006-05-18: added warning paragraph at the head of the document to encourage to first check the official Debian GNU/Linux package web page
  • 2005-11-08: changed the license of this document to the GNU Free Documentation License
  • 2005-08-09: modified
  • 2005-04-19: first version

Copyright

Copyright © 2005 Romain Lenglet.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is available from the GNU project web site at: http://www.gnu.org/copyleft/fdl.html.