That's one of the many directory problems we have. I found in the end that not only SCRIPTDIR was being mangled, but also a few other directories. In addition to that, the directory variable expansion is stupid-- it should default to env variables, not enforce the user's set HOME default. Not to mention the lack of additional directory configuration options (docdir, logdir, etc)...z-man wrote:No I found out who is guilty, and you'll like it Microsoft.Luke-Jr wrote:Summary: We screwed up on handling directories. Let's fix this for 0.2.8.1.
If you plan to do this, be careful! The problem was that it would only search back as far as the first non-existing path element and would fail to check that for a '.' prefix. Perhaps an actual check if the directory exists is best (instead of trapping EEXIST)z-man wrote:The workaround will be to reinstall the strange backward searching in mkdir_recurse, that's silly, but it seemed to work.
It should be a warning anyway... I wonder if we can detect the path libxml2 uses?z-man wrote:For the other error, try replacing "file:///etc/xml/catalog" in gParser.cpp with "file:///var/db/xmlcatalog".
Perhaps we should setup something to automatically test builds on the SF compile farm?z-man wrote:I'm currently installing freeBSD (didn't grok the OpenBSD partitioning), I hope I can see all those errors myself.
For future reference, I suggest sticking the "-1" in the internal version.z-man wrote:All four fixed Windows builds are now on my harddisk, plus a source "patch". The internal version is still 0.2.8.0, only the installer version reflects the change. I'm not really sure whether the "This is a workaround of an OS bug, hence no new version" is the right way to go, so I'm waiting for at least one team member to say "yes, that's absolutely right, up to aabeta and sourceforge with it!" and every team member has veto rights for the next hours.
I notice our init scripts do something like this... except if there's an error, they just keep restarting the server infinitely. :\z-man wrote:Second, write a small wrapper script, something simple likeor the other way round if you want to continue after crashes or fatal exits.Code: Select all
#!/bin/sh while ./armagetronad-dedicated; do true; done