Two versions of Python installed? Which one are you using? You have to be sure that you pick just one version, and use that one version in both the header files and in the libraries. If there’s any danger of mixing header files from one version and libraries from another, you might get errors such as this.
Hmm. I’m not sure why you’re getting this error and I’m not, but try picking up the latest dtool/src/pystub (I just checked in some changes there) and try again.
Yes, I see you made a change 116 secs ago ( I just love CVS)
This works!!! Thanks a lot David.
Now, when compiling the next one, it couldn’t find python.h
The problem is, It links to python2.5, which I removed already.
Now, when I try to change built/tmp/pythonversion to python2.4 makepanda keeps changing it back to python2.5…
Do I need to call makepanda whole over again, or can I change the version some other way?
EDIT: FIXED! I looked in the makepanda.py script and I saw it looked whether the directories /usr/include/python2.5 exist, i looked there and saw an empty directory. So I removed that one, and now it works fine.
OK, makepanda is done. Well… I think it was.
It gave no error, just said “storing dependency cache” and stopped. Is it done now? There’s still a folder /built/tmp. what to do with it?
I’ll see if I succeed now to build pview from scratch.
One of the things that makepanda would have built is pview. Did it build that successfully? If so, why don’t you invoke the compiler the same way makepanda did to build pview?
Just one thing before I start programming, I don’t really understand the g++ call from the makepanda script. I understand the -L and -I, but the rest… This one:
The “-c” means compile a source file into an object file (in this case the source file at the end of the line is pview.cxx, the -c could have gone right before this)
The “-o” specifies the output file, in this case pview.o, and object file that will later be linked with other object files to form the final executable.
“-02” specifies optimation level for the executable, 02 is fairly highly optimized (and 01 would be less optimized, etc., most of the time you don’t see higher than 02 and occasionally 03). Sometimes optimization is avoided if an executable needs to be debugged, because optimization tends to reorder parts of code and strip debugging information (not sure of gcc specifics here)
The “-f” flags are specific compiler directives, in this case telling it that C++ templates cannot be nested deeper than 30 (which would be pretty ridiculous anyways, this flag is probably unnecessary), and PIC for telling it the the object file should be compiled in a way such that it can be loaded into different locations in memory (i.e., a shared library, or DLL on Windows).