Getting latest panda3d from cvs?

Ive not used cvs before, so sorry if this sounds a little noobish :slight_smile:

I can checkout modules with the following;


cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/panda3d co -P direct

But I think this probably gets hold of panda3d 1.0 ?

Which tag/branch should I use for the current development version?

I would like to see if it will compile on SUSE10 amd64 as I am tempted to use this as my development platform. There are many problems trying to get 1.0 to compile on it.

Thanks in advance.

Nope, that’s the way to get the latest version of Panda, which is (pretty nearly) Panda 1.1. (When the “official” Panda3D 1.1 comes out, it will probably have a few more tweaks in it.)

Different developers use different techniques for managing releases, but at the VR Studio we generally do our forward Panda development on the trunk–so the latest CVS update without any special tags will get the latest, bleeding-edge Panda code.

David

Thanks David, I thought it might be the case.

I tried to make ppremake and I get the following;

So I changed the following lines;

Filename Filename::
temporary(const string &dirname, const string &prefix, Type type) {
  if (dirname.empty()) {
    // If we are not given a dirname, use the system tempnam()
    // function to create a system-defined temporary filename.
    //char *name = tempnam(NULL, prefix.c_str());
    char *name[14] = "pandatmpXXXXXX"
    mkstemp(name)
    //tempnam(NULL, prefix.c_str());
    Filename result(name);
    free(name);
    result.set_type(type);
    return result;
  }

To;

Filename Filename::
temporary(const string &dirname, const string &prefix, Type type) {
  if (dirname.empty()) {
    // If we are not given a dirname, use the system tempnam()
    // function to create a system-defined temporary filename.
    char *name = "pandatmpXXXXXX";
    mkstemp(name);
    Filename result(name);
    free(name);
    result.set_type(type);
    return result;
  }

Seems to then build ppremake file, make install then does some other stuff and puts the bin in /usr/local/panda/bin. But that is all.

Please can you let me know what the next steps are to compile the rest of the sources.

Thanks in advance.

Actually, using mkstemp() in that way isn’t quite right, since mkstemp() automatically opens the file and returns the open file handle. As you are using it, since you are not using the return value of mkstemp(), it will never close the file (until the application exits) and you have create a file leak. But if you fix this problem by closing the file immediately, you have just created the same problem that the tempnam() warning is cautioning you about, which is that if you make up a temporary filename (that doesn’t yet exist) and then open it in two different steps, someone attacking your program could cleverly insert a file by that name between those two steps–tricking your program into overwriting a system file, for instance.

But that’s not really a problem for ppremake, since it is intended to be run directly by the user who will be using it, not as some system daemon process. So the tempnam() warning isn’t really something to be concerned about.

In any case, once you have build ppremake, you then need to use it to build the rest of Panda. The complete instructions for doing this should be available in the Panda3D source package.

However, are you sure you want to be using ppremake anyway? Unless you have specific custom build needs that ppremake can address, you’re probably better off using the simpler (but less customizable) makepanda build system–the instructions for using this are also available in the Panda3D source package.

David

Thanks for the info on mkstemp. I only changed that to avoid the warning as I was unsure if it was building correctly.

Ah, well this was from cvs. Im using ppremake as makepanda does not seem to be available through cvs. Ill grab the source package tomorrow and have a play. :slight_smile:

If you execute:


cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/panda3d co -P panda3d

You will pick up all of the Panda3D source, including makepanda. The only thing you won’t get that way is the thirdparty sources, which you can download from this site.

David

Erm, sorry if I bring up this old thing, but what are the 3rd party source codes? Airblade? These files here as well?

Is there a way to get these files from CVS as well or how do I have to install them to have Panda3D as complete as I get it when taking one of the complete installers? (.exe, .deb, …)
Do I need them at all?

Regards. Bigfoot29

The thirdparty directory is a collection of third-party libraries that provide useful functionality for Panda; for instance, libjpeg, zlib, FreeType, and so on. Strictly speaking, you don’t need to have them to build Panda, but you’ll build a more limited version of Panda if you don’t have them.

You could go and get each of these packages separately, but Josh has already done this for you and put them all together in one zip file, which is not stored in the SourceForge CVS repository. Just download the “tools” zip file, e.g. panda3d-1.1.0-tools-linux.zip, from this site and unpack it.

David