1. How do I start CEAN?

CEAN is installled in the directory where you unpack it. In the cean directory, run bin/erl (UNIX) or bin/werl.exe (Windows). You will get an Erlang shell.

2. Is there a help system in CEAN?

Type the following command from the erlang shell.

> cean:help().

3. Why was there a failure when the package I wanted was installed?

On a slow internet connection the default download time might not be enough. Use install/2 that allows you to give a longer timeout.

4. The list from cean:installed(). is too long. How can I see all of it?

There is a help function called display/1. You can do

> cean:display(installed).
and get the whole list. display/1 can handle other arguments too, just check with
> cean:help(display).

5. How do I install CEAN into /usr/local/bin?

While convenient (no need to update your PATH) it is not a good idea to install everything into /usr/local/bin. However, you can install CEAN somewhere (like /usr/local/cean) and get erl and erlc in /usr/local/bin by doing:

$ cd /usr/local/bin
$ ln -s ../cean/bin/erl
$ ln -s ../cean/bin/erlc
This will let cean's erl and erlc be into your $PATH as the standard installation. Finally you need to edit bin/erl to force ROOTDIR variable

6. How do I install CEAN into an existing erlang installation?

You have to download the CEAN library and extract its content into the erlang/lib directory (/usr/local/lib/erlang/lib or /usr/lib/erlang/lib on usual erlang install). Windows users may better download a zip archive of CEAN library and extract its content into Program Files/erl-your_version/erlang/lib directory. then, you have to edit your erl script (/usr/local/bin/erl on usual erlang install) to define some CEAN environment values like this:

export CEAN_SERVER=cean.process-one.net
export HTTP_PROXY="" # "your.proxy.name:port"
export PROXY_USER=""
Of course, you must set ARCHDIR to your effective system: values are os-cpu (except for windows). MacOSX is named darwin. Windows users do not have /usr/local/bin/erl script, but Program Files/erl-your_version/bin/erl.bat. That file must be edited to add the following environment values:
set CEAN_SERVER=cean.process-one.net
rem set HTTP_PROXY=your.proxy.host:port
Example: linux-x86, linux-x86_64, linux-armhf, sunos-sparc, sunos-x86, windows, darwin-x86_64, darwin-x86, etc...

7. How do I start CEAN by double clicking on an icon under Mac OSX?

Start Terminal. File -> Save As
(Save it on your Desktop) Enter /cean/bin/erl as the command. Check the "Run command inside a shell" checkbox.

8. How do I download CEAN using wget?

$ wget http://cean.process-one.net/bin/linux-x86/R14/cean/cean-2.0.sh
You should, of course, replace linux-x86 with your real system directory name.

9. How do I contribute a package to CEAN?

To submit something to CEAN, one must follow the Packaging Guide.
The code must be accessible from the net (cvs/svn/git/tar/tgz/tbz2/erl) and the packager must email the .pub file which describe the package to christophe dot romain at process-one dot net with subject CEAN.

10. Can I have several version of CEAN/Erlang installed?

Yes ! Each CEAN directory is self-contained and can be moved anywhere you need. Here is an example script to generate several environments:

for otp in R12 R13 R14 R15
  curl -s http://cean.process-one.net/bin/linux-x86/$otp/cean/cean-2.0.sh > cean.sh
  chmod +x cean.sh
  file cean.sh | grep -q executable && {
    ./cean.sh -bare >/dev/null
    rm cean.sh
    mv cean cean-$otp
  } || {
    echo $otp not available

11. How to pass through a firewall?

To use CEAN in cluster environment with limited range of allowed ports, edit etc/cean.cfg and define the allowed range in PORTS_RANGE variable. Value can be a single integer, or a range defined like 4000-4005.

12. How to use the CEAN build framework?

You first need to make sure you have ZSH 4.3 and GIT 1.7 installed. Then, go to your CEAN installation directory, and run the framework init command

$ bin/initworkdir
Under CEAN shell, type help to list available commands.

13. Which platform is supported?

Each repository is named like this: system-platform. Example: linux-x86
A platform build depends on software environment and hardware requirement. While we do our best to have the most binary compatible archives, we can not make sure it will work on every system (e.g. libc>=2.7).
Here is the description of the hardware supported for each platform:

  • i386: Original i386 CPU
  • x86: 32bit i686 CPU (pentiumpro)
  • x86_64: 64bit i686 CPU with MMX, SSE, SSE2 and SSE3 (nocona)
Other platforms (binaries from debian):
  • armel: ARM EABI for ARMv4t and above without hardware FPU
  • armhf: ARM EABI for ARMv7 and above, with Thumb-2 and VFP3D16 FPU
  • mips: MIPS big-endian
  • mipsel: MIPS little-endian
  • powerpc: IBM's PowerPC CPU
  • sh4: Hitachi's SuperH CPU
  • sparc: 32bit Sun's SPARC CPU
  • sparc64: 64bit Sun's SPARC CPU