| |
| A quick-and-simple guide to installing musl: |
| |
| |
| STEP 1: Configuration |
| |
| Edit config.mak to override installation prefix, compiler options, |
| target architecture, etc. as needed. Currently supported archs are |
| i386 and x86_64. Otherwise, the defaults should be okay for trying out |
| musl with static linking only. |
| |
| DO NOT set the prefix to /, /usr, or even /usr/local unless you really |
| know what you're doing! You'll probably break your system such that |
| you'll no longer be able to compile and link programs against glibc! |
| This kind of setup should only be used if you're building a system |
| where musl is the default/primary/only libc. |
| |
| The default prefix is /usr/local/musl for a reason, but some people |
| may prefer /opt/musl or $HOME/musl. |
| |
| |
| STEP 2: Compiling |
| |
| Run "make". (GNU make is required.) |
| |
| |
| STEP 3: Installation |
| |
| With appropriate privileges, run "make install". |
| |
| |
| STEP 4: Using the gcc wrapper. |
| |
| musl comes with a script "musl-gcc" (installed in /usr/local/bin by |
| default) that can be used to compile and link C programs against musl. |
| It requires a version of gcc with the -wrapper option (gcc 4.x should |
| work). For example: |
| |
| cat > hello.c <<EOF |
| #include <stdio.h> |
| int main() |
| { |
| printf("hello, world!\n"); |
| return 0; |
| } |
| EOF |
| musl-gcc hello.c |
| ./a.out |
| |
| For compiling programs that use autoconf, you'll need to configure |
| them with a command like this: |
| |
| CC=musl-gcc ./configure |
| |
| Be aware that (at present) libraries linked against glibc are unlikely |
| to be usable, and the musl-gcc wrapper inhibits search of the system |
| library paths in any case. You'll need to compile any prerequisite |
| libraries (like ncurses, glib, etc.) yourself. |