The Ur-Quan Masters Discussion Forum

The Ur-Quan Masters Re-Release => Technical Issues => Topic started by: JHGuitarFreak on February 10, 2009, 06:22:48 pm



Title: Recent compile not working...
Post by: JHGuitarFreak on February 10, 2009, 06:22:48 pm
I finally decided to get my environment back up and running again with an updated MinGW and MSYS to see what I can mess with in the UQM source (again).

The problem is not in compiling the program itself, it compiles without a hitch (few generic warnings),
but the problem is in running the .exe.

Debug or Release gives me the same error, which I will now present to you:
Code:
The Ur-Quan Masters v0.6.2 (compiled Feb 10 2009 08:59:33)
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.12 (compiled with 1.2.8)
Using config dir 'G:/Documents and Settings/blah blah/Application Data/uqm/'

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

this error comes straight off of a clean build, extracted and compiled with no tinkering,
so I have a feeling that the updated environment might be triggering something.

. : . EDIT
Just to throw the info out there, it's

OS: Windows Xp Pro
UQM Ver.: 0.6.2


Title: Re: Recent compile not working...
Post by: Novus on February 10, 2009, 06:32:57 pm
The problem is not in compiling the program itself, it compiles without a hitch (few generic warnings),
but the problem is in running the .exe.

Code:
Error: Extra arguments found on the command line.
Run with -h to see the allowed arguments.
The last guy to have this problem had to remove the OpenGL command-line option from the shortcut to get UQM to run. I'm starting to suspect that there's something wrong with the compilation environment that makes it lose OpenGL support. Does OpenGL work for you in your recompiled UQM?


Title: Re: Recent compile not working...
Post by: JHGuitarFreak on February 10, 2009, 07:18:06 pm
MUAHAHAHAHA....
The evil laugh ensues because i found one of my old mingw backups, switched out the lib and include folders and bam, it fricken works flawlessly.

Definitely something is breaking UQM in the newer environments, be it opengl or the netplay support (my money is on the netplay). The mingw backup (include and lib folder only) would happen to be version 3.4.2 for the curious ones.
The binaries are still 3.4.5

but only 1 issue arises now that it works, on a release build i get a whole pile of errors.

Code:
$ ./build.sh uqm
  LINK    
obj/release/src/sc2code/melee.c.o:melee.c:(.text+0x523e): undefined reference to `cancelConfirmations'
obj/release/src/sc2code/melee.c.o:melee.c:(.text+0x5243): undefined reference to `flushPacketQueues'
obj/release/src/sc2code/melee.c.o:melee.c:(.text+0x525b): undefined reference to `flushPacketQueues'
obj/release/src/sc2code/melee.c.o:melee.c:(.text+0x5270): undefined reference to `negotiateReadyConnections'
obj/release/src/sc2code/melee.c.o:melee.c:(.text+0x5280): undefined reference to `netplayOptions'
obj/release/src/sc2code/melee.c.o:melee.c:(.text+0x5288): undefined reference to `setupInputDelay'
obj/release/src/sc2code/melee.c.o:melee.c:(.text+0x5b5f): undefined reference to `NetConnection_getPlayerNr'
obj/release/src/sc2code/melee.c.o:melee.c:(.text+0x5b8b): undefined reference to `NetMelee_getBattleState'
obj/release/src/sc2code/melee.c.o:melee.c:(.text+0x5cc0): undefined reference to `NetMelee_getBattleState'
obj/release/src/sc2code/melee.c.o:melee.c:(.text+0x5d9d): undefined reference to `flushPacketQueues'
obj/release/src/sc2code/melee.c.o:melee.c:(.text+0x5e10): undefined reference to `NetMelee_getBattleState'
obj/release/src/sc2code/melee.c.o:melee.c:(.text+0x5e8f): undefined reference to `NetConnection_getPlayerNr'
obj/release/src/sc2code/melee.c.o:melee.c:(.text+0x5ebc): undefined reference to `NetMelee_getBattleState'
obj/release/src/sc2code/melee.c.o:melee.c:(.text+0x5f15): undefined reference to `NetMelee_getBattleState'
obj/release/src/sc2code/melee.c.o:melee.c:(.text+0x5f3f): undefined reference to `NetConnection_getPlayerNr'
obj/release/src/sc2code/melee.c.o:melee.c:(.text+0x5f6b): undefined reference to `NetMelee_getBattleState'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x32): undefined reference to `netConnections'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x3e): undefined reference to `NetConnection_getStateData'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x2be): undefined reference to `setStateConnections'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x2d7): undefined reference to `localReadyConnections'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x334): undefined reference to `negotiateReadyConnections'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x3ca): undefined reference to `netConnections'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x3d6): undefined reference to `NetConnection_isConnected'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x3fc): undefined reference to `NetConnection_getStateData'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x548): undefined reference to `netConnections'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x550): undefined reference to `NetConnection_getDiscriminant'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x561): undefined reference to `netConnections'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x569): undefined reference to `NetConnection_getDiscriminant'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x5ce): undefined reference to `netConnections'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x5df): undefined reference to `NetConnection_setState'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x77d): undefined reference to `netInput'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x782): undefined reference to `allConnected'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x84d): undefined reference to `netConnections'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x859): undefined reference to `NetConnection_isConnected'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x873): undefined reference to `flushPacketQueues'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x8a1): undefined reference to `flushPacketQueues'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0xa42): undefined reference to `netConnections'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0xa4e): undefined reference to `NetConnection_isConnected'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0xa62): undefined reference to `flushPacketQueues'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0xa8a): undefined reference to `Netplay_selectShip'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0xa9b): undefined reference to `NetConnection_setState'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0xabb): undefined reference to `Netplay_selectShip'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0xacc): undefined reference to `NetConnection_setState'
obj/release/src/sc2code/pickmele.c.o:pickmele.c:(.text+0x5): undefined reference to `NetMelee_reenterState_inSetup'
obj/release/src/sc2code/setup.c.o:setup.c:(.text+0x1b7): undefined reference to `networkBattleInput'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x5f): undefined reference to `NetConnection_getStateData'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x9c): undefined reference to `NetConnection_setState'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0xbb): undefined reference to `Netplay_sendFrameCount'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0xc3): undefined reference to `flushPacketQueue'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0xcb): undefined reference to `NetConnection_getPlayerNr'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x10b): undefined reference to `Netplay_localReady'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x12f): undefined reference to `NetConnection_getStateData'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x139): undefined reference to `NetConnection_getState'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x146): undefined reference to `NetConnection_getState'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x153): undefined reference to `NetConnection_getState'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x160): undefined reference to `NetConnection_getState'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x16d): undefined reference to `NetConnection_getState'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x18a): more undefined references to `NetConnection_getState' follow
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x1a9): undefined reference to `negotiateReady'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x1c2): undefined reference to `Netplay_isLocalReady'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x1e8): undefined reference to `Netplay_localReady'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x1f0): undefined reference to `NetConnection_getState'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x205): undefined reference to `waitReady'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x20d): undefined reference to `NetConnection_getState'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x2de): undefined reference to `forAllConnectedPlayers'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x4d3): undefined reference to `initBattleStateDataConnections'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x4e8): undefined reference to `negotiateReadyConnections'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x57b): undefined reference to `negotiateReadyConnections'
obj/release/src/sc2code/tactrans.c.o:tactrans.c:(.text+0x4c): undefined reference to `NetConnection_setState'
collect2: ld returned 1 exit status
make: *** [uqm] Error 1

