π
<-
Chat plein-écran
[^]

Installation de Ndless SDK sur Linux MAGEIA

C, C++, ASM...

Installation de Ndless SDK sur Linux MAGEIA

Message non lude chess » 16 Sep 2017, 00:00

Bonjour,

Je suis en train d'installer Ndless SDK sur ma distribution linux favorite :favorite: https://www.mageia.org/fr/ :favorite: à laquelle je suis fidèle depuis la version n°1 et qui au passage est d'origine française, pilotée par une gouvernance élue dans le cadre d'une association à but non lucratif et surtout hyper :favorite: stable :favorite: / fin du prosélytisme pour le monde libre

Jusqu'ici je pense avoir suivi à la lettre les instructions ci-dessous
https://hackspire.org/index.php/C_and_assembly_development_introduction
tous les paquets utiles étaient déjà présents dans les dépôts de Magéia 6
- git
- gcc
- gcc-c++
- binutils
- libgmp-devel
- libmpfr-devel
- libmpc-dev
- zlib
- boost-program-options (en fait il faut ajouter les autres paquets boost pour c++ au moment des makefile)
- texinfo
- php-cli

Le ./build_toolchain.sh est passé comme une lettre à la poste.

Par contre les makefile ont buté sur pas mal de chemins, résolus par des liens virtuels :
ln -s /home/.../Ndless/ndless-sdk/toolchain/install/bin/arm-none-eabi-ar /usr/local/bin/arm-none-eabi-ar
ln -s /home/.../Ndless/ndless-sdk/toolchain/install/bin/arm-none-eabi-gcc /usr/local/bin/arm-none-eabi-gcc
ln -s /home/.../Ndless/ndless-sdk/toolchain/install/bin/arm-none-eabi-g++ /usr/local/bin/arm-none-eabi-g++
ln -s /home/.../Ndless/ndless-sdk/toolchain/install/bin/arm-none-eabi-objcopy /usr/local/bin/arm-none-eabi-objcopy
ln -s /home/.../Ndless/ndless-sdk/bin/nspire-gcc /usr/local/bin/nspire-gcc
ln -s /home/.../Ndless/ndless-sdk/bin/nspire-g++ /usr/local/bin/nspire-g++
ln -s /home/.../Ndless/ndless-sdk/bin/nspire-as /usr/local/bin/nspire-as

A chaque lien ça va un peu plus loin, mais le dernier make butait la-dessus :
Code: Tout sélectionner
make[2] : on entre dans le répertoire « /home/mag/Ndless/ndless-sdk/system »
nspire-as -c crt0.S
cc1: error: /home/mag/Ndless/ndless-sdk/bin/nspire-as/../../include : N'est pas un dossier
Makefile:8 : la recette pour la cible « crt0.o » a échouée
make[2]: *** [crt0.o] Erreur 1
Et là j'ai vraiment du mal à continuer, si quelqu'un à une idée ?
Avatar de l’utilisateur
chessPremium
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Prochain niv.: 35.7%
 
Messages: 45
Inscription: 12 Sep 2015, 15:09
Localisation: France - Drome
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Installation de Ndless SDK sur Linux MAGEIA

Message non lude chess » 16 Sep 2017, 00:54

C'est bon ça passe avec
export PATH="/home/mag/Ndless/ndless-sdk/toolchain/install/bin:/home/mag/Ndless/ndless-
sdk/bin:${PATH}

simplement en le copiant dans .bashrc
au lieu de .bash_profile comme indiqué (mettre à jour les instructions serait utile)

Maintenant ça bloque là-dessus :
Code: Tout sélectionner
make -C MakeChunkDispatch
make[4] : on entre dans le répertoire « /home/mag/Ndless/ndless/src/tools/MakeChunkDispatch »
g++     MakeChunkDispatch.cpp   -o MakeChunkDispatch
In file included from /usr/include/c++/5.4.0/cstdint:35:0,
                 from MakeChunkDispatch.cpp:31:
/usr/include/c++/5.4.0/bits/c++0x_warning.h:32:2: erreur : #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.

