morris

Juste Une Base Pour La Compilation Pour Dingux

Messages recommandés

Ceci est juste basé sur la traduction d'une note rapide qui expliquait le principe de la compilation sur Dingux.

Je rajoute juste des commentaires pour les personnes qui decouvrent totalement linux et qui aiment à peu près savoir ce qu'ils font lors des diferentes manips.

Comment compiler ?

A faire une fois pour toute sur le pc qui servira à compiler :

Recuperez mipseltools-gcc412-glibc261.tar.bz2 (google ou sur le site FTP Ingenic)

Decompressez le dans le dossier /opt (sur votre pc en linux).

Sur une machine de developpement , il vous faut aussi certaines librairies indispensable à la compilation de certaines fonctions

Vous pourriez donc installer ces librairies manuellement mais si ca vous fait un peu peur , une version deja compilée existe.

(dingoo-uclibc-toolchain-06-17 )

Decompresser les libs dans ce dossier : /opt/mipseltools-gcc412-glibc261

Vous devrez egalement ajouter ce chemin (/bin) à votre variable PATH en tapant :

- export PATH=/bin

En gros là vous avez juste ajouté les outils vous permettant de compiler des programmes compatibles avec le processeur de votre DINGOO

et vous avez ajouté le chemin /bin à votre PATH

Attention, en fonction des versions linux , il est possible que le PATH ne soit pas repris lors d'une prochaine session.

Au plus simple .. pensez à le retaper avant chaque compil ... (sinon faites une petite recherche sur un fichier du genre ~/.bash_profile dans lequel vous ajouterez la ligne.

Une autre variable d'environnement à taper qui risque de vous faire planter le programme si vous l'oubliez:

- export SDL_NOMOUSE=1

La compil en elle meme : (toujours sur votre PC en linux)

quel que soit le programme , et à part cas particulier , la procedure est toujours à peu pres identique .

configure puis make

le configure est en general fourni avec les sources et comprend quelques options par defaut ... dans les notes de compilation il se peut qu'on vous donne quelques variables à ajouter vous meme en fonction de votre configuration ... ce qui est le cas ici vu que nous sommes dans une situation particulière qui fait qu'on ne va pas compiler un prog destiné à notre pc mais pour la Dingoo (et ça , le pc sur lequel vous compilez n'est pas sensé le savoir tant que vous ne lui avez pas dit).

donc dans un permier temps , placez vous dans le dossier où vous avez decompressé les sources du programme que vous voulez compiler puis :

./configure --host=mipsel-linux --prefix=/ (noubliez pas le . devant le /)

ca risque de se faire très vite.

ensuite vous tapez (toujours dans ce meme dossier):

make

Ca devrait defiler un peu ...

regardez les dernieres lignes ... ca doit ressembler à autre chose que "failed" .

A partir de là , vous devriez avoir votre fichier compilé en resultat .

Voila ... ce n'est que basé sur la traduction du quickstart mais ca devrait au moins donner une idée aux plus neophytes de ce que vous etes en train (ou du moins d'essayer) de faire.

Modifié par morris

Partager ce message


Lien vers message
Partager sur d'autres sites

Pensez aussi que vous pouvez faire un

export PATH="${PATH}:/opt/dingoo-uclibc-toolchain-06-17/usr/bin"

Le chemin peut varier suivant le toolchain que vous utilisez :)

Partager ce message


Lien vers message
Partager sur d'autres sites

Merci Morris et Ezial :)

Pour compléter un peu le post je vais donner les commandes que m'ont donné Zear et Ezelkow1 hier soir et que je remercie au passage ;) :

Tout d'abord téléchargez la toolchain en rapport avec votre rootfs dans notre cas dingoo-uclibc-toolchain-06-17.

Ensuite ouvrir un terminal et faire:

export PATH="${PATH}:/opt/dingoo-uclibc-toolchain-06-17/usr/bin/"

Puis se rendre dans le dossier des sources que l'on souhaite compiler avec la commande cd

Une fois dans le dossier on lance cette commande:

./configure --host=mipsel-linux --target=mipsel-linux --with-sdl-prefix=/opt/dingoo-uclibc-toolchain-06-17/usr/ --enable-static --prefix=/opt/dingoo-uclibc-toolchain-06-17/usr/

Une fois le configure terminé, on lance un make

Lorsque vous voulez compilé des sources mais qu'il n'y a pas de fichier configure il faut éditer le fichier makefile en remplaçant les CC=gcc et CXX=g++ par CC=mipsel-linux-gcc et CXX=mipsel-linux-gcc.

++

Partager ce message


Lien vers message
Partager sur d'autres sites

Pour prboom, je me suis pas fait chier pour les SDL, j'ai copier le contenu de /opt/dingoo-uclibc-toolchain-06-17/usr/include/SDL dans prboom/src/SDL ^^

Un peu brutal, mais ca marche

Partager ce message


Lien vers message
Partager sur d'autres sites

pour ne pas devoir se taper, dans un terminal, la commande export à chaque démarrage de Linux

export PATH="${PATH}:/opt/dingoo-uclibc-toolchain-06-17/usr/bin"

