The Ur-Quan Masters Discussion Forum

The Ur-Quan Masters Re-Release => Technical Issues => Topic started by: Elegnaim on June 20, 2007, 07:49:22 am



Title: Compilation Troubles, involving netcode?
Post by: Elegnaim on June 20, 2007, 07:49:22 am
Okay, having read other topics, I figured out that I need joystick support disabled and net play enabled to not get the MeleeDrawSupport error or whatever that was. However, when trying to build everything, I eventually get some errors like:

Code:
  LINK     uqm-debug
obj/debug/src/starcon2.c.o(.text+0xf76): In function `SDL_main':
c:/starcon2source/src/starcon2.c:441: undefined reference to `Network_init'
obj/debug/src/starcon2.c.o(.text+0xf85):c:/starcon2source/src/starcon2.c:444: undefined reference to `NetManager_init'
obj/debug/src/starcon2.c.o(.text+0x1e85): In function `parseOptions':
c:/starcon2source/src/starcon2.c:826: undefined reference to `netplayOptions'
obj/debug/src/starcon2.c.o(.text+0x1e93):c:/starcon2source/src/starcon2.c:827: undefined reference to `netplayOptions'
obj/debug/src/starcon2.c.o(.text+0x1ea2):c:/starcon2source/src/starcon2.c:830: undefined reference to `netplayOptions'
obj/debug/src/starcon2.c.o(.text+0x1ead):c:/starcon2source/src/starcon2.c:833: undefined reference to `netplayOptions'
obj/debug/src/starcon2.c.o(.text+0x1ebb):c:/starcon2source/src/starcon2.c:834: undefined reference to `netplayOptions'
obj/debug/src/starcon2.c.o(.text+0x1eca):c:/starcon2source/src/starcon2.c:837: more undefined references to `netplayOptions' follow
obj/debug/src/sc2code/battle.c.o(.text+0x1fc): In function `ProcessInput':
c:/starcon2source/src/sc2code/battle.c:138: undefined reference to `netInput'
obj/debug/src/sc2code/battle.c.o(.text+0x2bb):c:/starcon2source/src/sc2code/battle.c:170: undefined reference to `getBattleInputBuffer'
obj/debug/src/sc2code/battle.c.o(.text+0x2d2):c:/starcon2source/src/sc2code/battle.c:171: undefined reference to `sendBattleInputConnections'
obj/debug/src/sc2code/battle.c.o(.text+0x2da):c:/starcon2source/src/sc2code/battle.c:172: undefined reference to `flushPacketQueues'
obj/debug/src/sc2code/battle.c.o(.text+0x2ee):c:/starcon2source/src/sc2code/battle.c:174: undefined reference to `BattleInputBuffer_push'
obj/debug/src/sc2code/battle.c.o(.text+0x300):c:/starcon2source/src/sc2code/battle.c:176: undefined reference to `BattleInputBuffer_pop'
obj/debug/src/sc2code/battle.c.o(.text+0x3f9):c:/starcon2source/src/sc2code/battle.c:207: undefined reference to `flushPacketQueues'

Both netplay options that enable it give me the same errors. I'm not really sure what I need here.


Title: Re: Compilation Troubles, involving netcode?
Post by: meep-eep on June 20, 2007, 08:17:34 am
That should work. What source are you using? 0.6.2, or SVN?
It's possible that the dependency tracking got confused after you changed options. Try "./build.sh uqm clean" and try again.


Title: Re: Compilation Troubles, involving netcode?
Post by: Elegnaim on June 20, 2007, 07:33:15 pm
Code:
Okay, new errors.

[codeobj/debug/src/sc2code/libs/sound/decoders/modaud.c.o(.text+0x37): In function `moda_mmout_Init':
c:/starcon2source/src/sc2code/libs/sound/decoders/modaud.c:109: undefined reference to `md_mode'
obj/debug/src/sc2code/libs/sound/decoders/modaud.c.o(.text+0x3d):c:/starcon2source/src/sc2code/libs/sound/decoders/modaud.c:110: undefined reference to `VC_Init'
obj/debug/src/sc2code/libs/sound/decoders/modaud.c.o(.text+0x4a): In function `moda_mmout_Exit':
c:/starcon2source/src/sc2code/libs/sound/decoders/modaud.c:116: undefined reference to `VC_Exit'
obj/debug/src/sc2code/libs/sound/decoders/modaud.c.o(.text+0x84): In function `moda_mmout_Update':
c:/starcon2source/src/sc2code/libs/sound/decoders/modaud.c:126: undefined reference to `VC_WriteBytes'
obj/debug/src/sc2code/libs/sound/decoders/modaud.c.o(.text+0x1fe): In function `moda_InitModule':
c:/starcon2source/src/sc2code/libs/sound/decoders/modaud.c:251: undefined reference to `MikMod_RegisterDriver'

I have it set to use the included mikmod thing.

Also, I'm not using the SVN, only .6.2


Title: Re: Compilation Troubles, involving netcode?
Post by: meep-eep on June 20, 2007, 09:03:25 pm
Same thing. After switching to the included mikmod, you may need to "./build.sh uqm clean".


Title: Re: Compilation Troubles, involving netcode?
Post by: Elegnaim on June 20, 2007, 09:49:47 pm
that error message was recieved after doing the clean build. I just changed to included mikmod as an experiment. Given that I also have it installed on a system level, it didn't really make any difference.

anyway, I got the SVN, and I've been trying to compilethe, er, trunk, I guess? Is that what I should be using? Anyway, I get parse errors with globdata.h, which I have midifed, but the line numbers it gives me for the parse errors are 939-1013 or therabouts, and the line I modified is nowehere near those. Also, I doubt modifying a single number in a single line can cause parse errors elsewhere.

Code:
In file included from src/sc2code/planets/genburv.c:19:
globdata.h:939: parse error before "PPRIMITIVE"
globdata.h:939: warning: no semicolon at end of struct or union
globdata.h:959: parse error before '}' token
globdata.h:959: warning: data definition has no type or storage class
globdata.h:960: parse error before '*' token
globdata.h:960: warning: data definition has no type or storage class
globdata.h:965: parse error before "GAME_STATE"
globdata.h:965: warning: no semicolon at end of struct or union
globdata.h:966: warning: data definition has no type or storage class
globdata.h:967: parse error before '*' token
globdata.h:967: warning: data definition has no type or storage class
globdata.h:969: parse error before "GlobData"
globdata.h:969: warning: data definition has no type or storage class
globdata.h:1013: parse error before "CodeRef"
make: *** [obj/release/src/sc2code/planets/genburv.c.o] Error 1


Title: Re: Compilation Troubles, involving netcode?
Post by: meep-eep on June 20, 2007, 10:30:48 pm
If you want to use the system libmikmod, you need to make sure you have the necessary headers too; if you installed from a package, that usually means you need to install libmikmod-devel in addition to libmikmod.
Also note that "mikmod" and "libmikmod" are not the same thing; the latter is the library, which is used by UQM, the former is a program which uses that library and which is not used by UQM.

If you're using SVN, you indeed should be using the "trunk" branch.
I don't know why that error would occur; are you sure you've got a complete checkout, and no modified files? Are there no other errors before this one?