Building panda 3d with python3, missing shared objects (?)


#1

I checked out panda3d from github, and built it using the following command to get a debian package that I could use with Python 3:

#!/bin/bash

ASSIMP_INC="${HOME}/Documents/assimp/include"
ASSIMP_LIB="${HOME}/Documents/assimp/lib"

python3 makepanda/makepanda.py --threads 8 --everything --installer --use-assimp --assimp-incdir ${ASSIMP_INC} --assimp-libdir ${ASSIMP_LIB}

However, I notice that when I install the deb package, there are no shared object libraries in “/usr/lib/python3/dist-packages/panda3d”. When I compare to the same trunk source built for Python 2, I find a whole bunch of shared objects. So I’m assuming that the Python 3 build is erroneous.

I’m pretty sure the libs didn’t even build for Python 3 - if I go to the root panda3d source folder after a Python 3 build and type:

find . -name "core.so" -type f

I don’t get anything. Doing the same on a Python 2 build gives me a few locations for the library.

Did I make some error in forming my args? Or is there an error in the build process for Python 3?

Thanks,

jonbitzen


#2

Did makepanda display some error message? It would display warning messages at the beginning if packages were missing (eg. python3-dev) or at the end if the build did not fully complete successfully.


#3

OK, I installed python3-dev, and that seems to have done it.

Thanks,

jonbitzen


#4

You really should look at the missing packages reported by makepanda to see if there are any other important packages you were missing, though. This command should install the libraries for the most commonly used features:

sudo apt-get install build-essential pkg-config python-dev libpng-dev libjpeg-dev libtiff-dev zlib1g-dev libssl-dev libx11-dev libgl1-mesa-dev libxrandr-dev libxxf86dga-dev libxcursor-dev bison flex libfreetype6-dev libvorbis-dev libeigen3-dev libopenal-dev libode-dev libbullet-dev nvidia-cg-toolkit libgtk2.0-dev

#5

I did that initially. However, on my system (Linux Mint 19 / Ubuntu 18.04) python3-dev is a separate package from the default python-dev package, which is for python2.

jonbitzen