runerror after installing new version 1.6.0

Return to Installation

runerror after installing new version 1.6.0

Postby eeghem » Thu Apr 02, 2009 3:39 am

Hi,

Downloaded the new 1.6.0 version and installed it on my machine (after removing the 1.5.4 version). When running my project I get the following error:

ImportError: DLL load failed: De toepassing kan niet worden gestart omdat de configuratie van de toepassing onjuist is. Het opnieuw installeren van de toepassing kan dit probleem oplossen.

Note that the long description is in Dutch (since I'm running a Dutch Windows XP Professional version). Roughly translated it says that it cannot start the process due to a configuration error and then the advise is given to reinstall the application.

The project I run did work fine yesterday on the same machine with version 1.5.4. Any ideas?

// the dump
DirectStart: Starting the game.
Traceback (most recent call last):
File "E:\_Development\BeeGame\src\main.py", line 10, in <module>
import direct.directbase.DirectStart
File "E:\_Panda3D\direct\directbase\DirectStart.py", line 3, in <module>
from direct.showbase import ShowBase
File "E:\_Panda3D\direct\showbase\ShowBase.py", line 10, in <module>
from pandac.PandaModules import *
File "pandac\PandaModules.py", line 2, in <module>
File "pandac\libpandaModules.py", line 2, in <module>
File "pandac\extension_native_helpers.py", line 73, in Dtool_PreloadDLL
ImportError: DLL load failed: De toepassing kan niet worden gestart omdat de configuratie van de toepassing onjuist is. Het opnieuw installeren van de toepassing kan dit probleem oplossen.
eeghem
 
Posts: 26
Joined: Wed Nov 12, 2008 5:52 am

Postby rdb » Thu Apr 02, 2009 4:11 am

Can you try running the 'pview' tool and see if that runs properly?
rdb
 
Posts: 11066
Joined: Mon Dec 04, 2006 5:58 am
Location: Netherlands

Postby eeghem » Thu Apr 02, 2009 5:12 am

Running PVIEW.EXE throws an exception (0xc0150002). I get the impression I'm missing a critical MS-dll or so. Does 1.6.0 requires the Visual C++ 2008 redistributable?
eeghem
 
Posts: 26
Joined: Wed Nov 12, 2008 5:52 am

Postby rdb » Thu Apr 02, 2009 5:22 am

Yeah, try installing that.
rdb
 
Posts: 11066
Joined: Mon Dec 04, 2006 5:58 am
Location: Netherlands

Postby drwr » Thu Apr 02, 2009 1:20 pm

It could also be a conflict with an older version of Panda also installed on your machine. Try uninstalling any older versions just to see if that helps.

David
drwr
 
Posts: 11425
Joined: Fri Feb 13, 2004 12:42 pm
Location: Glendale, CA

Postby eeghem » Tue Apr 07, 2009 6:01 am

The old version 1.5.4 was removed using the installer first so I guess that rules out a conflict with an older version.

When I compare the bin folders of 1.6.0 and 1.5.4 the biggest difference is the VS-2008 runtimes that 1.6.0 uses and 1.5.4 doesn't use. I guess to properly install it, administrator rights are needed, however the installer doesn't seem to complain about this and the machine I had strong security rules in place.

I also noticed a difference in the manifest file, but I guess that has to do with proper installation of the VC-2008 runtimes.

I'll try it this weekend on another machine using admin rights.
eeghem
 
Posts: 26
Joined: Wed Nov 12, 2008 5:52 am

Postby rdb » Tue Apr 07, 2009 8:06 am

Yes, 1.5.4 still used 2005 while 1.6.0 now uses 2008.
rdb
 
Posts: 11066
Joined: Mon Dec 04, 2006 5:58 am
Location: Netherlands

Postby ninth » Wed Apr 15, 2009 4:13 pm

I have installed version 1.6.0 and have received the same error as a topic starter. I tried to instal ms vc ++ 2008 redist, but it did not operate. I have uninstalled 1.6.0 and have installed 1.5.4. This version works splendid.

What can be a reason?
ninth
 
Posts: 660
Joined: Fri Jan 23, 2009 9:06 am
Location: Russia

Postby eeghem » Thu Apr 16, 2009 2:12 am

Installed 1.6.0 on a machine having admin rights. Works fine here. The machine I had the problem on was a laptop running with restricted user rights.

I recently had another program that required the VC++ 2008 runtimes installed and it also gave me an error on the machine. My guess it is related.
eeghem
 
Posts: 26
Joined: Wed Nov 12, 2008 5:52 am

Postby ninth » Thu Apr 16, 2009 2:18 pm

mmm... i have admin rights on the machine, and of course, i has installed panda with admin rights...

----------add-------------
I have just installed a panda on another computer and there all has works. It seems that the problem arises only on the laptops
ninth
 
Posts: 660
Joined: Fri Jan 23, 2009 9:06 am
Location: Russia

Postby eeghem » Wed Apr 22, 2009 3:38 am

I've been checking the microsoft specs on the VC++ redistribution. Seems that alle the required files are there, so this cannot be the problem. However, I did found many differences in the manifest files of version 1.5.4 and 1.6.0.

My guess now is that somehow the behaviour of the manifest parsing is different on XP SP2 (the laptop where it failes to run) and XP SP3 (the desktop that runs OK).
eeghem
 
Posts: 26
Joined: Wed Nov 12, 2008 5:52 am

Postby eeghem » Tue Apr 28, 2009 4:21 am

Run some additional tests on various other systems. On a deskopt XP SP2 I get the same error. On Windows Server 2003 no error. So my conclusion here is that it is a dependency problem. The VS2008 runtimes require additional runtimes not available in older windows installation and with restricted installation rights these will not be installed.
eeghem
 
Posts: 26
Joined: Wed Nov 12, 2008 5:52 am

dependency errors in 1.6.1. and 1.6.0.

Postby eeghem » Tue Apr 28, 2009 5:22 am

Downloaded the new installer 1.6.1. Run PVIEW.EXE and it gave the same error. Then downloaded "dependency walker" and run it against PVIEW.EXE. It reported errors.

The first was a missing MSJAVA.DLL. That is easy fixed by adding the dll to the panda bin folder.

The second error is:
"The side-by-side configuration information for ..\bin\LIBPANDA.DLL contains errors", followed by the error code 14001 and the advide to reinstall the application.

I checked the internet on this and there are a lot of articles there about troubleshooting a VS2005 C++ application redistribution. I can only conclude that the xcopy deployment on windows is not working properly.
eeghem
 
Posts: 26
Joined: Wed Nov 12, 2008 5:52 am

Postby Howrad » Wed May 06, 2009 1:37 pm

I'm seeing this problem too on a brand-spanking-new HP desktop that came with XP SP2. It can't load libpanda.dll in 1.6.1, but 1.5.4 works fine.

It's failing on pandac\extension_native_helpers.py, line 73, when it tries to load libpanda.dll

I tried Windows Update, and I tried the VC++ redistributable. No luck.

Any other ideas?
Howrad
 
Posts: 10
Joined: Sat Sep 17, 2005 12:23 am

Postby Howrad » Wed May 06, 2009 4:55 pm

I figured it out!

I installed Microsoft .NET Framework 3.5 Service Pack 1.

The rest of you who were having this problem on certain computers should try this and report back.
Howrad
 
Posts: 10
Joined: Sat Sep 17, 2005 12:23 am

Postby eeghem » Tue May 12, 2009 1:59 pm

Tested both the 1.5.4 and 1.6.1 on a private desktop with WinXp, SP3. Both run fine. No sign of .Net 3.5 on this machine. So whatever it is, it isn't the .Net framework. Though it is possible that installing .Net 3.5 fixes the manifest error reported by Dependency Walker.

I dit notice a WinSxS folder containing a lot of manifest files, including many VC++ files. My guess is that on this machine, a different dependency checker is already installed. Probably got it through the autoupdate from Microsoft. So the issue Dependency Walker reports on my laptop is no longer on this machine around.

If anyone else experiences problems like this, try to pinpoint the exact problem and check first with the Dependency Walker tool what it reports before installing .Net 3.5 or anything else to fix the issue.
eeghem
 
Posts: 26
Joined: Wed Nov 12, 2008 5:52 am

Postby eeghem » Wed May 13, 2009 6:57 am

Tested it again on a desktop with XP, SP2 and no .Net 3.0 and .Net 3.5 framework.

No error on 1.5.4. Got the error on 1.6.1. Dependency Walker reports a side-by-side configuration read error on de libpanda.dll.

Installed .Net 3.5 fixes the problem and now Dependency Walker no longer reports the side-by-side configuration error on libpanda.dll.

However the test yesterday shows that .Net 3.5 isn't needed, so my conclusion so far is that the libpanda.dll somehow is build differently than the other dll's. Is it possible it is build for Vista only? Just an idea.
eeghem
 
Posts: 26
Joined: Wed Nov 12, 2008 5:52 am

Postby rdb » Wed May 13, 2009 7:14 am

Hmm. Are you able to find out what exactly is wrong with libpanda.dll?
rdb
 
Posts: 11066
Joined: Mon Dec 04, 2006 5:58 am
Location: Netherlands

Postby rdb » Mon May 18, 2009 12:15 am

Can someone check if the problem still occurs with 1.6.2? It was built with .NET framework uninstalled, I believe.
rdb
 
Posts: 11066
Joined: Mon Dec 04, 2006 5:58 am
Location: Netherlands

Postby croxis » Mon May 18, 2009 4:04 pm

Same problem with 1.6.2
Used a fresh install of xp sp3, import error untill i installed .net 3.5
David - Proud to be saving the world since 1984
croxis
 
Posts: 583
Joined: Thu Feb 12, 2009 4:13 pm
Location: Portland, OR

Postby eeghem » Tue May 19, 2009 2:18 am

Hi,

I've found out what exactly is wrong with the libpanda.dll. It references the old vc++ 2005 runtime files together with the new vc++ 2008 runtime files. You can see this by extracting the side-by-side configuration information. Thanks to the article of OJ about resolving side-by-side configuration issues (at http://buffered.io) I was able to do so. It's actually suprisingly simple. The side-by-side configuration data is stored as a xml resource inside the dll. If you open the dll in any editor (text
or hex) that doesn't choke on the binary you can search for "<assembly". You then find the embedded xml data. For a properly working dll (I used libp3pystub.dll as a reference), you get the following xml:

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>

Now for the old libpanda.dll from version 1.5.4, wich is working fine under windows xp, sp2, you get the following xml.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>

In both cases the requested depency is available on the system in the Panda\bin folder. Now for the new version of libpanda.dll (that is version 1.6.0, 1.6.1 and 1.6.2), when you extract the embedded side-by-side
configuration data, you get the following xml:

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>

Note that suddenly there is a VC80.CRT dependency. But this dependency is not available on a clean machine running windows xp, sp2. Also the same dependency is referenced twice with different version numbers. I tried to copy the VC80.CRT manifest from the 1.5.4. version to the Panda\bin folder, including the msvc80 dll's however this fails. Probably due to the fact that this is only the version 8.0.50727.762.

Upon scanning the MSDN library I came across an article about troubleshooting VC++ side-by-side distribution. In it was a user contribution that stated that the Visual Studio 2008 environment had a
bug that messes up the manifest configuration. You might check out that article.

Hope this provides enough info to solve the issue in the next release.
Looking forward to it.
eeghem
 
Posts: 26
Joined: Wed Nov 12, 2008 5:52 am

Postby rdb » Tue May 19, 2009 2:58 am

Hmm. I noticed this was still in the build options:
Code: Select all
/NOD:MFC80.LIB

Along with the /NOD:MFC90.LIB reference. Maybe that could be what's causing the dependency?

Then again I have no clue what it means, I don't really have much experience on windows (proud linux user here).
rdb
 
Posts: 11066
Joined: Mon Dec 04, 2006 5:58 am
Location: Netherlands

Postby eeghem » Tue May 19, 2009 9:03 am

Hmmm..

Searched MSDN on this and found it after a few tries. What is happening here is that the /NOD option explicitly links in an import library, in this case the MFC80.LIB (or MFC90.LIB in case of the second example). You definitely need to drop the MFC80.LIB since it will cause a reference to the runtime version of the VC++ 2005 files.

The question that puzzles me is why it is needed to import the Microsoft Foundation Library at all? To my best knowledge you need them if you create a windows program with a windows gui.
eeghem
 
Posts: 26
Joined: Wed Nov 12, 2008 5:52 am

Postby ninth » Thu Jun 25, 2009 6:15 pm

Having read posts, I have install vcredist_x86-sp1 which was in \bin from version 1.5.4 (It is 2005, and before I tried 2008 which hasn't effect) - after that, 1.6.х began to work normally. )

Thanks )

(BTW 2005 without sp1 too does not work)
ninth
 
Posts: 660
Joined: Fri Jan 23, 2009 9:06 am
Location: Russia

Postby rdb » Sat Sep 19, 2009 6:50 am

Can anyone suffering from this problem maybe send me a Dependency Walker image (.dwi) file of the troubling dll or exe?
rdb
 
Posts: 11066
Joined: Mon Dec 04, 2006 5:58 am
Location: Netherlands

were to put the files...

Postby eeghem » Mon Sep 21, 2009 9:43 am

Hi,

Pleased to see the issue hasn't been forgotten. I have a .dwi and a jpg-dump of dependency walker displaying a big error box. How can I upload them to you?

:D
eeghem
 
Posts: 26
Joined: Wed Nov 12, 2008 5:52 am

Postby rdb » Mon Sep 21, 2009 10:36 am

Please e-mail them to me, by clicking the "email" button below this post.
rdb
 
Posts: 11066
Joined: Mon Dec 04, 2006 5:58 am
Location: Netherlands

Postby rdb » Fri Dec 25, 2009 2:08 pm

For the record, after a lot of investigation I finally tracked down the cause of the problem.
I've just checked a fix to makepanda on CVS.
rdb
 
Posts: 11066
Joined: Mon Dec 04, 2006 5:58 am
Location: Netherlands


Return to Installation

Who is online

Users browsing this forum: No registered users and 0 guests