2017-02-27 8 views
1

L'application ci-dessousImpossible de compiler l'image avec `gforthmi`

." Hello, world!" 
bye 

crée l'erreur suivante lors de la compilation via gforthmi stdout.4th:

/usr/bin/gforthmi: 47: /usr/bin/gforthmi: /usr/lib/gforth/0.7.3/gforth-ditc: not found 
/usr/bin/gforthmi: 48: /usr/bin/gforthmi: /usr/lib/gforth/0.7.3/gforth-ditc: not found 
redefined th 
*OS command line*:-1: No such file or directory 
comp-image >>>./temp-image.fi1<<< ./temp-image.fi2 stdout.4th bye 
Backtrace: 
$7F416215C970 throw 
$7F41621924F8 slurp-file 
rm: cannot remove './temp-image.fi1': No such file or directory 
rm: cannot remove './temp-image.fi2': No such file or directory 

Je courais gforth 0.7.3 installé sur un système Ubuntu via le PPA officiel d'Ubuntu. Est-ce que j'ai fait une erreur dans la façon dont je compile l'image? Ai-je manqué des options?

+0

Je ne pouvais pas le faire fonctionner quand j'ai essayé, donc je n'ai pas de vraie réponse. Je pense qu'il utilise en partie la forme 'gforthmi stdout.fi stdout.4th' (le premier paramètre est le fichier *** output *** donc le fichier d'entrée stdout.4th est * détruit * (écrasé) si on utilise le formulaire en la question) et en définissant en partie la variable d'environnement 'GFORTHD' (par exemple' exporter GFORTHD =/usr/lib/bras-linux-gnueabihf/gforth/0.7.0/gforth-ditc' sur Raspberry Pi). Ce n'est pas sufisant. Je ne sais vraiment pas quoi faire avec le mot 'savesystem' mentionné dans * [13.5.1 gforthmi] (http://www.hep.by/gnu/gforth/gforthmi.html) *. –

+2

'gforthmi' est un script shell (fichier texte), par exemple. dans '/ usr/bin/gforthmi' (situé avec' quel gforthmi'). Cela peut ou peut ne pas aider à y jeter un coup d'oeil. –

Répondre

1

Il y a quelques problèmes.

Pour une raison quelconque, gforth-ditc sur Ubuntu se trouve dans un chemin différent. Pas sous /usr/bin, mais sous /use/lib/$MACHTYPE/gforth/$version. C'est à dire. pour Ubuntu 64 bits et gforth version 0.7.2 je l'ai situé à /usr/lib/x86_64-linux-gnu/gforth/0.7.2/gforth-ditc. Trouvez-le dans votre système et spécifiez la variable d'environnement GFORTHD.

Le deuxième problème concerne votre échantillon de test. Il ne devrait pas se terminer par bye, car cela se terminera gforth-ditc (utilisé par gforthmi) sans sauvegarder quoi que ce soit, car le mot savesystem transmis comme arguments à gforth-ditc ne sera jamais atteint.

Autre indice: votre échantillon de test sera interprété pendant la compilation, mais ne contribuera pas au code de l'image générée. Au moins, définissez quelques mots à appeler après que votre image est chargée :)