π
<-

Installation de Ndless SDK sur Linux MAGEIA

C, C++, ASM...

Installation de Ndless SDK sur Linux MAGEIA

Unread postby 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: Select all
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 ?
User avatar
chessPremium
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Level up: 35.7%
 
Posts: 45
Joined: 12 Sep 2015, 15:09
Location: France - Drome
Gender: Male
Calculator(s):
MyCalcs profile

Re: Installation de Ndless SDK sur Linux MAGEIA

Unread postby 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: Select all
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
Last edited by chess on 16 Sep 2017, 17:59, edited 1 time in total.
User avatar
chessPremium
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Level up: 35.7%
 
Posts: 45
Joined: 12 Sep 2015, 15:09
Location: France - Drome
Gender: Male
Calculator(s):
MyCalcs profile

Re: Installation de Ndless SDK sur Linux MAGEIA

Unread postby 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!
User avatar
chessPremium
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Level up: 35.7%
 
Posts: 45
Joined: 12 Sep 2015, 15:09
Location: France - Drome
Gender: Male
Calculator(s):
MyCalcs profile

Re: Installation de Ndless SDK sur Linux MAGEIA

Unread postby 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 !
User avatar
chessPremium
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Level up: 35.7%
 
Posts: 45
Joined: 12 Sep 2015, 15:09
Location: France - Drome
Gender: Male
Calculator(s):
MyCalcs profile

Re: Installation de Ndless SDK sur Linux MAGEIA

Unread postby 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.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6873
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Installation de Ndless SDK sur Linux MAGEIA

Unread postby 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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 53.4%
 
Posts: 42394
Images: 17112
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor


Return to Native: Ndless, Linux, ...

Who is online

Users browsing this forum: No registered users and 13 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1707 utilisateurs:
>1650 invités
>49 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)