The Ur-Quan Masters Discussion Forum

The Ur-Quan Masters Re-Release => Technical Issues => Topic started by: Serosis on October 20, 2010, 08:39:02 am



Title: Frustratingly annoying
Post by: Serosis on October 20, 2010, 08:39:02 am
Code:
The Ur-Quan Masters v0.6.2 (compiled Oct 19 2010 23:22:56)
This software comes with ABSOLUTELY NO WARRANTY;
for details see the included 'COPYING' file.

Netplay protocol version 0.3. Requiring remote UQM version 0.5.4.
Initializing base SDL functionality.
Using SDL version 1.2.8 (compiled with 1.2.8)
Using config dir 'C:/Users/Serosis/AppData/Roaming/uqm/'

Error: Extra arguments found on the command line.
Run with -h to see the allowed arguments.

This is all I get from a completed build of either a debug version or a release version.
Not running from a shortcut so there really couldn't be any extra arguments.

I have a feeling that this could be fixed if I were able to download an earlier version of MinGW/MSYS, like I did the last time I had this problem. Just wish I still had those earlier versions.




Title: Re: Frustratingly annoying
Post by: meep-eep on October 20, 2010, 08:45:27 am
This is a bug in the 0.6.2 version of UQM. Just make sure that you are specifying some option on the command line, and you should be fine. Take your pick from 'uqm --help".


Title: Re: Frustratingly annoying
Post by: Serosis on October 20, 2010, 09:03:34 am
Never happened before, and I'm using the exact libs/includes and builds I have before. Only thing different is MinGW/MSYS.

Also Visual Studio C++ Express 2005 throws this at me:
Code:
Linking...
uqmlog.obj : error LNK2019: unresolved external symbol _MessageBoxA@16 referenced in function _displayBox
connect.obj : error LNK2019: unresolved external symbol _WspiapiFreeAddrInfo@4 referenced in function _ConnectState_close
listen.obj : error LNK2001: unresolved external symbol _WspiapiFreeAddrInfo@4
listen.obj : error LNK2019: unresolved external symbol _WspiapiGetNameInfo@28 referenced in function _acceptSingleConnection
resolve.obj : error LNK2019: unresolved external symbol _WspiapiGetAddrInfo@16 referenced in function _getaddrinfoAsync
../../uqmdebug.exe : fatal error LNK1120: 4 unresolved externals

Update:
And I was bang on correct, although with the older version of MinGW you get an undefined reference to gai_strerror at line 423 in listen.c for a debugging build.
Other than that it's golden, just commented out that piece and will try to figure it out later.

EDIT:
Although I'd still love to figure out how to get the program icons to show up on a build from MinGW, all I get is the default nondescript executable icon.

Another Update:
So I think I may have solved that issue albeit very lazily.

Took this chunk from netport.h:
Code:

// MinGW does not have a working gai_strerror() yet.
#ifdef __MINGW32__

static inline const char *
gai_strerror(int err)
{
(void) err;
return "[gai_strerror() is not available on MinGW]";
}

#endif

And shoved it in listen.c between (void) Socket_setKeepAlive(sock); and #ifdef DEBUG @ line 411

It seems like it had issues defining gai_strerror when it was stuck between a mess of #ifdef & #endif.
It also didn't like it when I isolated the code in netport.h, claiming it was already defined in the exact place it was in netport.h.
This is my lazy fix and I know it really can't harm nothing, grepped the entire source to find no more references to gai_strerror than in listen.c