packp3d_dev and pdeploy_dev

In attempting to solve the issue described in this post (in short, Bullet lacking a method in the installed version that is present in the development version of my game), I built my game using packp3d_dev and pdeploy_dev, as downloaded from runtime-dev.panda3d.org/.

Unfortunately, the result doesn’t seem to run after installing–or rather, it runs, but never opens a window and never ends (as far as I’ve waited, at least), with me eventually killing it via Task Manager.

Looking at the resultant log file, the following four entries caught my eye:

Couldn't find package panda3d.cmu_1.9 in contents file.
Couldn't find package morepy.cmu_1.9 in contents file.
Couldn't find package openal.cmu_1.9 in contents file.
Couldn't find package bullet.cmu_1.9 in contents file.

(All four are, I believe, indicated in my packp3d command as being required.)

(I have the full log available to post if called for, I believe; it’s pretty short.)

Looking at the output of pdeploy_dev, I did notice these lines:

:PackageInfo(warning): per_platform disagreement on package panda3d
:PackageInfo(warning): per_platform disagreement on package morepy

...

:PackageInfo(warning): per_platform disagreement on package images

So: is there anything that I might do to fix this? :confused:

Complete logs would be nice. Also which platform you are on.

Oh, right, sorry! I’m building on Linux, specifically Ubuntu 13.10, I believe.

Fair enough-- they follow here:

The program’s log file:

_root_dir = C:\Users\user\AppData\Local/Panda3D, _temp_directory = C:\Users\user\AppData\Local\Temp\, platform = win32, host_url = https://runtime-dev.panda3d.org/, verify_contents = 3
_host_dir = C:\Program Files (x86)\LevelPrototype
api_version = 16
Creating P3DInstance 002F1868:  host_dir="." verify_contents="never" log_basename="LevelPrototype" console_output="0" auto_start="1"
setting background to download, splash_window = 00000000
No longer current: images
read contents.xml, max_age = 5, expires in 0 s
report_package_info_ready: images
Done installing images: success = 1
p3d_basename = C:\Program Files (x86)\LevelPrototype\LevelPrototype.exe
send_notify(onpluginload)
p3d trusted
_matches_run_origin = 1
_matches_script_origin = 0
_auto_install = 1, _auto_start = 1, _stop_on_ready = 0
send_notify(onauth)
Couldn't find package panda3d.cmu_1.9 in contents file.
Couldn't find package morepy.cmu_1.9 in contents file.
Couldn't find package openal.cmu_1.9 in contents file.
Couldn't find package bullet.cmu_1.9 in contents file.
set_wparams: 1 640 480
image_filename = C:\Program Files (x86)\LevelPrototype/images/download.png, thread_id = 5856
notify: onpluginload 
notify: onauth 
Created splash window 00010502
Loaded image: C:\Program Files (x86)\LevelPrototype/images/download.png

The pdeploy command-line:

panda3d pdeploy_dev.p3d -P win32 -a ianEborn -A "Ian Eborn" -s -N "LevelPrototype" -v 1 LevelPrototype.p3d installer

The result of running pdeploy:
(This isn’t from the original run, which I alas didn’t think to keep; I’ve run the process again in order to produce this log.)

:PackageInfo(warning): per_platform disagreement on package panda3d
:PackageInfo(warning): per_platform disagreement on package morepy
:AppRunner: Total Panda3D disk space used: 405 MB
:AppRunner: Configured max usage is: 2048 MB

Provided short name should be lowercase, and may not contain spaces!

