π
<-
Chat plein-écran
[^]

ktigcc -- Erreur de compilation.

Programmation et implémentation d'algorithmes.

ktigcc -- Erreur de compilation.

Message non lude jeff_ » 16 Avr 2020, 16:00

Salut tout le monde !

Je rencontre une erreur à la compilation de gcc4ti/trunk/ktigcc (récupéré avec la commande git depuis https://github.com/debrouxl/gcc4ti)

Voici l'erreur à l'exécution de la commande `make` :
Code: Tout sélectionner
<snip />
g++ -m64 -o ktigcc .obj/ktigcc.o .obj/preferences.o .obj/tpr.o .obj/tiemu_stub.o .obj/callbacks.o .obj/parsing.o .obj/completion.o .obj/srcfilewin.o .obj/projectoptions.o .obj/programoptions.o .obj/preferencesdlg.o .obj/mainform.o .obj/errorlist.o .obj/programoutput.o .obj/functions.o .obj/newsdlg.o .obj/toolsdlg.o .obj/toolprops.o .obj/selectstyle.o .obj/selectcolors.o .obj/customstyle.o .obj/wordlist.o .obj/moc_tiemu_stub.o .obj/moc_completion.o .obj/moc_srcfilewin.o .obj/moc_projectoptions.o .obj/moc_programoptions.o .obj/moc_preferencesdlg.o .obj/moc_mainform.o .obj/moc_errorlist.o .obj/moc_programoutput.o .obj/moc_functions.o .obj/moc_newsdlg.o .obj/moc_toolsdlg.o .obj/moc_toolprops.o .obj/moc_selectstyle.o .obj/moc_selectcolors.o .obj/moc_customstyle.o .obj/moc_wordlist.o .obj/qrc_icons.o    -L/usr/lib/x86_64-linux-gnu -lktexteditor -lkutils -lkdeui -lkdecore -lkio -lkparts -lkde3support -lticonv -lticables2 -ltifiles2 -L/usr/local/lib -lticalcs2 -lglib-2.0 -lQtAssistantClient -lQtDBus -lQt3Support -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread
/usr/bin/ld: .obj/newsdlg.o: undefined reference to symbol '_ZN13KCMultiDialogC1EP7QWidget'
/usr/bin/ld: //usr/lib/libkcmutils.so.4: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [Makefile:195: ktigcc] Error 1


Mon OS est Devuan, basé sur Debian. J'ai bien fait attention d'installer des libs de qt4, même si qt5 a depuis pris une part importante dans le repository.

Merci de m'aiguiller :)
Avatar de l’utilisateur
jeff_
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 0%
 
Messages: 3
Inscription: 16 Avr 2020, 15:42
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: ktigcc -- Erreur de compilation.

Message non lude Lionel Debroux » 16 Avr 2020, 17:13

Le seul conseil que je puisse te donner, c'est d'arrêter tout de suite d'essayer de compiler, et a fortiori d'utiliser, cette vilaine réécriture in-maintenable (le code est horrible, un des pires que je connaisse), et qui cherche à rester parfaitement compatible sans corriger les défauts, de l'IDE Delphi pour Windows :)
* au mieux, KTIGCC 4 marchouillait pour une des premières versions de KDE 4.x, à l'époque où KDE 4 était encore inutilisable (avant 4.4), mais le code n'a jamais été adapté pour fonctionner avec des versions plus modernes, dont les classes ont changé;
* les TPRs utilisés par l'IDE Delphi et KTIGCC sont fonctionnellement limités et peuvent être désagréables à utiliser dans des use cases relativement simples. J'ai utilisé des TPRs dans plusieurs programmes de TICT avant de comprendre à quel point les TPRs étaient limités (ce dont se plaignaient plusieurs développeurs de la communauté, que je n'ai pas écoutés à l'époque). Et encore, pour que leur utilisation soit moins désagréable, j'ai contribué une amélioration à tprbuilder... tprbuilder, c'est l'outil en ligne de commande pour construire des TPRs, et ça ne fonctionne pas de la même façon avec les IDEs et avec tprbuilder.

Plutôt que les IDEs, utilise plutôt:
* tprbuilder en ligne de commande, ou mieux mais plus difficile à utiliser, un script sh qui invoque `tigcc` de façon répétée, en faisant attention que les options de compilation soient cohérentes. J'ai fait (enfin, fait évoluer au cours du temps) un jeu correct dans TI-Chess, par exemple.
* le transfert manuel de programmes vers TIEmu. D'ailleurs, il est très important d'utiliser la version non GDB de TIEmu: la version GDB est plus buggée que la version non GDB, et beaucoup plus difficile à compiler. Il y a toutes les chances que le build de la version GDB échoue lamentablement sur toutes les distros de moins de quelques années. Malgré la complexité additionnelle, Romain Liévin a eu, comme souvent, raison d'exiger que TIEmu reste utilisable sans GDB: dans la version GDB, le mélange d'event loops et de forks de versions lourdement obsolètes de logiciels GNU, collés ensemble par un système de build fragile, est complètement in-maintenable...

TL;DR: KTIGCC caca, TPR caca, TIEmu GDB caca, rien n'est maintenu depuis longtemps.
Tu arrives... 13 ans après la grosse baisse d'activité de la communauté :)
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: ktigcc -- Erreur de compilation.

Message non lude jeff_ » 16 Avr 2020, 17:34

Meh tant pis :p
De toutes façons, je ne sais ni coder direct en ASM, ni en C++ ... tout juste un peu de PERL, shell et TI-BASIC :D
C'était juste par curiosité. Merci de ta réponse :)
Avatar de l’utilisateur
jeff_
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 0%
 
Messages: 3
Inscription: 16 Avr 2020, 15:42
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: ktigcc -- Erreur de compilation.

Message non lude Lionel Debroux » 16 Avr 2020, 17:49

Alors tu seras tout à fait capable de te passer d'un IDE, que mon post honnête ne te décourage pas d'essayer de faire des programmes ASM TI-68k en C (C++ n'est pas géré par GCC4TI) :)
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: ktigcc -- Erreur de compilation.

Message non lude jeff_ » 18 Avr 2020, 09:28

Merci pour ce message encourageant ;)

J'ai une dernière question : En 2020 , Quel est le meilleur outil pour compiler un programme ? Est-ce que le GCC standard ('m68k') suffit ? Ou bien, faut-il toujours utiliser tigcc ?

Cette doc est-elle toujours d'actualité ? http://debrouxl.github.io/gcc4ti/

Un grand merci par avance !
Avatar de l’utilisateur
jeff_
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 0%
 
Messages: 3
Inscription: 16 Avr 2020, 15:42
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: ktigcc -- Erreur de compilation.

Message non lude Lionel Debroux » 18 Avr 2020, 10:06

Toute la toolchain de GCC4TI est fortement customisée, des headers qui utilisent des fonctionnalités qui n'existent que dans cette toolchain au linker spécifique (ld-tigcc) en passant par le compilateur (m68k-coff-tigcc-gcc) et l'assembleur (m68k-coff-tigcc-as). Pour cibler les TI-68k, le moins mal est donc d'utiliser GCC4TI, en principe exclusivement à travers le front-end CLI `tigcc`. Il faut compiler sous Debian 8 (qui ne sera bientôt plus maintenue), parce qu'il y a des problèmes avec les versions plus récentes de GCC...

Pour cibler les TI-68k, utiliser un GCC m68k standard, peut-être un peu patché par Debian, est plutôt une mauvaise idée, voir par exemple https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88589 . Et puis ça fait beaucoup plus longtemps que ça que la performance sur m68k a diminué, voir par exemple https://gcc.gnu.org/bugzilla/show_bug.cgi?id=40454 .

Et oui, la doc en ligne est toujours d'actualité, mais de toute façon, le script de build de GCC4TI fait des choses avec les fichiers de doc :)
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


Retourner vers Programmation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 28 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.
2273 utilisateurs:
>2264 invités
>5 membres
>4 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)