How to build installer using deploy-ng?

Hi,

I’m on a 64 bit windows 8 but I’m using 32 bit command prompt and 32 bit python.exe. Anyhow, I downloaded 32 bit python 2.7.13 from python.org, and used pip to install panda3d 1.9.4 from the .whl file:

python.exe -m pip install --extra-index-url=https://archive.panda3d.org/branches/deploy-ng panda3d

Now, I have multiple pythons installed from various versions of panda3d, but in my PATH variable, the path to python.org stuff is before paths to other panda3d ppython.exe.

Anyhow, after that I downloded the example setup.py file from http://www.panda3d.org/manual/index.php/Using_Setuptools

and put it in the root of the asteroid sample program in

C:\Panda3D-1.9.4\samples\asteroids\

which is from an installation produced by the downloaded binary .exe installer which I had done way before any of this.

Anyhow, that sample program runs just fine if I do

python main.py

But when I try to run

python setup.py bdist_apps

I get the error

usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help

error: invalid command 'bdist_apps'

What does

python.exe -m pip list

list as the version for panda3d?

panda3d (1.9.4)

EDIT:

Oh ok, so I probably just installed the regular panda3d. I’m manually downloading the +deploy-ng .whl now. I’ll see if that works. To do that I went to http://archive.panda3d.org/branches/deploy-ng/panda3d/, downloaded the right whl, and then pip installed that.

Continuation of this effort is here: [url]Building a frozen panda module with Deploy-ng/Setuptools]

I have solved the above problem by hacking the direct/showutil/dist.py code.

In the copy_with_dependencies method, and the add_dependency method, it was initially looking for subpaths of .whl files in the form of

if '.whl/' in source_path: 

So I changed it to also account for

'.whl\\'

.

I have also switched to building a 64 bit app instead, since when I build 32 bit app, a few dependencies such as panda3d.core.pyd don’t show up. In the meantime I have switched to 64 bit python.exe

Note that I am using a bash emulator on a 64 bit windows system:

When I run

 ./asteroid.exe

I get the error

Traceback (most recent call last):
  File "main.py", line 24, in <module>
  File "C:\Python27\lib\site-packages\direct\showbase\ShowBase.py", line 12, in <module>
    from panda3d.core import *
  File "panda3d.core", line 1, in <module>
ImportError: DLL load failed: %1 is not a valid Win32 application.

The contents of my build/win_amd64/ is

$ ls -lhs
total 16M
1.5M -rwxr-xr-x 1 user 197609 1.5M Jun 29 11:13 _hashlib.pyd*
4.0K drwxr-xr-x 1 user 197609    0 Jun 29 11:13 asteroids.egg-info/
1.6M -rwxr-xr-x 1 user 197609 1.6M Jun 29 11:13 asteroids.exe*
   0 drwxr-xr-x 1 user 197609    0 Jun 29 11:13 dist/
1.0K -rw-r--r-- 1 user 197609  310 Jun 29 11:35 err.txt
   0 drwxr-xr-x 1 user 197609    0 Jun 29 11:13 etc/
268K -rwxr-xr-x 1 user 197609 266K Jun 28 19:36 libp3direct.dll*
184K -rwxr-xr-x 1 user 197609 182K Jun 28 19:36 libp3interrogatedb.dll*
572K -rwxr-xr-x 1 user 197609 572K Jun 29 11:13 libpandagl.dll*
1.0K -rw-r--r-- 1 user 197609   86 Jun 29 11:09 ManualPage.url
   0 drwxr-xr-x 1 user 197609    0 Jun 29 11:13 models/
 12M -rwxr-xr-x 1 user 197609  12M Jun 28 19:36 panda3d.core.pyd*
772K -rwxr-xr-x 1 user 197609 769K Jun 28 19:36 panda3d.direct.pyd*
 12K -rwxr-xr-x 1 user 197609  12K Dec 17  2016 select.pyd*
4.0K drwxr-xr-x 1 user 197609    0 Jun 29 11:13 textures/

Calling file type gives:

$ file *.exe *.pyd *.dll
asteroids.exe:          PE32+ executable (GUI) x86-64, for MS Windows
_hashlib.pyd:           PE32+ executable (DLL) (GUI) x86-64, for MS Windows
panda3d.core.pyd:       PE32+ executable (DLL) (console) x86-64, for MS Windows
panda3d.direct.pyd:     PE32+ executable (DLL) (console) x86-64, for MS Windows
select.pyd:             PE32+ executable (DLL) (GUI) x86-64, for MS Windows
libp3direct.dll:        PE32+ executable (DLL) (console) x86-64, for MS Windows
libp3interrogatedb.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows
libpandagl.dll:         PE32+ executable (DLL) (console) x86-64, for MS Windows

I have been able to successfully run win_amd64 build of questforfire game posted here: Testing deploy-ng

But when I try to run the win32 build, I get the same error


ImportError: DLL load failed: %1 is not a valid Win32 application.

I have pushed a fix and kicked off new Python 2.7 and 3.6 deploy-ng builds. The path issues should be fixed, and I think the win32 issues are also fixed. Could you test out the new builds?

Thanks so much Moguri! I really appreciate this.

Ok, using a 32-bit python 2.7, I tried building for win32

During build I get this:

$ python setup.py build_apps
running build_apps
Building platforms: win32
creating C:\Panda3D-1.9.4\samples\asteroids\build\win32
Collecting panda3d==1.10.0.dev1146+deployng.104 (from -r ./requirements.txt (line 3))
  File was already downloaded c:\panda3d-1.9.4\samples\asteroids\build\__whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl
Successfully downloaded panda3d
warning: build_apps: could not find dependency KERNEL32.dll (referenced by libp3dtool.dll)

warning: build_apps: could not find dependency SHELL32.dll (referenced by libp3dtool.dll)

warning: build_apps: could not find dependency USER32.dll (referenced by libp3dtoolconfig.dll)

warning: build_apps: could not find dependency ADVAPI32.dll (referenced by libp3dtoolconfig.dll)

warning: build_apps: could not find dependency WSOCK32.dll (referenced by libpandaexpress.dll)

warning: build_apps: could not find dependency WS2_32.dll (referenced by libpandaexpress.dll)

warning: build_apps: could not find dependency WINMM.dll (referenced by libpanda.dll)

warning: build_apps: could not find dependency IPHLPAPI.DLL (referenced by libpanda.dll)

warning: build_apps: could not find dependency IMM32.dll (referenced by libp3windisplay.dll)

warning: build_apps: could not find dependency GDI32.dll (referenced by libp3windisplay.dll)

warning: build_apps: could not find dependency OPENGL32.dll (referenced by libpandagl.dll)

There are some missing modules: ['_hashlib', 'builtins', 'panda3d.core', 'panda3d.direct', 'resource', 'select']
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\libpandagl.dll -> win32\libpandagl.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\libp3windisplay.dll -> win32\libp3windisplay.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\libpanda.dll -> win32\libpanda.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\libpandaexpress.dll -> win32\libpandaexpress.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\libp3dtool.dll -> win32\libp3dtool.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\MSVCR100.dll -> win32\MSVCR100.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\MSVCP100.dll -> win32\MSVCP100.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\libp3dtoolconfig.dll -> win32\libp3dtoolconfig.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\cg.dll -> win32\cg.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\cgGL.dll -> win32\cgGL.dll
creating C:\Panda3D-1.9.4\samples\asteroids\build\win32\etc
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\etc\Confauto.prc -> win32\etc\Confauto.prc
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\etc\Config.prc -> win32\etc\Config.prc
skipping file .requirements.txt.swp
skipping file .setup.py.swp
skipping file build\win32\asteroids.exe
skipping file build\win32\cg.dll
skipping file build\win32\cgGL.dll
skipping file build\win32\etc\Confauto.prc
skipping file build\win32\etc\Config.prc
skipping file build\win32\libp3dtool.dll
skipping file build\win32\libp3dtoolconfig.dll
skipping file build\win32\libp3windisplay.dll
skipping file build\win32\libpanda.dll
skipping file build\win32\libpandaexpress.dll
skipping file build\win32\libpandagl.dll
skipping file build\win32\MSVCP100.dll
skipping file build\win32\MSVCR100.dll
skipping file build\__whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl
copying err.txt -> C:\Panda3D-1.9.4\samples\asteroids\build\win32
skipping file main.py
copying ManualPage.url -> C:\Panda3D-1.9.4\samples\asteroids\build\win32
creating C:\Panda3D-1.9.4\samples\asteroids\build\win32\models

