Workarounds to common bugs in Angband variants
Bugs are commonly seen when compiling variants, if for no other reason than the finickiness of various compilers. Fortunately, many of the bugs are easily fixed, once you know how.
Message: Function has no prototype.
Probable cause: This is the most common error. If it is just a warning, it can safely be ignored. If it is an error, then the author forgot to prototype the function in externs.h.
Fix: Prototype the function as an extern in externs.h.
Message: (in loadx.c) Error : cannot convert 'char *' to 'unsigned char *'
Probable cause: This usually happens when a char is being read from a savefile as a byte.
Fix:Add a (byte *) before the address operator. If the error line is of the form rdbyte(&foo); replace it with the following:
rdbyte((byte *) &foo);
Message: Link Error: codeseg1.c: Variable foo is already defined in codseg2.c.
Fix: Remove the declaration of foo in codeseg1.c.
Problem: The compilation went ok, but when I open the app I get the message "Couldn't find file file/news.txt", after which I get a dialog and no matter which file I choose, nothing helps.
Probable cause: Usually this means #define MACINTOSH wasn't uncommented in h-config.h, some other OS is defined as well, or that the WINDOWS flag is still defined.
Fix: Reread step 4 in the Angband compilation page and apply the fixes. You did read it before coming here, didn't you?
Problem: When I move to the southwest ("1" on the keypad) it is slower than the other directions.
Fix: Open pref.prf in the user subfolder of the lib folder, and remove everything from this line:
##### Original Keyset Mappings #####
to the line before this line:
##### System Specific Subfiles #####
Problem: Occasional random crashes. Reprodicibly crashes if enter an invalid entry during haggling, such as "2-" instead of "-2".
Probable cause: A memory corruption bug in 2.8.x versions with cheat options.
Fix: Replace both occurances in monster1.c of monster_type with monster_race. Note that you will have to save and load any savefiles affected by this bug from a corrected version to undo the damage in an existing savefile.
Return to the Angband compilation page.
Return to my Home Page.