wiki:UsersGuide/CompilingFromSource

Version 1 (modified by Jiri Svoboda, 14 years ago) ( diff )

Compiling HelenOS From Source

This section explains how to compile HelenOS from latest source code.

Attention Newbies

This method is not recommended for beginners. If you are running HelenOS for the first time, please run a pre-built, supported HelenOS image (see instructions in that article).

Compiling an operating system is not quite simple as the configure && make && make install you use to compile your favorite application. If you still want to do it, please follow these instructions carefully. If you don't follow the instructions to the letter, it won't compile (or it will not run) and then don't bother us on the mailing list, please. We are somewhat tired of telling the people again and again to install the fine compiler toolchain.

1. Get the sources

Checkout the latest sources from our central Bazaar repository

bzr checkout bzr://bzr.helenos.org/mainline HelenOS

Note: To get versions older than 0.4.1 you have to access the original Subversion repository

svn checkout svn://svn.helenos.org/HelenOS/trunk HelenOS

2. Build a supported cross-compiler

Use our script to install a supported cross-compiler toolchain

cd HelenOS/tools
./toolchain.sh ia32

Note: In older revisions of the source tree the toolchain.sh script has present in the contrib directory (not the tools directory where it is now).

Go to the source root and start the build process

cd ../..
make

The configuration menu will appear. Select Load preconfigured defaults…, ia32 and Done.

Note: Do not select a different compiler! If you use gcc_native instead of gcc_cross, it won't work, so please don't ask in the mailing list! Building HelenOS with a native compiler is not supported!

3. Did you install the compiler toolchain? Good.

If you did not, it won't work! Don't even try to pester us about that. It won't work. Because it won't. It can't.

Why can't it work?

  • Tool versions: We only test HelenOS on the one single version of GCC, binutils, etc. We don't have the resources to test other versions. Other versions have bugs (or lack required features). It won't compile.
  • Different ABIs: Each OS has a different ABI and different set of compiler settings. If you build binaries with your native compiler, they will run fine in your OS, but certainly not in HelenOS!
  • -Werror: Developer builds use -Werror and each compiler version produces different warnings. Thus, you will get warnings and these get turned into erros.

Load preconfigured defaults for the platform you want to build for and select Done. HelenOS will now be built.

Note: See TracWiki for help on using the wiki.