So i believe it has something to do with the netplay  ;D


Title: Re: Recent compile not working...
Post by: meep-eep on February 10, 2009, 09:02:10 pm
Try running "./build.sh uqm depend".


Title: Re: Recent compile not working...
Post by: JHGuitarFreak on February 10, 2009, 11:18:51 pm
well after the command you gave me, msys spouted at me a different error...

Code:
$ ./build.sh uqm
  LINK     uqm
obj/release/src/sc2code/libs/uio/match.c.o:match.c:(.text+0x289): undefined reference to `regexec'
obj/release/src/sc2code/libs/uio/match.c.o:match.c:(.text+0x313): undefined reference to `regexec'
obj/release/src/sc2code/libs/uio/match.c.o:match.c:(.text+0x429): undefined reference to `regerror'
obj/release/src/sc2code/libs/uio/match.c.o:match.c:(.text+0x44d): undefined reference to `regerror'
obj/release/src/sc2code/libs/uio/match.c.o:match.c:(.text+0x4e4): undefined reference to `regerror'
obj/release/src/sc2code/libs/uio/match.c.o:match.c:(.text+0x50b): undefined reference to `regerror'
obj/release/src/sc2code/libs/uio/match.c.o:match.c:(.text+0x54e): undefined reference to `regfree'
obj/release/src/sc2code/libs/uio/match.c.o:match.c:(.text+0x5cd): undefined reference to `regfree'
obj/release/src/sc2code/libs/uio/match.c.o:match.c:(.text+0x644): undefined reference to `regcomp'
obj/release/src/sc2code/libs/uio/match.c.o:match.c:(.text+0x70f): undefined reference to `regcomp'
collect2: ld returned 1 exit status
make: *** [uqm] Error 1

:: Update

Nevermind that last error code, apparently from the last error to this one i acquired a "regex.h" in my includes directory  ???

so i just changed the extension to the regex header, did the config, dependencies, and it compiled perfectly and worked.  ;D

nothing like making something work with blind luck and stupidity :D
funny enough, now i have a version of Mingw/MSYS with cygwin intertwined (probably where the regex header came from).

thanks for the help guys, and sorry for not being able to post a more descriptive "fix" other than "copy this here, move this over there, and delete this file"  :D





Title: Re: Recent compile not working...
Post by: aquavires on June 05, 2009, 04:51:22 pm
The last guy to have this problem had to remove the OpenGL command-line option from the shortcut to get UQM to run. I'm starting to suspect that there's something wrong with the compilation environment that makes it lose OpenGL support.
So i believe it has something to do with the netplay  ;D

Hi all,

I encountered the same problem. Not sure if the following info will be of use?

I also used a very new version of MinGW/MSYS1.0.11, and compiled Revision 3117 with reduced features under build.sh.

Code:
  -= Main menu =-
   1. Type of build                        Debugging build
   2. OpenGL graphics support              Don't include OpenGL graphics support
   3. Sound backend                        Use MixSDL for sound (internal)
   4. Tracker music support                Included libmikmod
   5. Ogg Vorbis codec                     No Ogg Vorbis support
   6. Network Supermelee support           disabled
   7. Joystick support                     disabled
   8. Supported file i/o methods           Only direct file i/o
   9. Graphics/Sound optimizations         Only plain C code
  10. Thread library                       SDL-controlled thread library

OpenGL and Netplay were both disabled, so it probably wasn't them.

However, UQM ran properly if I fed it ANY command-line argument (at least, I tried -o, -x, -f, -M100).

"uqm-debug.exe" produces the same error, whereas "uqm-debug.exe -o" or "uqm-debug.exe -x" works.

Strange!