A mon avis :
Mageai 6 utilise la version GCC 5.4 de juin 2016 (c'est pas vieux) qui compile le Langage C++ au standard -std=c++11 maxi
Quand on lance dans le tuto git clone --recursive ........................
ça charge automatiquement le dernier GCC 7.2 de aout 2017 qui est en C++ -std=c++14 par défaut
ça m'étonnerait que le code un peu veillot des Nspire ait besoin du tout dernier C++
il n'empêche qu'à chaque oubli dans un makefile, l'option de compilation ne colle pas.

Help :
Quelqu'un connait-il la façon de forcer facilement les options de compilation C++ -std=c++11 dans tous les makefile ?

En cadeau :
J'offre le ndless de votre choix recompilé sans le Ndless installed! permanent sur votre page d'accueil :p
Dernière édition par chess le 16 Sep 2017, 17:59, édité 1 fois.
Avatar de l’utilisateur
chessPremium
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Prochain niv.: 35.7%
 
Messages: 45
Inscription: 12 Sep 2015, 15:09
Localisation: France - Drome
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Installation de Ndless SDK sur Linux MAGEIA

Message non lude chess » 16 Sep 2017, 17:59

Il y avait 719 fichiers C à compiler et j'avais peur que ce soit un enfer de tout modifier
surtout que c'est plus difficile de retrouver des spécifications oubliées (où ???)
que des spécifications 'fausses' (facilement automatisable par rechercher + remplacer).

Mais en fait NON il n'y avait qu'un seul oubli.

Si ça peut aider les centaines de milliers de développeurs Ndless qui travaillent sous Linux
j'ai juste ajouté CXXFLAGS := -std=c++11 en tête du fichier
/home/.../Ndless/ndless/src/tools/MakeChunkDispatch/Makefile
et ça compile.

Pour commencer j'ai mes Ndless sans l'inscription Ndless installed!
Avatar de l’utilisateur
chessPremium
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Prochain niv.: 35.7%
 
Messages: 45
Inscription: 12 Sep 2015, 15:09
Localisation: France - Drome
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Installation de Ndless SDK sur Linux MAGEIA

Message non lude chess » 22 Sep 2017, 11:29

Aux amis des pingouins qui seraient tentés de rejoindre l’aventure de Ndless SDK, voici mes premières remarques forcement PROVISOIRES après seulement 2 jours de découverte.

C’est un SDK très peu documenté, avec des librairies entières sans le moindre /*commentaire*/, il faut bien connaître le C pour arriver à deviner à quoi les fonctions peuvent bien servir.

Donc l’apprentissage se fait par des exemples, sauf que 3/4 des sources de TI-Planet ne compilent plus (nouveaux écrans), le travail d’écriture de bibliothèques retro-compatibles ou de fonctions multi-compatibles reste à faire.

Au niveau des Inputs chacun bricole dans son coin à partir de isKeyPressed(KEY_NSPIRE_N)
je n’ai pas trouvé d’exemple avec ou fscan() ou même tout simplement cin <<
Soit parce que ça n’existe pas.
Soit parce que la communauté n’est pas très bavarde ni très aidante :
https://www.omnimaga.org/calculator-c-language/how-to-get-input-from-user-in-ndless-sdk/
https://www.omnimaga.org/calculator-c-language/simple-calculator-program/

Vous êtes prévenus.

Ndless SDK n’a aucun intérêt pédagogique pour apprendre le langage C.
Mais il a le mérite d’exister pour prendre le contrôle d’une machine archaique de façon archaique.
Et si vraiment tout ce travail a été fait sans l’aide de Texas Instruments ça reste un énorme exploit à saluer comme tel !
Avatar de l’utilisateur
chessPremium
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Prochain niv.: 35.7%
 
Messages: 45
Inscription: 12 Sep 2015, 15:09
Localisation: France - Drome
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Installation de Ndless SDK sur Linux MAGEIA

Message non lude Lionel Debroux » 22 Sep 2017, 11:38

Et si vraiment tout ce travail a été fait sans l’aide de Texas Instruments

Oui, TI ne fournit pas d'infos sur la famille Nspire (ni la famille TI-eZ80, d'ailleurs).
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Installation de Ndless SDK sur Linux MAGEIA

Message non lude critor » 22 Sep 2017, 11:40

fscan() et cin<< impliquent un flux de caractères (alors qu'ici nous avons un clavier non standard) et ce serait pour une entrée sur la console série, c'est-à-dire via une connexion Dock.
Tout comme symétriquement fputs() et cout>> écrivent sur la console série du Dock.

Sinon, je suis surpris de la proportion de 3/4 de programmes Ndless qui ne compileraient pas.
Il faut vérifier si les programmes téléchargés ont encore eu des mises à jour dans les 2-3 dernières années ou pas.
A ma connaissance, le nouvel écran ne gêne pas la compilation, il faut juste avoir un SDK à jour si le code a fait le choix d'utiliser les nouvelles méthodes de sortie écran génériques. Personnellement, mes mises à jour ne les utilisent pas.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.3%
 
Messages: 41494
Images: 14630
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor


Retourner vers Native: Ndless, Linux, ...

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 10 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1538 utilisateurs:
>1496 invités
>37 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)