:HostInfo: Downloading contents file [ https://runtime-dev.panda3d.org/contents.xml?1417181456 ]

:downloader: [0x2213e40] begin GET [ https://runtime-dev.panda3d.org/contents.xml?1417181456 ]
:HostInfo(warning): Successfully downloaded https://runtime-dev.panda3d.org/contents.xml?1417181456
Using author "Ian Eborn" <ian@ian-Satellite-Pro-A300> with ID ianEborn
:Installer: Creating ./win32/LevelPrototype 1.exe...
:PackageInfo: p3dembed downloading http://runtime-dev.panda3d.org/p3dembed/win32/p3dembed.win32.xml
:downloader: [0x221cd30] begin GET [ http://runtime-dev.panda3d.org/p3dembed/win32/p3dembed.win32.xml ]
:PackageInfo: p3dembed downloading http://runtime-dev.panda3d.org/p3dembed/win32/p3dembed.win32.mf.1.pz
:downloader: [0x221cd30] begin GET [ http://runtime-dev.panda3d.org/p3dembed/win32/p3dembed.win32.mf.1.pz ]
:PackageInfo: Uncompressing /tmp/LevelUEyDbj/p3dembed/win32/p3dembed.win32.mf.1.pz to /tmp/LevelUEyDbj/p3dembed/win32/p3dembed.win32.mf
:PackageInfo: Unpacking /tmp/LevelUEyDbj/p3dembed/win32/p3dembed.win32.mf
:Standalone: Creating /tmp/LevelPrototype.exe...
:HostInfo: Downloading contents file [ https://runtime-dev.panda3d.org/contents.xml?1417181502 ]

:downloader: [0x2458d90] begin GET [ https://runtime-dev.panda3d.org/contents.xml?1417181502 ]
:HostInfo(warning): Successfully downloaded https://runtime-dev.panda3d.org/contents.xml?1417181502
:PackageInfo: images downloading http://runtime-dev.panda3d.org/images/images.xml
:downloader: [0x24538d0] begin GET [ http://runtime-dev.panda3d.org/images/images.xml ]
:PackageInfo(warning): per_platform disagreement on package images
:PackageInfo: images downloading http://runtime-dev.panda3d.org/images/images.mf.1.pz
:downloader: [0x2459b90] begin GET [ http://runtime-dev.panda3d.org/images/images.mf.1.pz ]
:PackageInfo: Uncompressing /tmp/LeveluB9nSw/win32/images/images.mf.1.pz to /tmp/LeveluB9nSw/win32/images/images.mf
:PackageInfo: Unpacking /tmp/LeveluB9nSw/win32/images/images.mf
:PackageInfo: panda3d downloading http://runtime-dev.panda3d.org/panda3d/cmu_1.9/linux_amd64/panda3d.cmu_1.9.linux_amd64.xml
:downloader: [0x245d800] begin GET [ http://runtime-dev.panda3d.org/panda3d/cmu_1.9/linux_amd64/panda3d.cmu_1.9.linux_amd64.xml ]
:PackageInfo(warning): per_platform disagreement on package panda3d
:PackageInfo: panda3d downloading http://runtime-dev.panda3d.org/panda3d/cmu_1.9/linux_amd64/panda3d.cmu_1.9.linux_amd64.mf.1.pz
:downloader: [0x2221ac0] begin GET [ http://runtime-dev.panda3d.org/panda3d/cmu_1.9/linux_amd64/panda3d.cmu_1.9.linux_amd64.mf.1.pz ]
:PackageInfo: Uncompressing /tmp/LeveluB9nSw/win32/panda3d/cmu_1.9/panda3d.cmu_1.9.linux_amd64.mf.1.pz to /tmp/LeveluB9nSw/win32/panda3d/cmu_1.9/panda3d.cmu_1.9.linux_amd64.mf
:PackageInfo: Unpacking /tmp/LeveluB9nSw/win32/panda3d/cmu_1.9/panda3d.cmu_1.9.linux_amd64.mf
:PackageInfo: morepy downloading http://runtime-dev.panda3d.org/morepy/cmu_1.9/linux_amd64/morepy.cmu_1.9.linux_amd64.xml
:downloader: [0x25b2cb0] begin GET [ http://runtime-dev.panda3d.org/morepy/cmu_1.9/linux_amd64/morepy.cmu_1.9.linux_amd64.xml ]
:PackageInfo(warning): per_platform disagreement on package morepy
:PackageInfo: morepy downloading http://runtime-dev.panda3d.org/morepy/cmu_1.9/linux_amd64/morepy.cmu_1.9.linux_amd64.mf.1.pz
:downloader: [0x2220100] begin GET [ http://runtime-dev.panda3d.org/morepy/cmu_1.9/linux_amd64/morepy.cmu_1.9.linux_amd64.mf.1.pz ]
:PackageInfo: Uncompressing /tmp/LeveluB9nSw/win32/morepy/cmu_1.9/morepy.cmu_1.9.linux_amd64.mf.1.pz to /tmp/LeveluB9nSw/win32/morepy/cmu_1.9/morepy.cmu_1.9.linux_amd64.mf
:PackageInfo: Unpacking /tmp/LeveluB9nSw/win32/morepy/cmu_1.9/morepy.cmu_1.9.linux_amd64.mf
:PackageInfo: openal downloading http://runtime-dev.panda3d.org/openal/cmu_1.9/linux_amd64/openal.cmu_1.9.linux_amd64.xml
:downloader: [0x25b2cb0] begin GET [ http://runtime-dev.panda3d.org/openal/cmu_1.9/linux_amd64/openal.cmu_1.9.linux_amd64.xml ]
:PackageInfo(warning): per_platform disagreement on package openal
:PackageInfo: openal downloading http://runtime-dev.panda3d.org/openal/cmu_1.9/linux_amd64/openal.cmu_1.9.linux_amd64.mf.1.pz
:downloader: [0x220aa20] begin GET [ http://runtime-dev.panda3d.org/openal/cmu_1.9/linux_amd64/openal.cmu_1.9.linux_amd64.mf.1.pz ]
:PackageInfo: Uncompressing /tmp/LeveluB9nSw/win32/openal/cmu_1.9/openal.cmu_1.9.linux_amd64.mf.1.pz to /tmp/LeveluB9nSw/win32/openal/cmu_1.9/openal.cmu_1.9.linux_amd64.mf
:PackageInfo: Unpacking /tmp/LeveluB9nSw/win32/openal/cmu_1.9/openal.cmu_1.9.linux_amd64.mf
:PackageInfo: bullet downloading http://runtime-dev.panda3d.org/bullet/cmu_1.9/linux_amd64/bullet.cmu_1.9.linux_amd64.xml
:downloader: [0x25c3a70] begin GET [ http://runtime-dev.panda3d.org/bullet/cmu_1.9/linux_amd64/bullet.cmu_1.9.linux_amd64.xml ]
:PackageInfo(warning): per_platform disagreement on package bullet
:PackageInfo: bullet downloading http://runtime-dev.panda3d.org/bullet/cmu_1.9/linux_amd64/bullet.cmu_1.9.linux_amd64.mf.1.pz
:downloader: [0x21ce870] begin GET [ http://runtime-dev.panda3d.org/bullet/cmu_1.9/linux_amd64/bullet.cmu_1.9.linux_amd64.mf.1.pz ]
:PackageInfo: Uncompressing /tmp/LeveluB9nSw/win32/bullet/cmu_1.9/bullet.cmu_1.9.linux_amd64.mf.1.pz to /tmp/LeveluB9nSw/win32/bullet/cmu_1.9/bullet.cmu_1.9.linux_amd64.mf
:PackageInfo: Unpacking /tmp/LeveluB9nSw/win32/bullet/cmu_1.9/bullet.cmu_1.9.linux_amd64.mf
['/usr/bin/makensis', '-V2', '/tmp/LevelPrototype.nsi']
:AppRunner: Normal exit.

Let’s take pdeploy out of the equation here-- it gives the same error when you run the .p3d directly with panda3d?

Are you on i386 or amd64?

I believe that both my development and testing machines are running 64-bit OSes–Ubuntu in the former case, and Widnows 7 in the latter.

Hmm… In both cases, the game doesn’t even start up. (Beyond the runtime’s “loading” screen, at least.)

On my development machine, I don’t see an actual error on a skim through the (somewhat long) resultant log, although I could easily be missing it.

On the testing machine, I seem to be encountering download errors–but I do also note those same errors indicating that it couldn’t find the four packages listed above.

When running from a .p3d, it’s possible that the runtime is out of date on one or both of the machines–I don’t really use the runtime+p3d method of deploying games, preferring self-contained installers.

The log from the testing machine:
(The above-mentioned errors start about fifteen lines into the second paragraph, I believe.)


_root_dir = C:\Users\user\AppData\Local/Panda3D, _temp_directory = C:\Users\user\AppData\Local\Temp\, platform = win32, host_url = https://runtime.panda3d.org/, verify_contents = 0
api_version = 16
read contents.xml, max_age = 5, expires in 0 s
Plugin version: 1.0.4
Plugin distributor: cmu
Core API host URL: https://runtime.panda3d.org/
Core API version: 1.8.1
Core API date: Sun Apr 14 15:24:59 2013

Creating P3DInstance 002D3688:  console_output="0" auto_start="1"
setting background to download, splash_window = 00000000
All 8 extracts of images seem good.
report_package_info_ready: images
Done installing images: success = 1
p3d_basename = C:\Users\user\Desktop\LevelPrototype.p3d
send_notify(onpluginload)
p3d trusted
_matches_run_origin = 1
_matches_script_origin = 0
_auto_install = 1, _auto_start = 1, _stop_on_ready = 0
send_notify(onauth)
No longer current: panda3d
read contents.xml, max_age = 5, expires in 0 s
Couldn't find package panda3d.cmu_1.9 in contents file.
make_temp_filename: C:\Users\user\AppData\Local\Temp\p3d_94fb93.xml
Couldn't find package morepy.cmu_1.9 in contents file.
make_temp_filename: C:\Users\user\AppData\Local\Temp\p3d_e332b4.xml
Couldn't find package openal.cmu_1.9 in contents file.
make_temp_filename: C:\Users\user\AppData\Local\Temp\p3d_3f911f.xml
Couldn't find package bullet.cmu_1.9 in contents file.
make_temp_filename: C:\Users\user\AppData\Local\Temp\p3d_8dc840.xml
set_wparams: 1 640 480
image_filename = C:\Users\user\AppData\Local/Panda3D/hosts/runtime.panda3d.org_0f5faf88846080ae/images/download.png, thread_id = 6052
notify: onpluginload 
notify: onauth 
Created splash window 0009003C
Loaded image: C:\Users\user\AppData\Local/Panda3D/hosts/runtime.panda3d.org_0f5faf88846080ae/images/download.png
Downloading https://runtime-dev.panda3d.org/contents.xml?1417187808: 20.2%, 002C5E00
Downloading https://runtime-dev.panda3d.org/contents.xml?1417187808: 40.4%, 002FCD18
Downloading https://runtime-dev.panda3d.org/contents.xml?1417187808: 20.2%, 003113B8
Downloading https://runtime-dev.panda3d.org/contents.xml?1417187808: 20.2%, 003174F8
Downloaded https://runtime-dev.panda3d.org/contents.xml?1417187808: 100%, 002C5E00, success = 1
release_temp_filename: C:\Users\user\AppData\Local\Temp\p3d_e332b4.xml
Redownloading contents.xml didn't help.
Done installing morepy: success = 0
send_notify(ondownloadfail)
setting background to failed, splash_window = 002FCE78
image_filename = C:\Users\user\AppData\Local/Panda3D/hosts/runtime.panda3d.org_0f5faf88846080ae/images/failed.png, thread_id = 6052
P3DSplashWindow::set_visible(1)
Loaded image: C:\Users\user\AppData\Local/Panda3D/hosts/runtime.panda3d.org_0f5faf88846080ae/images/failed.png
send_notify(onfail)
notify: ondownloadfail 
Downloaded https://runtime-dev.panda3d.org/contents.xml?1417187808: 100%, 003113B8, success = 1
release_temp_filename: C:\Users\user\AppData\Local\Temp\p3d_3f911f.xml
Redownloading contents.xml didn't help.
Done installing openal: success = 0
send_notify(ondownloadfail)
notify: onfail 
notify: ondownloadfail 
Downloaded https://runtime-dev.panda3d.org/contents.xml?1417187808: 100%, 002FCD18, success = 1
release_temp_filename: C:\Users\user\AppData\Local\Temp\p3d_8dc840.xml
Redownloading contents.xml didn't help.
Done installing bullet: success = 0
send_notify(ondownloadfail)
Downloaded https://runtime-dev.panda3d.org/contents.xml?1417187808: 100%, 003174F8, success = 1
release_temp_filename: C:\Users\user\AppData\Local\Temp\p3d_94fb93.xml
Redownloading contents.xml didn't help.
Done installing panda3d: success = 0
send_notify(ondownloadfail)
notify: ondownloadfail 
notify: ondownloadfail 
notify: onpythonstop 
finish_instance: 002D3688
P3D_finalize called
counts: 5 1 1 1

The log from my development machine:


_root_dir = /home/ian/.panda3d, _temp_directory = /tmp/, platform = linux_amd64, host_url = https://runtime.panda3d.org/, verify_contents = 0
api_version = 16
read contents.xml, max_age = 5, expires in 0 s
Plugin version: 1.0.4
Plugin distributor: cmu
Core API host URL: https://runtime.panda3d.org/
Core API version: 1.8.1
Core API date: Sun Apr 14 00:59:55 2013

Creating P3DInstance 0x1038750:  console_output="1" auto_start="1"
setting background to download, splash_window = 0
All 8 extracts of images seem good.
report_package_info_ready: images
Done installing images: success = 1
p3d_basename = LevelPrototype.p3d
send_notify(onpluginload)
p3d trusted
_matches_run_origin = 1
_matches_script_origin = 0
_auto_install = 1, _auto_start = 1, _stop_on_ready = 0
send_notify(onauth)
No longer current: panda3d
read contents.xml, max_age = 5, expires in 0 s
All 75 extracts of panda3d seem good.
report_package_info_ready: panda3d
morepy: asked for seq 2, we have seq 2
All 32 extracts of morepy seem good.
report_package_info_ready: morepy
panda3d: asked for seq 1, we have seq 2
openal: asked for seq 2, we have seq 2
All 3 extracts of openal seem good.
report_package_info_ready: openal
panda3d: asked for seq 1, we have seq 2
bullet: asked for seq 2, we have seq 2
All 1 extracts of bullet seem good.
report_package_info_ready: bullet
panda3d: asked for seq 1, we have seq 2
Beginning install of 0 packages, total 0 bytes required (34088830 previously downloaded).
send_notify(ondownloadbegin)
send_notify(ondownloadcomplete)
set_wparams: 1 640 480
image_filename = /home/ian/.panda3d/hosts/runtime.panda3d.org_0f5faf88846080ae/images/download.png
send_notify(onready)
setting background to launch, splash_window = 0xff51f0
image_filename = /home/ian/.panda3d/hosts/runtime.panda3d.org_0f5faf88846080ae/images/download.png
Search path is /home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/bullet/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/openal/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/morepy/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/panda3d/cmu_1.9
_p3dpython_exe: /home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/panda3d/cmu_1.9/p3dpython
Setting environment:
  HOME=/home/ian
  USER=ian
  DISPLAY=:0.0
  XAUTHORITY=/home/ian/.Xauthority
  PATH=/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/bullet/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/openal/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/morepy/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/panda3d/cmu_1.9:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
  LD_LIBRARY_PATH=/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/bullet/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/openal/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/morepy/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/panda3d/cmu_1.9
  DYLD_LIBRARY_PATH=/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/bullet/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/openal/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/morepy/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/panda3d/cmu_1.9
  PYTHONPATH=/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/bullet/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/openal/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/morepy/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/panda3d/cmu_1.9
  PYTHONHOME=
  PRC_PATH=/home/ian/.panda3d/prc:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/bullet/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/openal/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/morepy/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/panda3d/cmu_1.9
  PANDA_PRC_PATH=/home/ian/.panda3d/prc:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/bullet/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/openal/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/morepy/cmu_1.9:/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/panda3d/cmu_1.9
  TEMP=/tmp/
  PANDA3D_ROOT=/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/panda3d/cmu_1.9
  MOREPY_ROOT=/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/morepy/cmu_1.9
  OPENAL_ROOT=/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/openal/cmu_1.9
  BULLET_ROOT=/home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/bullet/cmu_1.9
Attempting to start python from /home/ian/.panda3d/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/panda3d/cmu_1.9/p3dpython
Setting working directory: /home/ian/.panda3d/start
child still alive after 101 ms
notify: onpluginload 
notify: onauth 
notify: ondownloadbegin 
notify: ondownloadcomplete 
notify: onready 
application shares main object
notify: onpythonload 
notify: onpythonstop 
finish_instance: 0x1038750
Assigning 0x1038750->log_pathname = 
Python process has successfully stopped.
  signalled by 11, core = 128
Successfully joined thread: 0
Splash window process has successfully stopped.
  exited normally, status = 0
Successfully joined thread: 0
P3D_finalize called
counts: 4 1 1 1

bump Any further ideas? Is it worth updating my source version (presumably from the new GIT repository) and recompiling my version of Panda, or is this more likely an issue on the runtime side?

Otherwise, do we know when 1.9 is likely to be released? Using a stable release, both in terms of SDK and runtime, seems likely to help significantly, and I imagine that 1.9 has the updates to the Bullet integration that I’m using, and which prevent me from using 1.8.

Sorry, I haven’t forgotten about this, but I’ve been ill for the past few days. I don’t know exactly what’s wrong here, but I suspect it may have something to do with the fact that we use win_i386 as platform identifier (rather than win32) nowadays. It seems that your log file doesn’t agree with that yet, since it includes “platform = win32”.

Ah–first of all, I hope that you get well soon, rdb; I’m sorry to read that you’re ill. :confused:

As to the problem, that sounds like something worth trying (I have indeed been passing “-P win32” to pdeploy_dev, I believe), whether before or after a repository update (which I haven’t gotten around to attempting yet)–thank you! I’ll hopefully report back once I’ve given it a shot. :slight_smile: (I’ve gotten myself involved in fighting with a new shader, so it may end up waiting until I either succeed, give up, or decide to take a break… ^^; )

Thanks for the good wishes. sniffle

A repository update won’t do too much good; packp3d and the runtime work completely independently from whatever SDK you happen to have installed.

The -P win32 flag to pdeploy probably doesn’t really have much to do with it given that you get the same problem when just running directly via the Panda3D runtime. What you might try is configuring it to masquerade as a different platform (try panda3d -h to find out how), or even manually editing the locally cached version of contents.xml to replace the platform strings to win32 manually (though I’m not sure that the runtime won’t just try to overwrite contents.xml with a fresh version each time).

Ah, fair enough, and good point.

Okay, I’ve experimented a little with the masquerading that you suggested, still to little avail. However, there may be complications.

I updated the runtime on my development machine to a dev. version from the download page (the Ubuntu Saucy version, since that’s what I’m running on), I believe (and which I should have done previously–it was silly of me to not think of it); I’m hesitant to do so on the testing machine. However, in trying this I seem to have a faint memory that the runtime has never really liked this machine, so I’m not entirely sure of how useful the results are…

I haven’t tried messing with contents.xml yet.

Running “panda3d -p win_i386 LevelPrototype.p3d” in a terminal, I get the following:

:downloader: [0x261faa0] begin GET [ http://runtime-dev.panda3d.org/coreapi/win_i386/p3d_plugin.dll ]
Couldn't load /home/ian/.panda3d/coreapi/win_i386/p3d_plugin.dll: /home/ian/.panda3d/coreapi/win_i386/p3d_plugin.dll: invalid ELF header
Unable to launch core API in /home/ian/.panda3d/coreapi/win_i386/p3d_plugin.dll
Unable to load Panda3D plugin.

For comparison, the output of running just “panda3d LevelPrototype.p3d”:

:downloader: [0x1eeb4a0] begin GET [ https://runtime-dev.panda3d.org/images/images.xml ]
:downloader: [0x1ef0310] begin GET [ https://runtime-dev.panda3d.org/contents.xml?1417782815 ]
:downloader: [0x1ef2e10] begin GET [ https://runtime-dev.panda3d.org/contents.xml?1417782815 ]
:downloader: [0x1ef5890] begin GET [ https://runtime-dev.panda3d.org/contents.xml?1417782815 ]
:downloader: [0x1ef8600] begin GET [ https://runtime-dev.panda3d.org/contents.xml?1417782815 ]
:downloader: [0x1eeb4a0] begin GET [ https://runtime-dev.panda3d.org/contents.xml?1417782821 ]
:PackageInfo(warning): per_platform disagreement on package panda3d
:PackageInfo(warning): per_platform disagreement on package morepy
:PackageInfo(warning): per_platform disagreement on package openal
:PackageInfo(warning): per_platform disagreement on package bullet
:AppRunner: Total Panda3D disk space used: 412 MB
:AppRunner: Configured max usage is: 2048 MB
:util: Reading /home/ian/.panda3d/start/Adventuring/game.prc
DirectStart: Starting the game.
Known pipe types:
  glxGraphicsPipe
(1 aux display modules not yet loaded.)
libGL error: failed to load driver: r600
libGL error: Try again with LIBGL_DEBUG=verbose for more details.
libGL error: failed to load driver: swrast
libGL error: Try again with LIBGL_DEBUG=verbose for more details.

(That error near the end–“failed to load driver: r600” seems familiar to me, but I honestly don’t remember whether it prevented the program from running before. :confused: )

That’s just it telling you that it can’t load .dll files on Linux, since you told it that you are on Windows when you are really not. You can’t run Windows executables on Linux, at least not natively.

The libGL error means that you don’t have graphics drivers installed, at least not properly. It probably means you won’t get hardware acceleration.

Ah, fair enough–since I was simply running a .p3d through the Panda runtime, I didn’t expect that to be a problem, even when telling Panda to masquerade as another platform.

I’ll admit that I do have some driver issues on this machine–but the program runs happily (complete with shaders) from the IDE, albeit with poorer performance than I might like, and I’m reasonably confident that I get hardware acceleration in non-Panda applications. This issue seems to only pop up when attempting to run a .p3d (although I don’t think that I’ve tried a self-contained version on this machine’s Ubuntu installation, that I recall).

So, where does this leave us with regards to generating a working build? I’ll confess that I’m really not sure of what to try next (although I’m feeling rather tired at the moment, and may be missing something).

I do think that I should be building with the dev. versions of packp3d and pdeploy (at least until 1.9 is released), so that I have access to those Bullet functions that 1.8 lacks. The trick then, I suppose, is to figure out what’s causing it to fail to find those four packages–panda3d itself, morepy, openal and bullet…

Panda3D Runtime uses this string to figure out which version of the Panda3D libraries to download and run. If you specify win32, it will download the Windows DLLs and try to run those.

Are you sure you don’t get that when you run something like glxgears on the command-line?

I do admit I don’t have a good overview of all the different issues that are going on here. What happens when you do everything on Linux in the first place? Does it work then? Can you give me a log file of when it goes wrong on Linux (without platform masquerading, of course)?

Ah, yes, I can see where it might have a problem there! ^^;

I’ve just tried glxgears, and I saw nothing like it. (Looking at the command line, at least–if there’s a log file that I should be looking at then please direct me to it!)

I presume that you mean generating a .p3d and then running that through the Linux runtime (since we’ve been attempting to remove pdeploy from the scenario)? If so, then that should be the output that I listed in the second code-block a few posts above, with the driver error.

I doubt that said driver error is the problem, however–I think that I’ve had that for ages when attempting to run my p3ds in Linux, whether using the 1.8 or dev runtime.

Thinking about it further, I think that we’re mistaken in removing pdeploy from consideration:
Not too long ago I built a game using this version of Panda and generated a Windows installer using the 1.8 version of pdeploy, and–since it didn’t use the Bullet features that I’m using in this project–it worked as expected. (It didn’t come out as well as I had hoped, but that’s not related to Panda or the build process, I do believe! XD; ) Indeed, I seem to recall that a Windows-installer version of this project did run briefly on a Windows 7 machine, up until I attempted to leave the menu and enter a level, and so attempted to use Bullet and the more recent features not present in 1.8. Hence it does seem likely that the problem lies with either the dev. version of pdeploy or the libraries, etc. that it downloads…

Okay. Does it matter whether you run pdeploy with -s or not?

Also, perhaps Panda3D having the driver error might be the result of an environment issue - could you give me the output of “env” run in a console in which glxgears does work?

Argh, leaving my post sitting too long before posting it resulted in it being eaten by the system after it automatically logged me off–on one of the few occasions on which I didn’t copy the text against something like that happening, it seems. >_<

The following may be a slightly terser version of the original, and may contain more errors as a result of not wanting to re-check myself, I’m afraid. ^^;

I tried two builds, both without “-s” (since I believe that I’ve been building with it), one using “-P win32” and one using “-P win_i386”. I thought for a moment that I had it with the latter: it opened the Panda loading screen, and downloaded Panda, Python, OpenAL and Bullet; that disappeared, and then… nothing. A few more runs indicated that it seemed to be closing almost immediately, leaving a brief log file.

The log file for the “win_i386” version follows. For some reason it starts with a long sequence of what seems to be the character “\00”; the following is the text that follows after that string.

Setting working directory: C:\Users\user\AppData\Local\Panda3D\start
Command line: "C:\Users\user\AppData\Local\Panda3D\hosts\runtime-dev.panda3d.org_6c875ad6f852d272\panda3d\cmu_1.9\p3dpythonw.exe" "C:\Users\user\AppData\Local/Panda3D/hosts/runtime-dev.panda3d.org_6c875ad6f852d272/panda3d/cmu_1.9/panda3d.cmu_1.9.win_i386.mf" "000000EC" "000000F8" "0"
notify: onpluginload 
notify: onauth 
notify: ondownloadbegin 
notify: ondownloadcomplete 
notify: onready 
notify: onpythonstop 
finish_instance: 002A1508
Assigning 002A1508->log_pathname = C:\Users\user\AppData\Local/Panda3D/log/LevelPrototype.log

The win32 version doesn’t even get that far; the log file looks as though it may be similar to the one that I posted previously after my attempt to run the .p3d file on the testing machine, but I can post it here if you think that it might help.

XDG_VTNR=7
SSH_AGENT_PID=1805
XDG_SESSION_ID=c2
GPG_AGENT_INFO=/run/user/1000/keyring-XAzwkV/gpg:0:1
TERM=xterm
SHELL=/bin/bash
VTE_VERSION=3406
CLUTTER_DISABLE_XINPUT=1
GJS_DEBUG_OUTPUT=stderr
WINDOWID=50331655
GNOME_KEYRING_CONTROL=/run/user/1000/keyring-XAzwkV
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
GTK_MODULES=overlay-scrollbar
USER=ian
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
SSH_AUTH_SOCK=/run/user/1000/keyring-XAzwkV/ssh
DEFAULTS_PATH=/usr/share/gconf/cinnamon.default.path
SESSION_MANAGER=local/ian-Satellite-Pro-A300:@/tmp/.ICE-unix/1760,unix/ian-Satellite-Pro-A300:/tmp/.ICE-unix/1760
XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg
PATH=/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
DESKTOP_SESSION=cinnamon
PWD=/home/ian
GNOME_KEYRING_PID=1758
LANG=en_ZA.UTF-8
GDM_LANG=en_US
MANDATORY_PATH=/usr/share/gconf/cinnamon.mandatory.path
GDMSESSION=cinnamon
CINNAMON_VERSION=2.0.14
SHLVL=1
XDG_SEAT=seat0
HOME=/home/ian
LANGUAGE=en_ZA:en
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LOGNAME=ian
XDG_DATA_DIRS=/usr/share/cinnamon:/usr/share/gnome:/usr/local/share/:/usr/share/
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-nyxOo7mmEk,guid=842186b1e84c313552a9434a5485d32d
LESSOPEN=| /usr/bin/lesspipe %s
TEXTDOMAIN=im-config
XDG_RUNTIME_DIR=/run/user/1000
DISPLAY=:0
XDG_CURRENT_DESKTOP=GNOME
LESSCLOSE=/usr/bin/lesspipe %s %s
TEXTDOMAINDIR=/usr/share/locale/
COLORTERM=gnome-terminal
XAUTHORITY=/home/ian/.Xauthority
_=/usr/bin/env

I just tried a build using pdeploy with both the “-s” and “installer” flags, and using “-P win_i386”, and have a few observations that may or may not be relevant.

First, it still doesn’t work. :stuck_out_tongue:

Second, I took a look at the CVS version of PackageInfo.py; it doesn’t look like anything terribly serious, together with point 3-2 below, this may be a part of our problem. (As my version of Panda isn’t likely up-to-date, the code that I looked at may not be accurate to what’s being done by the version of pdeploy that I’m using, but it seemed worth a look anyway.)

Third, in the log file produced on running the program, I noticed this line:

Couldn't read C:\Program Files (x86)\LevelPrototype/panda3d/cmu_1.9/win_i386/panda3d.cmu_1.9.win_i386.xml

Two things strike me about this:

  1. There’s a mix of forward- and back- slashes–is that likely to work?

  2. I checked, and it’s right; specifically, while “C:\Program Files (x86)\LevelPrototype\panda3d\cmu_1.9” exists, it has no sub-folders, named “win_i386” or otherwise. The file “panda3d.cmu_1.9.win_i386.xml” does exist in the “cmu_1.9” folder, but of course isn’t being found since a non-existent sub-folder is expected.

Come to think of it, could this be related to the “per-package mis-match” mentioned above? Is it expecting that because of a setting that is set one way in one place, and another somewhere else? From what I see, “per-platform” is the expected default; if so, why is it being missed somewhere, and why is the “win_i386” folder not being created and populated?

  1. This may be related to a line just previous to that, which states: ‘Migrating panda3d from platform “” to platform “win_i386”’.

Having failed to find that file, it seems to give up.

The full log, in case it’s useful:


_root_dir = C:\Users\user\AppData\Local/Panda3D, _temp_directory = C:\Users\user\AppData\Local\Temp\, platform = win_i386, host_url = https://runtime-dev.panda3d.org/, verify_contents = 3
_host_dir = C:\Program Files (x86)\LevelPrototype
api_version = 16
Supported platforms: win_amd64 win_i386 win32
Creating P3DInstance 02471D08:  host_dir="." verify_contents="never" log_basename="LevelPrototype" console_output="0" auto_start="1"
setting background to download, splash_window = 00000000
No longer current: images
read contents.xml, max_age = 5, expires in 0 s
_per_platform for images = 1
report_package_info_ready: images
Done installing images: success = 1
p3d_basename = C:\Program Files (x86)\LevelPrototype\LevelPrototype.exe
send_notify(onpluginload)
p3d trusted
_matches_run_origin = 1
_matches_script_origin = 0
_auto_install = 1, _auto_start = 1, _stop_on_ready = 0
send_notify(onauth)
Migrating panda3d from platform "" to platform "win_i386"
_per_platform for panda3d = 1
Couldn't read C:\Program Files (x86)\LevelPrototype/panda3d/cmu_1.9/win_i386/panda3d.cmu_1.9.win_i386.xml
Done installing panda3d: success = 0
send_notify(ondownloadfail)
setting background to failed, splash_window = 00000000
send_notify(onfail)
set_wparams: 1 640 480
image_filename = C:\Program Files (x86)\LevelPrototype/images/failed.png, thread_id = 792
notify: onpluginload 
notify: onauth 
notify: ondownloadfail 
notify: onfail 

We don’t use CVS any more, it’s no longer being updated. The code is now being hosted at GitHub:
github.com/panda3d/panda3d

The win_i386 directory isn’t supposed to be created, since perPlatform = False in the pdeploy case. I’m guessing that this change from David might have something to do with it, which was not picked up for 1.8 at the time:
github.com/panda3d/panda3d/comm … 57be38d8ac

An issue with the perPlatform configuration is also suggested by the error messages you were getting earlier:

:PackageInfo(warning): per_platform disagreement on package panda3d
:PackageInfo(warning): per_platform disagreement on package morepy
:PackageInfo(warning): per_platform disagreement on package openal
:PackageInfo(warning): per_platform disagreement on package bullet

More investigation is needed. This is a very busy week for me, though, having a bit of a backlog, and I have to leave the country soon for a meeting, so I may not be able to look into it in the near term, sorry.

I know; I just happen to not have bothered to update in a while, even before the switch. I might try the GitHub version at some stage, but since you pointed out that this issue doesn’t likely sit on that side of things, being more likely related to the runtime, I’m more inclined to leave it, especially if 1.9 is due to come out soon. I was simply pointing out that my investigation had the flaw that I might have been looking at old code.

Hmm…

Looking at my version of PackageInfo.py, I note that “includePlatform”–which seems to indicate that a platform folder should be created–is set to True in all but the final “else” case, which has the following comment:

# Otherwise, we must be running legacy code
# somewhere--either an old package or an old
# plugin--and we therefore shouldn't include the
# platform in the directory hierarchy.

As I read it, this seems to imply an expectation that platform folders are always to be used, save in legacy cases…

Ah, fair enough. I’m sorry to read that you’re so busy; I appreciate that you’ve given this some of your time.

If you do find time at some stage to attend to this, please let me know of any developments via this thread–since installer-based self-contained builds are my preferred means of distribution, this problem is an issue for me.

However, for now I think that I’ll have a shot at creating a web-build–it’s not my favourite approach, but I could use feedback on this prototype, and it should hopefully work for that.

[edit] Nope, the web-build doesn’t seem to work for me. Under Windows 7 Firefox doesn’t seem to be detecting the plugin, while under Ubuntu 14.10 the plugin seems to load the game, but shows only a grey screen. The logs don’t seem to show an error, but they’re long and I’m tired, not to mention simply unfamiliar with working with web-based programs, so I could well be missing something. :confused:

There is no fundamental difference between running a .p3d in the web browser and running it with panda3d.exe.

Anyway, I just made some time to make a test case and run it, and cannot reproduce the issue. Looking back at your logs with a non-diseased mind, I’m starting to get the impression that there’s not something wrong with the runtime, but that the cryptic warning messages were red herrings and that the issue actually has to do with the application itself. In fact, most of the logs indicate success.

I’d very much like to take a look at the source code of your main.py and/or your .p3d file.