il est préférable d'éditer le fichier .bashrc dans home/usr/ (ex. pour ma part : /usr/badablek/)et d'y inclure la ligne export PATH="${PATH}:/opt/dingoo-uclibc-toolchain-06-17/usr/bin"

# ~/.bashrc: executed by bash(1) for non-login shells.

# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)

# for examples

export PATH="${PATH}:/opt/dingoo-uclibc-toolchain-06-17/usr/bin"

et pour les inconscients comme moi qui aiment se logguer en root (spéciale dédicace à Ezial :D), ça se passe dans le dossier /root/ directement.

ainsi, l'environnement de compilation est prêt automatiquement.

Partager ce message


Lien vers message
Partager sur d'autres sites

Une tite precision, si en compilant, vous avez une erreur du type

‘for’ loop initial declaration used outside C99 mode

dans votre Makefile, ajouter l'argument -std=c99 a votre mipsel-linux-gcc, ce qui donne :

CC=mipsel-linux-gcc -std=c99

Voili voilou :)

Partager ce message


Lien vers message
Partager sur d'autres sites

Super cette base les gars merci ;)

Et ce poste devrait être déplacé dans la Section "Developpement" à mon avis ;)

A+

Partager ce message


Lien vers message
Partager sur d'autres sites

salut! et merci pour la traduction du tuto!

j'ai un petit problème: comment on lance une commande quand on est dans un dossier,?

merci ;)

Modifié par MmmRevolution

Partager ce message


Lien vers message
Partager sur d'autres sites

Tu peux détailler un peu plus ta question ?

Partager ce message


Lien vers message
Partager sur d'autres sites
Tu peux détailler un peu plus ta question ?

oui désolé à l'origine, ma question était: quel programme vous utilisez pour compiler?

après j'ai su qu'il était pas nécessaire d'avoir un programme pour compiler sous linux (je débute juste, j'ai ubuntu 9.04)

donc en gros la question est comment on compile sous linux? si j'ai bien compris on rentre une (des) commande(s) dans le terminal, mais comment on indique au terminal le dossier source de l'appli a compiler?

voila c'est à peu près ça mon problème^^

sinon linux c'est bien sympa même si j'ai mis genre 30min pour mettre des fichier dans le dossier /opt il fallait être roots... chaud quoi^^

Partager ce message


Lien vers message
Partager sur d'autres sites

Ce n'est pas chaud, c'est différent de Windows, c'est tout ...

C'est question sont relatif à l'utilisation de Linux, et non au développement sur Dingux :)

Si tu pouvais crée un topic pour ta question, ca permettrais au topic de ne pas trop se disperser, merci :)

(tip : jette un coup d'oeil à cd ... ou pire tapes "man gcc" ^^)

Partager ce message


Lien vers message
Partager sur d'autres sites
Ce n'est pas chaud, c'est différent de Windows, c'est tout ...

C'est question sont relatif à l'utilisation de Linux, et non au développement sur Dingux :)

Si tu pouvais crée un topic pour ta question, ca permettrais au topic de ne pas trop se disperser, merci :)

(tip : jette un coup d'oeil à cd ... ou pire tapes "man gcc" ^^ )

Ok, merci Ezial, j'ai trouvé mon bonheur en tapant ''man gcc'' sur google

Partager ce message


Lien vers message
Partager sur d'autres sites

Tu aurais put le taper dans ton terminal plutôt ;)

Partager ce message


Lien vers message
Partager sur d'autres sites

Salut !

Juste pour prévenir que booboo avait sorti une nouvelle version du toolchain pour Dingux, il faudra donc mettre le tuto à jour.

Maintenant petite supposition personnelle : si le toolchain a été changé, ça veut peut être dire qu'une nouvelle release de Dingux risque de voir le jour bientôt non ? :ok:

Partager ce message


Lien vers message
Partager sur d'autres sites

Bon, on va dépoussiérer un peu le topic ^^

Il y a une chose que je ne comprend pas vraiment en fait, et en voulant compiler ça m'a légèrement sauté aux yeux... mipseltools-gcc412-glibc261.tar.bz2 est le toolchain utilisé par Ingenic pour compiler leur Linux à eux. Pour compiler le sien, booboo a crée son propre toolchain, basé sur uclibc notamment. Alors la question qui me vient, c'est pourquoi a t'on besoin du toolchain fourni par Ingenic pour compiler ?

J'ai essayé de compiler uniquement en utilisant le toolchain de booboo, et j'ai eu le droit à une belle erreur de cc1 me disant qu'il ne trouve pas la Glibc... Or il ne devrait pas en avoir besoin ! Puisqu'il se base sur uclibc...

Si quelqu'un a un élément de réponse, merci d'éclairer ma lanterne hihihi

Partager ce message


Lien vers message
Partager sur d'autres sites

Salut,

La toolchain de booboo suffit pour compiler pas besoin de l'autre :)

++

Partager ce message


Lien vers message
Partager sur d'autres sites

Bon à noter !

La toolchain de booboo ne fonctionne pas sous Debian (Etch 5.0 du moins), c'est pour ca que j'ai eu des erreurs à la compilation... Préférez Ubuntu par exemple, y'aura moins de surprises <_<

Partager ce message


Lien vers message
Partager sur d'autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant