libdistributed.so not getting installed

Building from source on Ubuntu Linux.
I’ve tried various tags of the direct module in CVS.

When I build the direct module, libdistributed.so is not being installed to the directory I gave ppremake. libdirect.so, etc. are there. Panda module built and installed fine.

Is there something I need to do when building direct other than this?

ppremake && make & make install

Any suggestions would be great.

Thanks!

Further information…the make output (after a make clean) states:

cd ./src/distributed && make all
make[1]: Entering directory `/fairies/player/direct/src/distributed'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/fairies/player/direct/src/distributed'

In direct/src/distribuited/Sources.pp, it looks like distributed.so is set not to be built if HAVE_PYTHON is not defined.

So, the obvious first question is, is HAVE_PYTHON defined for you? You can determine this by examining dtool/dtool_config.h.

David

Nice catch.

I checked the .pp file I used when I built ppremake, and it states:

// python 2.4
#define PYTHON_COMMAND /usr/local/bin/python2.4
#define PYTHON_IPATH /usr/local/include/python2.4
#define PYTHON_LPATH /usr/local/lib/python2.4
#define INSTALL_PYTHON_SOURCE

When I ppremake dtool, it states:

Configuring Panda WITHOUT Python interfaces.

The python2.4 directories listed in the .pp file exist.
Also, dtool_config.h says:
#undef HAVE_PYTHON

I tried to cheat and change it to #define HAVE_PYTHON, but of course that didn’t work!
:slight_smile:

This just means that ppremake didn’t find the directory /usr/local/include/python2.4 . Put a valid directory in for PYTHON_IPATH, and you should be good. This should be the directory that contains Python.h.

David

Well, this seems to have worked, but now Panda itself won’t compile, so I can’t build direct to see if it actually worked.

Do I have to build Panda before direct?

I’m going to table this problem for now as I am running into the same error here: discourse.panda3d.org/viewtopic.php … te&start=0

Thanks and hopefully we can call this one solved!

Right, Direct depends on Panda, so you absolutely have to build Panda before you can build Direct. And before you can build Panda, you have to be sure you have all of your third-party code dependencies (like Python) referenced properly.

David