• # La compilation de la mort

    Posté par (site web personnel) . En réponse à la dépêche MINIX 3 - Google Summer of Code. Évalué à 2.

    Voici l'histoire:

    Je tombe sur cet article sur DLFP, et, très intéressé par l'idée de faire tenir un noyau sur 5000 lignes, je me rends sur le site de MINIX 3.

    Les sources sont disponibles dans un fichier d'un peu moins d'1Mo en dessous des isos du CD d'installation, magnifique.
    Je m'empresse de télécharger, et je commence à regarder quelques fichiers source dans le kernel.

    La présence d'un fichier Makefile à la racine m'incite à tenter un make.. quelle ne fut pas mon erreur.
    Voici les traces:

    Phobos:src gui13$ make

    Master Makefile for MINIX commands and utilities.
    Root privileges are required for some actions.

    Usage:
    make world # Compile everything (libraries & commands)
    make includes # Install include files from src/
    make libraries # Compile and install libraries
    make cmds # Compile all, commands, but don't install
    make install # Compile and install commands
    make depend # Generate required .depend files
    make clean # Remove all compiler results

    Run 'make' in tools/ to create a new MINIX configuration.

    Phobos:src gui13$ make world
    cd include && exec make - install gcc
    rm -rf /usr/include
    rm: /usr/include/_locale.h: Permission denied
    rm: /usr/include/_structs.h: Permission denied
    rm: /usr/include/_types.h: Permission denied
    rm: /usr/include/_wctype.h: Permission denied
    rm: /usr/include/_xlocale.h: Permission denied
    rm: /usr/include/aio.h: Permission denied
    rm: /usr/include/alloca.h: Permission denied
    rm: /usr/include/amber.h: Permission denied
    rm: /usr/include/apache2/ap_compat.h: Permission denied
    rm: /usr/include/apache2/ap_config.h: Permission denied
    rm: /usr/include/apache2/ap_config_auto.h: Permission denied
    rm: /usr/include/apache2/ap_config_layout.h: Permission denied
    rm: /usr/include/apache2/ap_listen.h: Permission denied
    rm: /usr/include/apache2/ap_mmn.h: Permission denied
    rm: /usr/include/apache2/ap_mpm.h: Permission denied
    [snip de 2000 lignes]
    rm: /usr/include/zconf.h: Permission denied
    rm: /usr/include/zlib.h: Permission denied
    rm: /usr/include: Permission denied
    make[1]: [install] Error 1 (ignored)
    mkdir -p /usr/include
    cpdir . /usr/include
    make[1]: cpdir: Command not found
    make[1]: *** [install] Error 127
    make: *** [includes] Error 2


    Hein????

    Depuis quand un Makefile est-t-il censé toucher à mon /usr sans que je lui dise spécifiquement "make install"??
    C'est du commentaire brouillon, mais je trouve hallucinant qu'un kernel fasse ce genre de chose à la compilation.. heureusement que j'était pas en root..