Search this site:

2008-11-30

Compiling MudOS on Windows


I am compiling MudOS v22.2b14 on Windows... If you don't know what's a MudOS or a MUD, don't ask me and just let it be. Anyway, it is a nightmare compiling such old softwares...

First of all I don't have a VC6 now, neither can i find from MSDN subscriptions. I tried to compile all with VC.NET 2003, which has the most similar cl.exe with VC6.

After setting most of the stuff as suggested at here (page in Chinese, sorry). I still need to modify somethings manually. One of those are those related to bison. As I am using the GnuWin32 version, it seems to have little different behavior with the original one. Like it creates XXXX.tab.c instead of XXXX_tab.c from XXXX.y. This is fixed by using the following command line instead:

bison make_func.y -o make_func_tab.c


Another problem with this GnuWin32 bison is a funny bugs. I got the following compile error when compiling edit_source.exe:
make_func_tab.c(929) : error C2449: found '{' at file scope (missing function header?)


Hey, a missing funtion header with code gerneted by bison....?! Having checking the code:
#ifdef YYPARSE_PARAM
# if defined (__STDC__) || defined (__cplusplus)
int yyparse (void *YYPARSE_PARAM)
# else
int yyparse (YYPARSE_PARAM)
void *YYPARSE_PARAM;
# endif
#else /* ! YYPARSE_PARAM */
#if defined (__STDC__) || defined (__cplusplus)
int
yyparse (void)
#else
int
yyparse ()
;
#endif
#endif
{
...


What the... There is a suspcious semi-colon after the line of yyparse()... It may be the cause of the problem. However as I have just played with bison once or twice in one of my university course, I can't ensure my action is correct. So I have made a google search and found this thread. Oh, it was a old bug which has been already fixed in 2.3. Check the GnuWin32 bison version again, oops, it's 2.1... So I just removed the colon and compile again... and it seems to have done.

Now I am going to continue my compiling and wish me luck...!


No comments:

Post a Comment

HTML Tags allowed (e.g. <b>, <i>, <a>)

Disclaimer

ALL CONTENTS AND INFORMATION IN THIS WEB SITE ARE PROVIDED "AS IT" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. THE ACCURACY AND AVAILABILITY OF THE CONTENTS, INFORMATION AND THE WEB SITE ITSELF ARE NOT GUARANTEED. THE AUTHOR TAKES NO RESPONSIBILITIES ON ANY COSTS OR DAMAGES (DIRECT OR INDIRECT) ARISING OUT OF OR IN CONNECTION WITH THE ACCESS, USAGE OR INABILITY OF USAGE OF THIS WEB SITE.