help: downloading source by anonymous login at soureforge

Hi,

Following the instructions
sourceforge.net/scm/?type=cvs&group_id=38909

$ cvs -d:pserver:anonymous@panda3d.cvs.sourceforge.net:/cvsroot/panda3d login

You might mention in the instructions to hit “enter” when prompted for a login password.

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

we are told to checkout the appropriate http://panda3d.cvs.sourceforge.net/viewvc/panda3d/%20module, but it’s not clear what is the appropriate module. Do we get all of them one-by-one? It appears that the ten folders are all 2 years out of date. Is this the right place to go for downloading the latest source?

darKoram

You don’t need the “login” command. This is the appropriate command:

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

Ok,
Downloaded the source (this only took 30 s. Do i have all the files?), samples and thirdparty. my directory looks as shown in the /doc/INSTALL-MK

$ makepanda/makepanda.py --everything --verbose

Generating library cache…

Couldn’t find library libAR

Couldn’t find header file AR/ar.h

WARNING: Could not locate thirdparty package artoolkit,

could not find bison

But
bison.exe is in
panda3d/thirdparty/win-util but why is makepanda trying to build windows stuff?

That bison.exe is for Windows users. It has no relevance on a Linux system.

You should install bison using your operating system’s package management system.

Installed bison and flex. Got the build started.
But failed here:

[ 47%] Linking dynamic library built/lib/libpandagl.so
g++ -shared -o built/lib/libpandagl.so -Lbuilt/lib -Lbuilt/tmp -L/usr/X11R6/lib built/tmp/x11display_composite.o built/tmp/pandagl_pandagl.o built/tmp/glgsg_config_glgsg.o built/tmp/glgsg_glgsg.o built/tmp/glxdisplay_composite.o -lp3glstuff -lpanda -lpandaexpress -lp3dtool -lp3dtoolconfig -lGL -lCg -lCgGL -lX11 -lXrandr -lXcursor -pthread -ldl
/usr/bin/ld: cannot find -lXrandr
/usr/bin/ld: cannot find -lXcursor
collect2: ld returned 1 exit status

I do have /usr/bin/lXrandr and software center says the package is installed.

I do not know if this is relevant or not. You may not have all of the files. You may want to try this. I do not know if this will help.

Instead of the suffix “-P panda3d” I use a single dot “-P .” to mean “download all.”

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

I followed the above advice for the “.” This time download was less than 30 s.

Compiling again stops at 47%

going to the ubuntu packages library packages.ubuntu.com/oneiric/amd6 … r/download
i locate the package associated with lxrandr, but downloading fails. (i put the source url in my /etc/apt/sources.list)

sudo apt-get install lxrandr_0.1.2-1ubuntu1_amd64.deb
E: Unable to locate package lxrandr_0.1.2-1ubuntu1_amd64.deb

E: Couldn’t find any package by regex ‘lxrandr_0.1.2-1ubuntu1_amd64.deb’

Strange though, it seems i do have the libraries installed. I would think that /usr/lib32 would be in the checked by ld and ldconfig automatically
kesten@kesten-K42Jr:~/VersionControlProjects/Bazaar/Engines/Panda3d$ locate Xrandr

/usr/lib/x86_64-linux-gnu/libXrandr.so.2

/usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0

/usr/lib32/libXrandr.so

/usr/lib32/libXrandr.so.2

/usr/lib32/libXrandr.so.2.2.0

I don’t think using a dot for the checkout checks out the repository properly, but hey, if that worked…

The packages you should install are libxrandr-dev, libxxf86dga-dev and libxcursor-dev. There’s no need to install “lxrandr”, whatever it may be.

Note that you can’t install custom packages using apt-get, you should use dpkg -i for that. But anyhow, you should use the packages from the Ubuntu repository that I pointed out above.

I was able to find the three libraries with apt-get. Now the build gets 1% further and fails with

/usr/bin/ld: /usr/local/lib/libBulletSoftBody.a(btSoftBody.o): relocation R_X86_64_32 against `guard variable for btTransform::getIdentity()::identityTransform’ can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libBulletSoftBody.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
Process exited with exit status 1 and signal code 0

With the bison and flex, that’s 5 extra libs i’ve dl’d so far. Is my machine wonky, or the libraries package not up to date or something else?

Also, the build starts with a lot of warnings for missing libs even though some of them are on my system…

WARNING: Could not locate pkg-config package gtk±2.0, excluding from build

Couldn’t find library libpython2.7

Couldn’t find header file python2.7/Python.h

$ locate libpython2.7

/usr/lib/libpython2.7.so.1

kesten

Ah, note that I am also developing from source with bullet and so there may be conflicting shared/static versions of the libraries on my machine. Both blender and panda come bundled with some of bullet’s .h and .cpp files.

The linker will pick the first lib it finds, so if Panda and one of the others uses LD_LIBRARY_PATH or sets an equivalent env variable, that could be a problem.

Perhaps I have to change makepanda.py to special case this, or is there a better way?

Question
recompile with -fPIC :
Bad symbols error message

does that mean it’s telling me to try with -fPIC or that it tried recompiling with -fPIC and failed?

darKoram

I don’t know what’s going on with your bullet errors, but I can answer some of your immediate questions.

The former–it’s telling you to try with -fPIC, which means to build with relocatable code that can be linked into an .so file. The bigger picture is you’re trying to link a static library (your libBulletSoftBody.a) into a dynamic library (Panda3D) which isn’t supported. Probably the right solution is to build your bullet into a dynamic library, or at least build it statically with the -fPIC option.

It also means that your bullet build is nonstandard, since this isn’t a problem with the standard bullet build. Probably the standard build is provided in a dynamic library.

This means you haven’t installed python-dev, only python. The file libpython2.7.so.1 is provided by python, but libpython2.7.so (the needed file) is provided by python-dev.

David