Hi! I’ve recently switched to MacOSX and I’m trying to compile an old (working) inform game using the Swedish.h extension but I am getting errors I cannot quite understand:
inform +$INFLIBS game
Inform 6.33 for Unix (10th May 2014)
"/Users/myname/if/libs/Swedish.h", line 135: Error: Expected new global variable name but found caps_mode
> Global caps_mode
"/Users/myname/if/libs/Swedish.h", line 135: Error: Expected ';' but found Global
"/Users/myname/if/libs/parserm.h", line 664: Error: Expected constant but found <expression>
> short_name YOURSELF__TX,
Looking inside the Swedish.h reveals:
Constant LanguageVersion = "Översättning av biblioteket till svenska v1.6 (c) Fredrik Ramsberg 2003-2008";
It compiles just fine in a windows environment, so there is nothing wrong with the code. Anyone has a clue what’s going on?
The compiler I’m using is: ifarchive.org/if-archive/infocom … -b2.tar.gz
It’s the Unix version, so it should be compatible with MacOSX I guess?
Are you sure you’re using the same library files on Mac and Windows?
What is $INFLIBS? Does it point to the right thing?
That error is what I’d expect if you included a header file twice.
What I can tell so far:
I’ve compiled the source of the inform compiler from the link above under OSX 10.9.4 – and I managed to successfully compile a source story file together with the German library.
The inform-6.33b2 file was automatically located under usr/local/bin … and I’ve put the source of the story file together with the german library files into a separate folder (currently located on my desktop). I’ve compiled via a terminal shell script (.command) which contains the following lines:
inform-6.33b2 -D WHATEVER.inf
Hope this helps,
I tried building the Swedish bas.inf, including the 6/12 libraries and the Swedish library directory:
inform-6.33.1-b2/src/inform -D +inform-6.33.1-b2/lib,swedish_inform swedish_inform/bas.inf
I got the same error. However, if I compiled using the old 6/11 libraries, it worked. So this is a compatibility issue between the Swedish library files and the 6/12 library files.
I don’t know enough about 6/12 to say whether this is a bug or a deliberate change. But if you want to keep developing the same project, you should stick with the 6/11 libraries.
(It’s safe – in fact recommended – to use the 6.33 compiler. We’ve kept backwards compatibility for the compiler. But the Inform library does not maintain backwards compatibility across releases; it never has.)
Yes, that did it Zarf! Thank you!
There were some changes in 6/12 that concerned definite and indefinite forms in Swedish. The relevant Mantis ticket is inform7.com/mantis/view.php?id=982. Is this helpful? I would like to see the sample game and the version of Swedish.h so I can see if I can work out what needs to be changed.