Writing /c/Panda3D-1.9.4/samples/asteroids/build/win32/models/plane.bam
using script: egg2bam -o C:\Panda3D-1.9.4\samples\asteroids\build\win32\models\plane.bam models\plane.egg
skipping file requirements.txt
skipping file Run main.py.lnk
skipping file setup.py
creating C:\Panda3D-1.9.4\samples\asteroids\build\win32\textures
copying textures\asteroid1.png -> C:\Panda3D-1.9.4\samples\asteroids\build\win32\textures
copying textures\asteroid2.png -> C:\Panda3D-1.9.4\samples\asteroids\build\win32\textures
copying textures\asteroid3.png -> C:\Panda3D-1.9.4\samples\asteroids\build\win32\textures
copying textures\bullet.png -> C:\Panda3D-1.9.4\samples\asteroids\build\win32\textures
copying textures\ship.png -> C:\Panda3D-1.9.4\samples\asteroids\build\win32\textures
copying textures\stars.jpg -> C:\Panda3D-1.9.4\samples\asteroids\build\win32\textures

When I go into the build/win32 directory I see this

$ ls -lhs
total 25M
1.6M -rwxr-xr-x 1 user 197609 1.6M Jul  3 21:05 asteroids.exe*
8.2M -rwxr-xr-x 1 user 197609 8.2M Jul  3 21:05 cg.dll*
352K -rwxr-xr-x 1 user 197609 351K Jul  3 21:05 cgGL.dll*
1.0K -rw-r--r-- 1 user 197609  713 Jun 26 11:19 err.txt
   0 drwxr-xr-x 1 user 197609    0 Jul  3 21:05 etc/
288K -rwxr-xr-x 1 user 197609 286K Jul  3 21:05 libp3dtool.dll*
840K -rwxr-xr-x 1 user 197609 838K Jul  3 21:05 libp3dtoolconfig.dll*
104K -rwxr-xr-x 1 user 197609 102K Jul  3 21:05 libp3windisplay.dll*
9.5M -rwxr-xr-x 1 user 197609 9.5M Jul  3 21:05 libpanda.dll*
1.9M -rwxr-xr-x 1 user 197609 1.9M Jul  3 21:05 libpandaexpress.dll*
480K -rwxr-xr-x 1 user 197609 477K Jul  3 21:05 libpandagl.dll*
1.0K -rw-r--r-- 1 user 197609   86 Apr  3 19:57 ManualPage.url
   0 drwxr-xr-x 1 user 197609    0 Jul  3 21:05 models/
412K -rwxr-xr-x 1 user 197609 412K Jul  3 21:05 MSVCP100.dll*
756K -rwxr-xr-x 1 user 197609 756K Jul  3 21:05 MSVCR100.dll*
4.0K drwxr-xr-x 1 user 197609    0 Jul  3 21:05 textures/

When I run asteroid.exe I get

$ ./asteroids.exe
Traceback (most recent call last):
  File "main.py", line 26, in <module>
  File "C:\Python27\lib\site-packages\direct\showbase\ShowBase.py", line 12, in <module>
    from panda3d.core import *
ImportError: No module named core

Next, I use 64-bit python27 to build for both win32

During build:

creating C:\Panda3D-1.9.4\samples\asteroids\build\win32
Collecting panda3d==1.10.0.dev1146+deployng.104 (from -r ./requirements.txt (line 3))
  File was already downloaded c:\panda3d-1.9.4\samples\asteroids\build\__whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl
Successfully downloaded panda3d
There are some missing modules: ['_hashlib', 'panda3d.core', 'panda3d.direct', 'select']
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\libpandagl.dll -> win32\libpandagl.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\libp3windisplay.dll -> win32\libp3windisplay.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\libpanda.dll -> win32\libpanda.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\libpandaexpress.dll -> win32\libpandaexpress.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\libp3dtool.dll -> win32\libp3dtool.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\MSVCR100.dll -> win32\MSVCR100.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\MSVCP100.dll -> win32\MSVCP100.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\libp3dtoolconfig.dll -> win32\libp3dtoolconfig.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\cg.dll -> win32\cg.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\cgGL.dll -> win32\cgGL.dll
creating C:\Panda3D-1.9.4\samples\asteroids\build\win32\etc
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\etc\Confauto.prc -> win32\etc\Confauto.prc
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl\panda3d\etc\Config.prc -> win32\etc\Config.prc
skipping file .requirements.txt.swp
skipping file .setup.py.swp
skipping file build\win32\asteroids.exe
skipping file build\win32\cg.dll
skipping file build\win32\cgGL.dll
skipping file build\win32\etc\Confauto.prc
skipping file build\win32\etc\Config.prc
skipping file build\win32\libp3dtool.dll
skipping file build\win32\libp3dtoolconfig.dll
skipping file build\win32\libp3windisplay.dll
skipping file build\win32\libpanda.dll
skipping file build\win32\libpandaexpress.dll
skipping file build\win32\libpandagl.dll
skipping file build\win32\MSVCP100.dll
skipping file build\win32\MSVCR100.dll
skipping file build\win_amd64\asteroids.exe
skipping file build\win_amd64\cg.dll
skipping file build\win_amd64\cgGL.dll
skipping file build\win_amd64\err.txt
skipping file build\win_amd64\etc\Confauto.prc
skipping file build\win_amd64\etc\Config.prc
skipping file build\win_amd64\libp3direct.dll
skipping file build\win_amd64\libp3dtool.dll
skipping file build\win_amd64\libp3dtoolconfig.dll
skipping file build\win_amd64\libp3interrogatedb.dll
skipping file build\win_amd64\libp3windisplay.dll
skipping file build\win_amd64\libpanda.dll
skipping file build\win_amd64\libpandaexpress.dll
skipping file build\win_amd64\libpandagl.dll
skipping file build\win_amd64\ManualPage.url
skipping file build\win_amd64\models\plane.bam
skipping file build\win_amd64\MSVCP100.dll
skipping file build\win_amd64\MSVCR100.dll
skipping file build\win_amd64\panda3d.core.pyd
skipping file build\win_amd64\panda3d.direct.pyd
skipping file build\win_amd64\python27.dll
skipping file build\win_amd64\select.pyd
skipping file build\win_amd64\textures\asteroid1.png
skipping file build\win_amd64\textures\asteroid2.png
skipping file build\win_amd64\textures\asteroid3.png
skipping file build\win_amd64\textures\bullet.png
skipping file build\win_amd64\textures\ship.png
skipping file build\win_amd64\textures\stars.jpg
skipping file build\win_amd64\_hashlib.pyd
skipping file build\__whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl
skipping file build\__whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl
copying err.txt -> C:\Panda3D-1.9.4\samples\asteroids\build\win32
skipping file main.py
copying ManualPage.url -> C:\Panda3D-1.9.4\samples\asteroids\build\win32
creating C:\Panda3D-1.9.4\samples\asteroids\build\win32\models

Writing /c/Panda3D-1.9.4/samples/asteroids/build/win32/models/plane.bam
using script: egg2bam -o C:\Panda3D-1.9.4\samples\asteroids\build\win32\models\plane.bam models\plane.egg
skipping file requirements.txt
skipping file Run main.py.lnk
skipping file setup.py
creating C:\Panda3D-1.9.4\samples\asteroids\build\win32\textures
copying textures\asteroid1.png -> C:\Panda3D-1.9.4\samples\asteroids\build\win32\textures
copying textures\asteroid2.png -> C:\Panda3D-1.9.4\samples\asteroids\build\win32\textures
copying textures\asteroid3.png -> C:\Panda3D-1.9.4\samples\asteroids\build\win32\textures
copying textures\bullet.png -> C:\Panda3D-1.9.4\samples\asteroids\build\win32\textures
copying textures\ship.png -> C:\Panda3D-1.9.4\samples\asteroids\build\win32\textures
copying textures\stars.jpg -> C:\Panda3D-1.9.4\samples\asteroids\build\win32\textures

In my build/win32 i have


$ ls -lhs
total 25M
1.6M -rwxr-xr-x 1 user 197609 1.6M Jul  3 21:43 asteroids.exe*
8.2M -rwxr-xr-x 1 user 197609 8.2M Jul  3 21:44 cg.dll*
352K -rwxr-xr-x 1 user 197609 351K Jul  3 21:44 cgGL.dll*
1.0K -rw-r--r-- 1 user 197609  713 Jun 26 11:19 err.txt
   0 drwxr-xr-x 1 user 197609    0 Jul  3 21:44 etc/
288K -rwxr-xr-x 1 user 197609 286K Jul  3 21:43 libp3dtool.dll*
840K -rwxr-xr-x 1 user 197609 838K Jul  3 21:43 libp3dtoolconfig.dll*
104K -rwxr-xr-x 1 user 197609 102K Jul  3 21:43 libp3windisplay.dll*
9.5M -rwxr-xr-x 1 user 197609 9.5M Jul  3 21:43 libpanda.dll*
1.9M -rwxr-xr-x 1 user 197609 1.9M Jul  3 21:43 libpandaexpress.dll*
480K -rwxr-xr-x 1 user 197609 477K Jul  3 21:43 libpandagl.dll*
1.0K -rw-r--r-- 1 user 197609   86 Apr  3 19:57 ManualPage.url
   0 drwxr-xr-x 1 user 197609    0 Jul  3 21:44 models/
412K -rwxr-xr-x 1 user 197609 412K Jul  3 21:43 MSVCP100.dll*
756K -rwxr-xr-x 1 user 197609 756K Jul  3 21:43 MSVCR100.dll*
4.0K drwxr-xr-x 1 user 197609    0 Jul  3 21:44 textures/

And when I run that asteroide.exe I get

$ ./asteroids.exe
Traceback (most recent call last):
  File "main.py", line 26, in <module>
  File "C:\Python27\lib\site-packages\direct\showbase\ShowBase.py", line 12, in <module>
    from panda3d.core import *
ImportError: No module named core

Ok, now building for win_amd64

During build I get

$ python setup.py build_apps
running build_apps
Building platforms: win_amd64,win32
creating C:\Panda3D-1.9.4\samples\asteroids\build\win_amd64
Collecting panda3d==1.10.0.dev1146+deployng.104 (from -r ./requirements.txt (line 3))
  Saved c:\panda3d-1.9.4\samples\asteroids\build\__whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl
Successfully downloaded panda3d
warning: build_apps: could not find dependency KERNEL32.dll (referenced by libp3dtool.dll)

warning: build_apps: could not find dependency SHELL32.dll (referenced by libp3dtool.dll)

warning: build_apps: could not find dependency USER32.dll (referenced by libp3dtoolconfig.dll)

warning: build_apps: could not find dependency ADVAPI32.dll (referenced by libp3dtoolconfig.dll)

warning: build_apps: could not find dependency WSOCK32.dll (referenced by libpandaexpress.dll)

warning: build_apps: could not find dependency WS2_32.dll (referenced by libpandaexpress.dll)

warning: build_apps: could not find dependency WINMM.dll (referenced by libpanda.dll)

warning: build_apps: could not find dependency IPHLPAPI.DLL (referenced by libpanda.dll)

warning: build_apps: could not find dependency IMM32.dll (referenced by libp3windisplay.dll)

warning: build_apps: could not find dependency GDI32.dll (referenced by libp3windisplay.dll)

warning: build_apps: could not find dependency OPENGL32.dll (referenced by libpandagl.dll)

There are some missing modules: ['builtins', 'resource']
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl\panda3d\libpandagl.dll -> win_amd64\libpandagl.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl\panda3d\libp3windisplay.dll -> win_amd64\libp3windisplay.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl\panda3d\libpanda.dll -> win_amd64\libpanda.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl\panda3d\libpandaexpress.dll -> win_amd64\libpandaexpress.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl\panda3d\libp3dtool.dll -> win_amd64\libp3dtool.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl\panda3d\MSVCR100.dll -> win_amd64\MSVCR100.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl\panda3d\MSVCP100.dll -> win_amd64\MSVCP100.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl\panda3d\libp3dtoolconfig.dll -> win_amd64\libp3dtoolconfig.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl\panda3d\cg.dll -> win_amd64\cg.dll
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl\panda3d\cgGL.dll -> win_amd64\cgGL.dll
copying ..\..\..\..\Python27\DLLs\_hashlib.pyd -> win_amd64\_hashlib.pyd
copying C:\Python27\DLLs\_hashlib.pyd -> C:\Panda3D-1.9.4\samples\asteroids\build\win_amd64
warning: build_apps: could not find dependency MSVCR90.dll (referenced by python27.dll)

copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl\deploy_libs\python27.dll -> win_amd64\python27.dll
copying ..\..\..\..\Python27\lib\site-packages\panda3d\core.pyd -> win_amd64\panda3d.core.pyd
copying C:\Python27\lib\site-packages\panda3d\core.pyd -> C:\Panda3D-1.9.4\samples\asteroids\build\win_amd64\panda3d.core.pyd
copying ..\..\..\..\Python27\lib\site-packages\panda3d\libp3interrogatedb.dll -> win_amd64\libp3interrogatedb.dll
copying C:\Python27\lib\site-packages\panda3d\libp3interrogatedb.dll -> C:\Panda3D-1.9.4\samples\asteroids\build\win_amd64
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl\deploy_libs\select.pyd -> win_amd64\select.pyd
copying ..\..\..\..\Python27\DLLs\select.pyd -> win_amd64\select.pyd
copying C:\Python27\DLLs\select.pyd -> C:\Panda3D-1.9.4\samples\asteroids\build\win_amd64
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl\deploy_libs\_hashlib.pyd -> win_amd64\_hashlib.pyd
copying ..\..\..\..\Python27\lib\site-packages\panda3d\direct.pyd -> win_amd64\panda3d.direct.pyd
copying C:\Python27\lib\site-packages\panda3d\direct.pyd -> C:\Panda3D-1.9.4\samples\asteroids\build\win_amd64\panda3d.direct.pyd
copying ..\..\..\..\Python27\lib\site-packages\panda3d\libp3direct.dll -> win_amd64\libp3direct.dll
copying C:\Python27\lib\site-packages\panda3d\libp3direct.dll -> C:\Panda3D-1.9.4\samples\asteroids\build\win_amd64
creating C:\Panda3D-1.9.4\samples\asteroids\build\win_amd64\etc
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl\panda3d\etc\Confauto.prc -> win_amd64\etc\Confauto.prc
copying __whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl\panda3d\etc\Config.prc -> win_amd64\etc\Config.prc
skipping file .requirements.txt.swp
skipping file .setup.py.swp
skipping file build\win_amd64\asteroids.exe
skipping file build\win_amd64\cg.dll
skipping file build\win_amd64\cgGL.dll
skipping file build\win_amd64\etc\Confauto.prc
skipping file build\win_amd64\etc\Config.prc
skipping file build\win_amd64\libp3direct.dll
skipping file build\win_amd64\libp3dtool.dll
skipping file build\win_amd64\libp3dtoolconfig.dll
skipping file build\win_amd64\libp3interrogatedb.dll
skipping file build\win_amd64\libp3windisplay.dll
skipping file build\win_amd64\libpanda.dll
skipping file build\win_amd64\libpandaexpress.dll
skipping file build\win_amd64\libpandagl.dll
skipping file build\win_amd64\MSVCP100.dll
skipping file build\win_amd64\MSVCR100.dll
skipping file build\win_amd64\panda3d.core.pyd
skipping file build\win_amd64\panda3d.direct.pyd
skipping file build\win_amd64\python27.dll
skipping file build\win_amd64\select.pyd
skipping file build\win_amd64\_hashlib.pyd
skipping file build\__whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win32.whl
skipping file build\__whl_cache__\panda3d-1.10.0.dev1146+deployng.104-cp27-cp27m-win_amd64.whl
copying err.txt -> C:\Panda3D-1.9.4\samples\asteroids\build\win_amd64
skipping file main.py
copying ManualPage.url -> C:\Panda3D-1.9.4\samples\asteroids\build\win_amd64
creating C:\Panda3D-1.9.4\samples\asteroids\build\win_amd64\models

build/win_amd64 has

$ ls -lhs
total 49M
1.5M -rwxr-xr-x 1 user 197609 1.5M Jul  3 21:42 _hashlib.pyd*
1.6M -rwxr-xr-x 1 user 197609 1.6M Jul  3 21:42 asteroids.exe*
 12M -rwxr-xr-x 1 user 197609  12M Jul  3 21:42 cg.dll*
432K -rwxr-xr-x 1 user 197609 429K Jul  3 21:42 cgGL.dll*
1.0K -rw-r--r-- 1 user 197609  713 Jun 26 11:19 err.txt
   0 drwxr-xr-x 1 user 197609    0 Jul  3 21:42 etc/
268K -rwxr-xr-x 1 user 197609 266K Jul  3 21:36 libp3direct.dll*
368K -rwxr-xr-x 1 user 197609 366K Jul  3 21:42 libp3dtool.dll*
1.2M -rwxr-xr-x 1 user 197609 1.2M Jul  3 21:42 libp3dtoolconfig.dll*
184K -rwxr-xr-x 1 user 197609 182K Jul  3 21:36 libp3interrogatedb.dll*
120K -rwxr-xr-x 1 user 197609 117K Jul  3 21:42 libp3windisplay.dll*
 12M -rwxr-xr-x 1 user 197609  12M Jul  3 21:42 libpanda.dll*
2.4M -rwxr-xr-x 1 user 197609 2.4M Jul  3 21:42 libpandaexpress.dll*
572K -rwxr-xr-x 1 user 197609 572K Jul  3 21:42 libpandagl.dll*
1.0K -rw-r--r-- 1 user 197609   86 Apr  3 19:57 ManualPage.url
   0 drwxr-xr-x 1 user 197609    0 Jul  3 21:42 models/
596K -rwxr-xr-x 1 user 197609 594K Jul  3 21:42 MSVCP100.dll*
812K -rwxr-xr-x 1 user 197609 810K Jul  3 21:42 MSVCR100.dll*
 12M -rwxr-xr-x 1 user 197609  12M Jul  3 21:36 panda3d.core.pyd*
772K -rwxr-xr-x 1 user 197609 769K Jul  3 21:36 panda3d.direct.pyd*
3.3M -rwxr-xr-x 1 user 197609 3.3M Jul  3 21:42 python27.dll*
 12K -rwxr-xr-x 1 user 197609  12K Dec 17  2016 select.pyd*
4.0K drwxr-xr-x 1 user 197609    0 Jul  3 21:42 textures/

When I run asteroid.exe the window starts up and then it crashes. Here’s is the command error info

$ ./asteroids.exe
Known pipe types:
  wglGraphicsPipe
(all display modules loaded.)
:audio(error):   load_dso(libp3openal_audio.so) failed, will use NullAudioManager
:audio(error):     Path not found
:loader(warning): Unable to load libp3ptloader.dll: Path not found
:loader(warning): Unable to load libpandaegg.dll: Path not found
:loader(error): Extension of file models/plane.egg is unrecognized; cannot load.
Currently known scene file types are:
  Bam                             .bam
Traceback (most recent call last):
  File "main.py", line 409, in <module>
  File "main.py", line 123, in __init__
  File "main.py", line 67, in loadObject
  File "C:\Python27\lib\site-packages\direct\showbase\Loader.py", line 170, in loadModel
    raise IOError(message)
IOError: Could not load model file(s): ['models/plane']

I’ve double checked that I can run the sample from source using the amd64 panda3d+deployng

Oh! Forgot to add that, in the build/win_amd64/models folder, there is a plane.bam with size 4.0k

The egg/bam issue is a known one, and we’re still trying to figure out how to solve it. One of the prc files in the etc folder defines the default model extension as EGG, but the files were converted by deploy-ng to BAM. If you modify the prc file, the models should start loading.

I will need to continue investigating win32 issues. Thanks for testing!

Ok, I can run asteroids now for win_amd64. I do get this message when I run though:

$ ./asteroids.exe
Known pipe types:
  wglGraphicsPipe
(all display modules loaded.)
:audio(error):   load_dso(libp3openal_audio.so) failed, will use NullAudioManager
:audio(error):     Path not found
:loader(warning): Unable to load libp3ptloader.dll: Path not found

Thanks for all the help there!

It looks like we weren’t correctly looking in the whl file for pyds on Windows. deploy-ng always tried to grab the pyds from the system/venv Python, which worked okay if the host and target platforms were the same (e.g., both 64bit), but not if they differed (e.g., 64bit host 32bit target). This is fixed and I did some initial testing that looked promising. At this moment, the buildbots are working on a new build (look for a deployng.106 build here archive.panda3d.org/branches/deploy-ng/panda3d/).

We currently do not know of a way to autodetect plugins (e.g., p3ptloader and p3openal_audio) since they are loaded at runtime. Adding a way to specify plugins is on our todo list.