IF-Forum

» IF-Forum - Autorencafé - Schreiben! - Inform/Linux: Error
AntwortenNeues ThemaNeue Umfrage

Inform/Linux: Error

Geschrieben um 21:02 am 21.05.2003 | Zitat | Editieren | Löschen
Malte
Mitglied
Student Gumby
Beiträge: 32

Tach zusammen,

nur falls ihr gerade Zeit habt: ich habe hier ein seltsames Problem mit der deutschen Library. Ich versuche gerade, Inform auf Mandrake Linux 9.1 ans laufen zu bringen. Die englische Library, die ich auf /usr/local/lib/inform/610 untergebracht habe, funktioniert. Wenn ich versuche, den Test aus dem Abenteuerlichen Informissimus Teutsch zu kompilieren (mit der deutschen Library, die sich auf /usr/local/lib/inform/610-de befindet), passiert das hier:


[malte@localhost if]$ inform '(de.icl)' hallo.inf

Linux libc6 Inform 6.21 (30th April 1999)

[Running ICL file 'de.icl']

::####################

File "/usr/local/lib/inform/610-de/german.h"; Line 292  # Warning:  Local variable "x" declared but not used

##############

File "/usr/local/lib/inform/610-de/parserm.h"; Line 635 # Error:  Expected an opcode name but found aloads

>   @aloads

##

File "/usr/local/lib/inform/610-de/parserm.h"; Line 784 # Error:  '=' applied to undeclared variable

>       gg_commandstr = 0;

File "/usr/local/lib/inform/610-de/parserm.h"; Line 784 # Error:  Expected assignment or statement but found <constant>

>       gg_commandstr = 0;

File "/usr/local/lib/inform/610-de/parserm.h"; Line 785 # Error:  '=' applied to undeclared variable

>       gg_command_reading = false;

File "/usr/local/lib/inform/610-de/parserm.h"; Line 785 # Error:  Expected assignment or statement but found <constant>

>       gg_command_reading = false;

File "/usr/local/lib/inform/610-de/parserm.h"; Line 798 # Error:  Expected an opcode name but found shiftl

>             @shiftl

Den Rest der Fehlermeldungen erspar' ich euch mal :mrgreen:

Das Resultat:


Completed in 0 seconds

Oder liegt's vielleicht am Quelltext der "Spiel-" Dateien? Die habe ich, wie gesagt, exakt von if.frob.de übernommen; grob wiedergegeben sehen sie so aus:


Constant Headline "^[Untertitel, Autorenangabe etc.]^"; 

Object Startraum

           !Code...;

[ Initialise; 

           !Code...

]; 

Include "germang"; 

+include_path=/usr/local/lib/inform/610-de/

+language_name=german

-sixE2d2v5 

An den Dateien der Library hab' ich nichts verändert. Hab einfach nur inform_de_stabil.tgz entpackt (Version 14).

Wahrscheinlich bin ich einfach nur zu blöd, einen kleinen Fehler zu sehen... Jedenfalls, danke, falls ihr überhaupt alles bis hierhin gelesen habt :wink:

Geschrieben um 00:42 am 22.05.2003 | Zitat | Editieren | Löschen
Joghurt
Mitglied
Student Gumby
Beiträge: 22

Du hast höchstwahrscheinlich nicht den Biplatform-Compiler benutzt.

Es gibt einen Inform-Compiler, der sowohl Z-Code als auch GLULX-Code erzeugen kann. Such einfach im IF-Archiv. Das Compilieren des neuen Compilers sollte kein Problem sein.

Alternativ kannst du auch an den Anfang deiner Spieldatei

Constant TARGET_ZCODE 1;

schreiben, aber soweit ich mich erinnere, hat der "normale" Inform-Compiler einen üblen Bug, der dazu führt, dass er selbst dann die Datei nicht compilieren kann.

Geschrieben um 14:51 am 22.05.2003 | Zitat | Editieren | Löschen
Malte
Mitglied
Student Gumby
Beiträge: 32

Jou danke, das war's! Hätte ich die der deutschen Library beiliegende pdf-Datei richtig gelesen, hätte ich es auch selbst gesehen :?

Seltsam: In der neuesten Version von Inform (Biplatform 6.21.3) sind zwar die Dateinamen alle kleingeschrieben, die parserm.h versucht aber trotzdem, die Datei English.h (statt english.h) aufzurufen. Na, macht ja nichts, gebe ich den Pfad eben an, wenn ich ein englisches Beispiel kompiliere.

Geschrieben um 14:53 am 22.05.2003 | Zitat | Editieren | Löschen
Christoph
Mitglied
Student Gumby
Beiträge: 37

Ja, das Problem ist (mir) bekannt. Ich wollte damals Textadventures auf einem 468er schreiben, auf dem der Biplatform-Compiler nicht lief. Ich habe damals zusammen mit Max eine ganze Weile lang rumgebastelt und das Problem nur damit lösen können, dass ich in den Library-Dateien sämtliche #ifdef TARGET_GLULX-Blöcke gelöscht habe, so dass nur noch der TARGET_ZCODE-Code übrigblieb. Das war zwar ne ganze Menge arbeit, hat aber schließlich funktioniert.

Geschrieben um 19:23 am 17.12.2003 | Zitat | Editieren | Löschen
Hesabo
Gast

Malte:

Jou danke, das war's! Hätte ich die der deutschen Library beiliegende pdf-Datei richtig gelesen, hätte ich es auch selbst gesehen :?

Seltsam: In der neuesten Version von Inform (Biplatform 6.21.3) sind zwar die Dateinamen alle kleingeschrieben, die parserm.h versucht aber trotzdem, die Datei English.h (statt english.h) aufzurufen. Na, macht ja nichts, gebe ich den Pfad eben an, wenn ich ein englisches Beispiel kompiliere.

Das gleiche Problem hatte ich auch.

inform-compiler +language_name="German" ...

Das müßte das Problem lösen.

AntwortenNeues ThemaNeue Umfrage
Powered by Spam Board SVN © 2007 - 2021
Impressum / Datenschutz