Gorpe Rpg Cvs Compile Help
by Scott Szretter · in Torque Game Engine · 08/09/2003 (12:14 pm) · 53 replies
I grabbed GORPE off the cvs (/cvs/gorpe), and followed the instructions within the docs folder to compile - I installed python 2.3, uncompressed swig and twisted and registered my 2 enviornment vars for swig and gorpe. I opened the vc6 workspace and did a torque debug build. Everything built fine except it couldnt find the python.h include files. So I copied the include dir in the python directory to the engine directory - that worked, and it got to the linking stage. So thats where I am now - it cant find python23_d.lib - which does not exist anywhere. I even tried changing in python.h the filename to python23.lib, but I cant get the compiler to find it even if I put it in various torque directories. I think im probably just missing some env or compiler setting, or file, but im stuck.
(www.gorpe.com)
(www.gorpe.com)
About the author
#2
I just checked the Gorpe site very fast, and was surprised to see that GORPE is on the GG CVS.
Wasn't aware an announcement has been made regarding its status as an official GG community project.
Now, if all that's borking is the python23_d.lib, you can either build it from the Python source in Debug config, or use a hack mentioned in the Nebula Device wiki, among other places, where you change a define in one of the Python headers so that it doesn't look for the debug version of the Python lib when you're building in Debug mode : it'll just use the release lib, which means you won't be able to debug Python itself.
HTH
08/11/2003 (9:29 am)
I think most people are not aware that GORPE is available as a work in progress from CVS.I just checked the Gorpe site very fast, and was surprised to see that GORPE is on the GG CVS.
Wasn't aware an announcement has been made regarding its status as an official GG community project.
Now, if all that's borking is the python23_d.lib, you can either build it from the Python source in Debug config, or use a hack mentioned in the Nebula Device wiki, among other places, where you change a define in one of the Python headers so that it doesn't look for the debug version of the Python lib when you're building in Debug mode : it'll just use the release lib, which means you won't be able to debug Python itself.
HTH
#3
I know this is a real newbie question, but if I get the debug library, or do the hack to make it use the non-debug library, where do I put the .lib file exactly so the compiler will find it?
I was able to get the compiler to see the include files by putting the python include files in the engine folder, but cant get the linker to see the python32.lib file.
08/11/2003 (9:58 am)
Thanks, that is helpful - I know this is a real newbie question, but if I get the debug library, or do the hack to make it use the non-debug library, where do I put the .lib file exactly so the compiler will find it?
I was able to get the compiler to see the include files by putting the python include files in the engine folder, but cant get the linker to see the python32.lib file.
#4
one would be to put the lib in a folder somewhere on your system and set that folder as a "LIB" folder in your Visual Studio settings (tools->options->directories)
then you can just link to the filename...
another is to put a
#pragma comment(lib,"c:\path\python23_d.lib")
somewhere in your source.
as well lets not forget that you Can provide a path in the linker.. so in your project settings link options where this file is specified you can put in the path there.
08/11/2003 (10:10 am)
You can do a couple different super hacks.one would be to put the lib in a folder somewhere on your system and set that folder as a "LIB" folder in your Visual Studio settings (tools->options->directories)
then you can just link to the filename...
another is to put a
#pragma comment(lib,"c:\path\python23_d.lib")
somewhere in your source.
as well lets not forget that you Can provide a path in the linker.. so in your project settings link options where this file is specified you can put in the path there.
#5
That got me futher in linking, but now I have this as erorrs, and have no clue what to do:
--------------------Configuration: Torque Demo - Win32 Debug--------------------
Linking...
Creating library ../example/torqueDemo_DEBUG.lib and object ../example/torqueDemo_DEBUG.exp
tgenet.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
tgePyObject.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
tgePython.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
tgevideo.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
tgeconsole.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
tgedgl.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
tgegame.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
tgemath.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
tgenet.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
tgePyObject.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
tgePython.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
tgevideo.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
tgeconsole.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
tgedgl.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
tgegame.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
tgemath.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
tgenet.obj : error LNK2001: unresolved external symbol __imp___Py_NegativeRefcount
tgePyObject.obj : error LNK2001: unresolved external symbol __imp___Py_NegativeRefcount
tgePython.obj : error LNK2001: unresolved external symbol __imp___Py_NegativeRefcount
tgevideo.obj : error LNK2001: unresolved external symbol __imp___Py_NegativeRefcount
tgeconsole.obj : error LNK2001: unresolved external symbol __imp___Py_NegativeRefcount
tgedgl.obj : error LNK2001: unresolved external symbol __imp___Py_NegativeRefcount
tgegame.obj : error LNK2001: unresolved external symbol __imp___Py_NegativeRefcount
tgemath.obj : error LNK2001: unresolved external symbol __imp___Py_NegativeRefcount
tgenet.obj : error LNK2001: unresolved external symbol __imp__Py_InitModule4TraceRefs
tgePython.obj : error LNK2001: unresolved external symbol __imp__Py_InitModule4TraceRefs
tgevideo.obj : error LNK2001: unresolved external symbol __imp__Py_InitModule4TraceRefs
tgeconsole.obj : error LNK2001: unresolved external symbol __imp__Py_InitModule4TraceRefs
tgedgl.obj : error LNK2001: unresolved external symbol __imp__Py_InitModule4TraceRefs
tgegame.obj : error LNK2001: unresolved external symbol __imp__Py_InitModule4TraceRefs
tgemath.obj : error LNK2001: unresolved external symbol __imp__Py_InitModule4TraceRefs
tgenet.obj : error LNK2001: unresolved external symbol __imp___PyObject_DebugMalloc
tgevideo.obj : error LNK2001: unresolved external symbol __imp___PyObject_DebugMalloc
tgeconsole.obj : error LNK2001: unresolved external symbol __imp___PyObject_DebugMalloc
tgedgl.obj : error LNK2001: unresolved external symbol __imp___PyObject_DebugMalloc
tgegame.obj : error LNK2001: unresolved external symbol __imp___PyObject_DebugMalloc
tgemath.obj : error LNK2001: unresolved external symbol __imp___PyObject_DebugMalloc
tgePyObject.obj : error LNK2001: unresolved external symbol __imp___PyObject_DebugFree
../example/torqueDemo_DEBUG.exe : fatal error LNK1120: 6 unresolved externals
Error executing link.exe.
torqueDemo_DEBUG.exe - 39 error(s), 0 warning(s)
08/11/2003 (10:46 am)
Ok, I am learning, but have a new problem - I when to tools->options and defined the paths for include files to python23/include, and libraries to python23/libs, and then I changed pyconfig.h to use the non debug library for python.That got me futher in linking, but now I have this as erorrs, and have no clue what to do:
--------------------Configuration: Torque Demo - Win32 Debug--------------------
Linking...
Creating library ../example/torqueDemo_DEBUG.lib and object ../example/torqueDemo_DEBUG.exp
tgenet.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
tgePyObject.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
tgePython.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
tgevideo.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
tgeconsole.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
tgedgl.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
tgegame.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
tgemath.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
tgenet.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
tgePyObject.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
tgePython.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
tgevideo.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
tgeconsole.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
tgedgl.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
tgegame.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
tgemath.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
tgenet.obj : error LNK2001: unresolved external symbol __imp___Py_NegativeRefcount
tgePyObject.obj : error LNK2001: unresolved external symbol __imp___Py_NegativeRefcount
tgePython.obj : error LNK2001: unresolved external symbol __imp___Py_NegativeRefcount
tgevideo.obj : error LNK2001: unresolved external symbol __imp___Py_NegativeRefcount
tgeconsole.obj : error LNK2001: unresolved external symbol __imp___Py_NegativeRefcount
tgedgl.obj : error LNK2001: unresolved external symbol __imp___Py_NegativeRefcount
tgegame.obj : error LNK2001: unresolved external symbol __imp___Py_NegativeRefcount
tgemath.obj : error LNK2001: unresolved external symbol __imp___Py_NegativeRefcount
tgenet.obj : error LNK2001: unresolved external symbol __imp__Py_InitModule4TraceRefs
tgePython.obj : error LNK2001: unresolved external symbol __imp__Py_InitModule4TraceRefs
tgevideo.obj : error LNK2001: unresolved external symbol __imp__Py_InitModule4TraceRefs
tgeconsole.obj : error LNK2001: unresolved external symbol __imp__Py_InitModule4TraceRefs
tgedgl.obj : error LNK2001: unresolved external symbol __imp__Py_InitModule4TraceRefs
tgegame.obj : error LNK2001: unresolved external symbol __imp__Py_InitModule4TraceRefs
tgemath.obj : error LNK2001: unresolved external symbol __imp__Py_InitModule4TraceRefs
tgenet.obj : error LNK2001: unresolved external symbol __imp___PyObject_DebugMalloc
tgevideo.obj : error LNK2001: unresolved external symbol __imp___PyObject_DebugMalloc
tgeconsole.obj : error LNK2001: unresolved external symbol __imp___PyObject_DebugMalloc
tgedgl.obj : error LNK2001: unresolved external symbol __imp___PyObject_DebugMalloc
tgegame.obj : error LNK2001: unresolved external symbol __imp___PyObject_DebugMalloc
tgemath.obj : error LNK2001: unresolved external symbol __imp___PyObject_DebugMalloc
tgePyObject.obj : error LNK2001: unresolved external symbol __imp___PyObject_DebugFree
../example/torqueDemo_DEBUG.exe : fatal error LNK1120: 6 unresolved externals
Error executing link.exe.
torqueDemo_DEBUG.exe - 39 error(s), 0 warning(s)
#6
and you are using the release.
08/11/2003 (10:53 am)
Looks like your trying to link to the debug liband you are using the release.
#7
Well, what would be REALLY helpful is if either someone could send me a copy of python23_d.lib, or the instructions on how to compile python for windows so I can make it myself, or if there is some other option...
I am a real newbie with torque, even newer with python so I am just feeling a little lost trying to figure all this out in one shot...
08/11/2003 (12:20 pm)
Ok, yes that makes sense.Well, what would be REALLY helpful is if either someone could send me a copy of python23_d.lib, or the instructions on how to compile python for windows so I can make it myself, or if there is some other option...
I am a real newbie with torque, even newer with python so I am just feeling a little lost trying to figure all this out in one shot...
#8
08/11/2003 (12:30 pm)
You shouldnt have any trouble finding this info on the python site.
#9
Then, you have to edit the pyconfig.h file, and change this line:
from:
ifdef _DEBUG
# pragma comment(lib,"python23_d.lib")
to:
ifdef _DEBUG
# pragma comment(lib,"python23.lib")
Finally, find this:
#ifdef _DEBUG
# define Py_DEBUG
#endif
and comment it out! ( /* */ )
Thats it, and I was able to compile gorpe!
It looks like a promising project, so hopefully more people will become involved, and hopefully we can get a forum set up for it!
08/16/2003 (6:51 am)
Ok, in case anyone else wants to compile the current gorpe, all you have to do is in tools -> options in vc6 set the path to the python include files directory, and the path to the libs directory.Then, you have to edit the pyconfig.h file, and change this line:
from:
ifdef _DEBUG
# pragma comment(lib,"python23_d.lib")
to:
ifdef _DEBUG
# pragma comment(lib,"python23.lib")
Finally, find this:
#ifdef _DEBUG
# define Py_DEBUG
#endif
and comment it out! ( /* */ )
Thats it, and I was able to compile gorpe!
It looks like a promising project, so hopefully more people will become involved, and hopefully we can get a forum set up for it!
#10
09/22/2003 (2:23 pm)
I am also have that trouble. Is there any where i can download the Python .lib file?
#12
09/22/2003 (6:32 pm)
Generic Online Role Playing Engine which uses Torque.
#13
GORPE was never officialy announced to the public as a GarageGames Community Project. So I wasn't expecting people to be downloading it.
If anyone is working with the codebase please drop me a line. I'm going to be hitting that codebase again starting today. If you have issues, with the tree as it is feel free to email me at jdonavan@gorpe.com
As an FYI, the "official" site for GORPE is www.gorpe.com.
09/23/2003 (2:11 am)
Sorry all for having left the code in the state it was in before talking my extended vacation. There are issues with the demo as well, due to some experimenting with moving to a pure Python implementation of the demo app.GORPE was never officialy announced to the public as a GarageGames Community Project. So I wasn't expecting people to be downloading it.
If anyone is working with the codebase please drop me a line. I'm going to be hitting that codebase again starting today. If you have issues, with the tree as it is feel free to email me at jdonavan@gorpe.com
As an FYI, the "official" site for GORPE is www.gorpe.com.
#14
09/23/2003 (3:21 am)
Are you going to provide all the files that are need to run GORPE including all python files in later releases of GORPE????
#15
Right now my priorities are:
- Wrap up loose ends. For instance, the third person camera zoom isn't working.
- Evaluate recent Torque Changes. I need to go over what's changed and merge in anything important.
- Documenting the design. I need to get things up on gorpe.com to show where i'm headed with a lot of things. I've got a hard bound lab notebook with a year+ worth of design notes that need to be transfered.
The CVS tree will contain everything needed to compile GORPE as well as sample implementations in Torque script and Python. There are some things, such as the GORPE IDE and the PurePython project that I'm not yet sure how I intend to release the source for yet but they're iceing not cake.
09/24/2003 (3:07 am)
Yesterday morning I did a series of CVS updates. The CVS tree is now synced with my dev tree for the most part. If something doesn't compile, please let me know. Right now my priorities are:
- Wrap up loose ends. For instance, the third person camera zoom isn't working.
- Evaluate recent Torque Changes. I need to go over what's changed and merge in anything important.
- Documenting the design. I need to get things up on gorpe.com to show where i'm headed with a lot of things. I've got a hard bound lab notebook with a year+ worth of design notes that need to be transfered.
The CVS tree will contain everything needed to compile GORPE as well as sample implementations in Torque script and Python. There are some things, such as the GORPE IDE and the PurePython project that I'm not yet sure how I intend to release the source for yet but they're iceing not cake.
#16
09/24/2003 (6:29 pm)
So everything needed to compile GORPE is now on the cvs, cool!
#17
09/25/2003 (2:04 am)
Well you'll also need Python, and possibly SWIG... It's in the doco.
#18
09/25/2003 (3:02 am)
Someone please help me find python23_d.lib becuase I cant compile without it. I look at the website but cant find how or where to get python23_d.lib.
#19
09/26/2003 (12:58 pm)
Bah, registered on the gorpe site, since it was pretty much emptied. All it gave me was the download link with access to a gorpe version that is almost 3 months old :) CVS all the way?
#20
@Shannara Yeah CVS is the only source for all things GORPE and TerrainManager related. It was getting to be a royal hastle trying to manage the various TM patches.
09/26/2003 (1:25 pm)
@Ryan - You can download and build the source for Python OR you can grab the pyconf-nodebug.h that I just checked into the engine\python directory and put it in your include directory for Python as pyconf.h. This will cause it to always link the non-debug version of the library as well as not declare the extra debug routines.@Shannara Yeah CVS is the only source for all things GORPE and TerrainManager related. It was getting to be a royal hastle trying to manage the various TM patches.
Torque Owner Scott Szretter
Has anyone compiled GORPE successfully? What am I doing wrong?