Can't install Panda3d on Ubuntu 16.04

user@Computer:~/Downloads/Installer$ sudo dpkg -i panda3d1.9_1.9.4_xenial_amd64.deb
[sudo] password for user: 
(Reading database ... 372247 files and directories currently installed.)
Preparing to unpack panda3d1.9_1.9.4_xenial_amd64.deb ...
Unpacking panda3d1.9:i386 (1.9.4+post3~xenial) over (1.9.4+post3~xenial) ...
running ldconfig
dpkg: dependency problems prevent configuration of panda3d1.9:i386:
panda3d1.9:i386 depends on libavcodec-ffmpeg56 (>= 7:2.4) | libavcodec-ffmpeg-extra56 (>= 7:2.4).
panda3d1.9:i386 depends on libavformat-ffmpeg56 (>= 7:2.4).
panda3d1.9:i386 depends on libavutil-ffmpeg54 (>= 7:2.4).
panda3d1.9:i386 depends on libbulletcollision2.83.6.
panda3d1.9:i386 depends on libbulletdynamics2.83.6.
panda3d1.9:i386 depends on libbulletsoftbody2.83.6.
panda3d1.9:i386 depends on libcg (>= 3.0.0007).
panda3d1.9:i386 depends on libcggl (>= 3.1.0010).
panda3d1.9:i386 depends on libgl1-mesa-glx | libgl1.
panda3d1.9:i386 depends on liblinearmath2.83.6.
panda3d1.9:i386 depends on libode4.
panda3d1.9:i386 depends on libopenal1 (>= 1.14); however:
Package libopenal1:i386 is not installed.
panda3d1.9:i386 depends on libssl1.0.0 (>= 1.0.0); however:
Package libssl1.0.0:i386 is not installed.
panda3d1.9:i386 depends on libswresample-ffmpeg1 (>= 7:2.4); however:
panda3d1.9:i386 depends on libswscale-ffmpeg3 (>= 7:2.4); how
dpkg: error processing package panda3d1.9:i386 (--install):
dependency problems - leaving unconfigured
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for shared-mime-info (1.5-2ubuntu0.2) ...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
Processing triggers for desktop-file-utils (0.22-1ubuntu5.2) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20180209-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...

Errors were encountered while processing:
 panda3d1.9:i386

Following the recommendation on this thread, I ran sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 87828F5B 80AD5260 49F9BF71, then sudo apt-get update and got this:

W: GPG error: http://archive.panda3d.org/ubuntu xenial InRelease: The following signatures couldn't 
be verified because the public key is not available: NO_PUBKEY BFC01641E375BC9D
W: The repository 'http://archive.panda3d.org/ubuntu xenial InRelease' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Running sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E375BC9D solved that (following this thread).

So, next I’m trying sudo apt-get install panda3d1.9 but I get the same ‘unmet dependencies’ error I’ve been getting with dpkg.

This is very odd, as it claims it is trying to install the 32-bit version.

I’ll look into it later, although you could try installing a development build of Panda3D instead:
https://www.panda3d.org/download.php?platform=xenial&version=devel&sdk

Ah, I dug up this alternative link for 64-bit xenial 1.9.4, if you prefer not to have a development build:
https://archive.panda3d.org/ubuntu/pool/main/p/panda3d1.9/panda3d1.9_1.9.4+post3~xenial_amd64.deb

Indeed, it seems that the xenial download tagged “amd64” was actually the 32-bit build, due to an unfortunate mix-up. I have just corrected it by replacing the file on the download page with the one in the link I just gave you.

Thanks for bringing this to light! If you are still getting errors with the new .deb, please post the errors you are getting now, even if they look similar to the ones you got before.

Thanks a lot @rdb!
I installed the file in that new link and got this:

user@Computer:~/Downloads/Installer$ sudo dpkg -i panda3d1.9_1.9.4+post3_xenial_amd64.deb
(Reading database ... 372247 files and directories currently installed.)
Preparing to unpack panda3d1.9_1.9.4+post3_xenial_amd64.deb ...
Unpacking panda3d1.9 (1.9.4+post3~xenial) over (1.9.4+post3~xenial) ...
running ldconfig
dpkg: dependency problems prevent configuration of panda3d1.9:
 panda3d1.9 depends on libcg (>= 3.0.0007); however:
  Package libcg is not installed.
 panda3d1.9 depends on libcggl (>= 3.1.0010); however:
  Package libcggl is not installed.
 panda3d1.9 depends on libode4; however:
  Package libode4 is not installed.
 panda3d1.9 depends on nvidia-cg-toolkit; however:
  Package nvidia-cg-toolkit is not installed.

dpkg: error processing package panda3d1.9 (--install):
 dependency problems - leaving unconfigured
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for shared-mime-info (1.5-2ubuntu0.2) ...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
Processing triggers for desktop-file-utils (0.22-1ubuntu5.2) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20180209-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...

Errors were encountered while processing:
 panda3d1.9

So I tried installing via the Ubuntu Software Center. It told me it couldn’t install the package because the current installation (I assume this referred to the dpkg installation) was broken and asked to repair the problems. I accepted and it seems everything is fine now.
When I tested the dpkg installation again, there were no errors.

user@Computer:~/Downloads/Installer$ sudo dpkg -i panda3d1.9_1.9.4+post3_xenial_amd64.deb
(Reading database ... 372285 files and directories currently installed.)
Preparing to unpack panda3d1.9_1.9.4+post3_xenial_amd64.deb ...
Unpacking panda3d1.9 (1.9.4+post3~xenial) over (1.9.4+post3~xenial) ...
running ldconfig
Setting up panda3d1.9 (1.9.4+post3~xenial) ...
running ldconfig
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for shared-mime-info (1.5-2ubuntu0.2) ...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
Processing triggers for desktop-file-utils (0.22-1ubuntu5.2) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20180209-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...

There’s a slight issue.
I’m trying to run one of the sample programs, ball in a maze, but get this ModuleNotFoundError:

user@Computer:/usr/share/panda3d/samples/ball-in-maze$ python main.py
Traceback (most recent call last):
  File "main.py", line 12, in <module>
    from direct.showbase.ShowBase import ShowBase
ModuleNotFoundError: No module named 'direct'

user@Computer:/usr/share/panda3d/samples/ball-in-maze$ python3 main.py
Traceback (most recent call last):
File "main.py", line 12, in <module>
from direct.showbase.ShowBase import ShowBase
ModuleNotFoundError: No module named 'direct'

There’s a panda3d.pth in /usr/lib/python2.7/dist-packages.
I have Python 2.7 and 3.5 on my system, along with 3.6 (from anaconda). 2.7 is the default version.

The .deb packages are built for the default Python version on the system, which is 2.7.

If you wish to install Panda3D into any of your custom Python 3 installations, you should install Panda3D using pip, eg. python3 -m pip install panda3d.

It doesn’t run with Python 2. I get the same ModuleNotFoundError. That’s why I tried Python 3. I thought it’d work with that instead, so thanks for the clarification.

Ah, thanks. I had a little mixup with pyenv. It runs fine now. :smiley::pray::pray: