« September 2006 | Main | November 2006 »
October 28, 2006
Dark Messiah: game load crash fix
If you are somewhat of a gamer like me and a fan of Theif type games, you must have been oozing with anticipation of the latest hit from Ubi, the Dark Messiah. The game is hot, hot, hot.. if not for this annoying bug plaguing the first release; whereby the game would crash while loading a subsequent game sequence or a saved game.
Granted you played around with the Demo release with no apparent issues, this particular crash would definitely catch you off guard. First, if the game loads and you are able to play the initial sequences just fine, the crash would definitely have very little to do with your graphics system. It was so in my case and left me with only other semi-obvious alternative to check into. If it's not the graphics, it must be the OS. If crash takes place during load time, it must have to do with memory read/write functions. If it has to do with memory, the only obvious things to check is the amount of RAM you have and swap space to accomodate the excesses.
In my case, I had 2GB of ram.. but only 300MB of swap available on the HD my OS sits on. Now, the game's system requirements doc would tell you that it needs >6GB of had and >1GB of ram. Obviously, therein lay my problem. To try to fix it, I chose to increase the size of available swap space in System -> Advanced -> Performance -> Advanced -> Virtual Memory.
Once there, you may proceed in a number of ways depending on the number of physical/virtual harddrives you have. For the harddrive where your OS runs from, select the "System Managed" option. Now, you are in the wrong place if you have only one HD. If you find yourself stuck with a single harddrive, the only option you have is to start freeing up plenty of space to allow your system to operate with a bigger swap size. And never neglet to remove system's temporary files (use any cleaner software such as CCLeaner or what have you)!!
On the other hand, you are the lucky guy if you have more than one harddrive to play with. In such case, granted those harddrives have some space left on them, make sure you set aside at least a total of 3GB towards your paging file size. To do so, simply check the "Custom size" option and enter the appropriate "initial size" and "maximum size" values. Alternatively, you may choose to check off the "system managed size" option for the rest of your harddrives. Remember to hit the "Set" button every time you change a value. Once done, hit "OK" and reboot the system.
99% of the time, the trouble will just go away!!
Posted by vladb at 10:19 PM | Comments (1)
October 03, 2006
Fix for the subversion 1.3.2 compiler error..
I was trying to build a minimalist subversion 1.3.2 client on a unix system with
./configure --without-apache --without-apxs --disable-mod-activation --without-berkeley-db
configuration completed successfully..
but ./make failed at svndiff.c with the error
===
subversion/libsvn_delta/svndiff.c:350: error: `PACKAGE_NAME' undeclared (first use in this function)
===
searching Google wasn't of much use.. there were only a few newsgroup threads addressing a similar issue and even the ones I found didn't provide me with much of a solution. If you've ever been stuck with an equally dubious make/compile issue, you know how it feels when you are all alone with no one to ask for a resolution. And it feels even worse when you realize that the vast knowledge base of the Internet is of little use.
So, in case you are stuck with a similar problem, here's my resolution that worked for me.
The quick fix is to disable the NLS by passing the "--disable-nls" flag to the ./configure script. This will remove the internationalization support from your subversion build. Along with it, it will eliminate the compiler issue and allow you to build a working SVN client.
I arrived at the solution by examining svndiff.c at line 350:
===
return svn_error_createf
(SVN_ERR_SVNDIFF_INVALID_OPS, NULL,
_("Invalid diff stream: insn %d cannot be decoded"), n);
===
Note the use of macro "_(TEXT)". If the NLS feature is enabled, the macro is defined in the svn_private_config.h like so:
===
#define _(x) dgettext(PACKAGE_NAME, x)
===
Otherwise, it'll take on a much simpler form of
===
#define _(x) (x)
===
skipping the "PACKAGE_NAME" constant that caused the compiler error in the first place.
Posted by vladb at 03:26 PM | Comments (0)