[Qt-jambi-interest] Fwd: Fwd: Problem with QtJambi 4.6 Win 32 Community
Frank Bergmann
fbergman at u.washington.edu
Wed Jan 27 19:51:49 CET 2010
In order to track down the source it would help if the person that had the
problem just downloads http://www.dependencywalker.com/, and opens the
native dlls, that would list all problematic files and identify what is
going wrong. Alternatively with visual studio there is a command line tool
dumpbin, and calling dumpbin /dependents <executable|dll> will list all
dependent libraries.
As for the feat of running a MSVC2008 program, without the side by side
runtime installed first, Im impressed. That never worked reliably for me
thats why we had to change the C++ compiler for our projects. (Are you sure
that no driver or something else would install the runtime?). VS2010 lists
local deployment as option:
http://msdn.microsoft.com/en-us/library/dd293574(VS.100).aspx
and even highlights that:
* Visual C++ libraries no longer depend on Fusion and are no longer
installed in the WinSxS folder.
* Dependent applications and libraries no longer require Fusion
manifest information.
But if it works with 2008 then all the better.
Frank
From: Helge Fredriksen [mailto:hf at poseidon.no]
Sent: Wednesday, January 27, 2010 10:36 AM
To: Frank Bergmann
Cc: qt-jambi-interest at trolltech.com
Subject: Re: [Qt-jambi-interest] Fwd: Fwd: Problem with QtJambi 4.6 Win 32
Community
Sorry to prove you wrong, I just did some experimenting today with QtJambi
compiling on Windows 7 and MSVC2008.
To test deployment, I did a fresh install of Windows XP, service pack 3, and
tested an install using the generated library jar. It worked like a charm,
no problem...
So, my guess is that there is something wrong with the dependencies of the
dll's in Brunos install package, as he suspects in a mail previously.
Regards,
Helge Fredriksen
On Wed, Jan 27, 2010 at 5:44 PM, Frank Bergmann <fbergman at u.washington.edu>
wrote:
Sorry to chime in. I just wanted to say that this approach wont work. Your
only solution is to compile with VS2005. The reason is that in VS2008
Microsoft had the clever idea, that it would be great if they would control
the runtime. So they changed the loading procedure so that the VC90.CRT is
only loaded from a protected folder from your windows installation. This
description might not do it justice so you might want to read up on:
http://msdn.microsoft.com/en-us/library/aa376307(VS.85).aspx
<http://msdn.microsoft.com/en-us/library/aa376307%28VS.85%29.aspx>
http://msdn.microsoft.com/en-us/library/ms235342.aspx
http://msdn.microsoft.com/en-us/library/ms235624.aspx
the VC80 Runtime did allow to be deployed in the directory, and according to
rumors VS 2010 will allow that as well. If you end up using MSVC2008, you
will have to actually execute the Visual C runtime installer on each
machine, where Qt-Jambi should run (moreover it requires admin privileges,
so that would already destroy the WebStart scenario). For all these reasons
I would argue not to use it for the time being. In case you dont have
MSVC2005, you could also try the express editions:
<http://shrinkster.com/1cle> http://shrinkster.com/1cle
I hope this helps
Best
Frank
From: qt-jambi-interest-bounces at trolltech.com
[mailto:qt-jambi-interest-bounces at trolltech.com] On Behalf Of Helge
Fredriksen
Sent: Wednesday, January 27, 2010 4:51 AM
To: Klemens Loschy
Cc: qt-jambi-interest at trolltech.com
Subject: Re: [Qt-jambi-interest] Fwd: Fwd: Problem with QtJambi 4.6 Win 32
Community
Very good information, Klemens.
It really looks like there might be some bugs here.
I have just compiled a version here of QtJambi on Windows 7 using MSVC 2008.
Looking into the generated lib jar, I can observe the same as you in
qtjambi-deployment.xml:
<library name="bin/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest"
load="never" />
<library name="bin/Microsoft.VC90.CRT/msvcm90.dll" load="never" />
<library name="bin/Microsoft.VC90.CRT/msvcp90.dll" load="never" />
<library name="bin/Microsoft.VC90.CRT/msvcr90.dll" load="never" />
One could test if changing this in the build system to remove the
load="never" changes
things to the better, or if one has to do something about the
NativeLibraryManager.java
code as well (which it seems like looking at your code sniplet).
Helge
Klemens Loschy wrote:
Hi,
in my opinion, YES. A msvc2005 build is startable, a mingw build and
msvc2008 is not (on win-xp) because of the unsatisfied link error -> the
qtcore dll depends on the mingw/msvc dlls. BUT if you copy the
mingw/msvc2008 dlls in a directy which is included in the PATH variable,
everything works fine.
But i think i found a solution (at least for a mingw build) for the
dependency problems (i shared it on the mailing list at 13.11.2009)
---->
Hi,
i had some time to dig deeper into my dll dependency problem. I read the
qtjambi-deployment.xml and the NativeLibraryManager.java more precise and i
found a very interesting thing:
qtjambi-deployment.xml:
<library name="lib/libstdc++.so.6" load="yes" />
NativeLibraryManager.java:
205 String load = attributes.getValue("load");
206 if (load != null && load.equals("true")) e.load = LOAD_TRUE;
207 else if (load != null && load.equals("never")) e.load = LOAD_NEVER;
208 else e.load = LOAD_FALSE;
The "load" value in the xml says "yes" and the NativeLibraryManager checks
against "true"??? If i change the value in the xml to "true" or add change
the .java file to accept "yes" and "true", the dll dependency problems are
gone.
I dont know which part of the build is wrong (the java part or the part
which creates the deployment xml) but i think this is a serious problem (at
least on windows platforms).
br klemens
----->
This helps at least with the mingw build. The qtjambi with msvc2008 is a
little bit different:
qtjambi-deployment.xml:
<library name="bin/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest"
load="never" />
<library name="bin/Microsoft.VC90.CRT/msvcm90.dll" load="never" />
<library name="bin/Microsoft.VC90.CRT/msvcp90.dll" load="never" />
<library name="bin/Microsoft.VC90.CRT/msvcr90.dll" load="never" />
The msvc2008 dlls should not be loaded by jambi (at least the xml says so).
Here are more informations about the dll dependencies:
doc.trolltech.com/qtjambi-4.5.2_01/com/trolltech/qt/qtjambi-deployment.html
br, klemens
Mit freundlichen Gruessen,
Klemens Loschy
SEQIS Consulting
_________________________________________
SEQIS GmbH - The Austrian Software Test Experts!
Neusiedler Straße 36, 2340 Mödling, Austria
Telefon: +43 2236 320 320 - 0
Fax: +43 2236 320 320 - 350
mobil: +43 664 TESTS 06 (+43 664 83787 06)
web http://www.SEQIS.com, http://www.KeepLiquid.com
________________________________
*Frank Bieser, CIO, HEROLD Business Data GmbH*, über SEQIS:
'Die Zusammenarbeit mit SEQIS in unseren Projekten ist von einem Hoechstmass
an Professionalitaet und Zielorientierung gepraegt.
Zahlreiche gemeinsame Vorhaben wurden partnerschaftlich und hoch erfolgreich
abgewickelt. Auch fuer die Zukunft sehen wir in SEQIS einen unserer
verlaesslichsten Partner.'
________________________________
http://www.SEQIS.com/disclaimer
----- Original Message -----
From: "Bruno Janvier" <mailto:bruno at contenta-software.com>
<bruno at contenta-software.com>
Cc: qt-jambi-interest at trolltech.com
Sent: Wednesday, January 27, 2010 8:58:45 AM
Subject: Re: [Qt-jambi-interest] Fwd: Fwd: Problem with QtJambi 4.6 Win 32
Community
Hi Klemens,
you mean that Microsoft.VC90.CRT is shipped in the jar but won't be used
at all ?
Regards,
Bruno
On 1/27/2010 8:49 AM, Klemens Loschy wrote:
Hi,
Win7 should work fine because the msvc2008 dlls are already pre-installed, i
have tested the build on win7 and everything was working. on win-xp only the
msvc2005 dlls are pre-installed.
br, klemens
Mit freundlichen Gruessen,
Klemens Loschy
SEQIS Consulting
_________________________________________
SEQIS GmbH - The Austrian Software Test Experts!
Neusiedler Straße 36, 2340 Mödling, Austria
Telefon: +43 2236 320 320 - 0
Fax: +43 2236 320 320 - 350
mobil: +43 664 TESTS 06 (+43 664 83787 06)
web http://www.SEQIS.com, http://www.KeepLiquid.com
________________________________
*Frank Bieser, CIO, HEROLD Business Data GmbH*, über SEQIS:
'Die Zusammenarbeit mit SEQIS in unseren Projekten ist von einem Hoechstmass
an Professionalitaet und Zielorientierung gepraegt.
Zahlreiche gemeinsame Vorhaben wurden partnerschaftlich und hoch erfolgreich
abgewickelt. Auch fuer die Zukunft sehen wir in SEQIS einen unserer
verlaesslichsten Partner.'
________________________________
http://www.SEQIS.com/disclaimer
----- Original Message -----
From: "Helge Fredriksen" <mailto:hf at poseidon.no> <hf at poseidon.no>
To: "Bruno Janvier" <mailto:bruno at contenta-software.com>
<bruno at contenta-software.com>
Cc: qt-jambi-interest at trolltech.com
Sent: Wednesday, January 27, 2010 8:42:12 AM
Subject: Re: [Qt-jambi-interest] Fwd: Fwd: Problem with QtJambi 4.6 Win 32
Community
Hello,
I have done some testing a while ago, but only on Windows 7 where it seems
to work with the
designer and the demo app at least.
However, I have a target machine I can borrow on Windows XP here, how do I
reproduce this
problem Rene? Just by running the demo app?
Helge
Bruno Janvier wrote:
The line that is interesting in your log is the following:
Caused by: java.lang.UnsatisfiedLinkError: C:\Documents and
Settings\inno\Local
Settings\Temp\QtJambi_inno_x86_4.6.0_msvc2008-20100115-1352\bin\QtCore4.dll:
Thi
s application has failed to start because the application configuration is
incor
rect. Reinstalling the application may fix this problem
Can you use dependency walker on this dll to see what could be missing on
your system?
http://dependencywalker.com/
Another thing to try:
if you just delete the folder "C:\Documents and Settings\inno\Local
Settings\Temp\QtJambi_inno_x86_4.6.0_msvc2008-20100115-1352", does it work
well afterwards ?
On 1/27/2010 8:01 AM, Rene wrote:
---------- Forwarded message ----------
From: Rene< innusius at gmail.com>
Date: 2010/1/27
Subject: Re: [Qt-jambi-interest] Fwd: Problem with QtJambi 4.6 Win 32
Community
To: Bruno Janvier< bruno at contenta-software.com>
whats the name of dll that I should check ? you mean in qtjambi jar ? I see
this there /bin/Microsoft.VC90.CRT/.. so I vc files are included , well you
see it in that log too.
, it is clean install of xp without updates so it is surely older then year
2008 , maybe Microsoft Visual C++ 2008 compiled requires some newer dll to
work.
Maybe when I update xp it will work , but on the other side if that is the
case , maybe it would better to build using 2005 as previous versions was ,
for greater compatibility.
Thanx.
On Wed, Jan 27, 2010 at 7:07 AM, Bruno Janvier<
bruno at contenta-software.com> wrote:
I have tested with XP, Vista and 7. it worked for me.
It was build with the MSVC 2008 Express Edition.
The jambi 4.5.2 was build with MSVC 2005.
Could it be that a dll from Microsoft Visual C++ 2008 Redistributable
Package (x86)
is missing in the package ?
Can you check ?
On 1/27/2010 6:04 AM, Rene wrote:
---------- Forwarded message ----------
From: Rene< innusius at gmail.com>
Date: 2010/1/27
Subject: Re: [Qt-jambi-interest] Problem with QtJambi 4.6 Win 32 Community
To: Bruno Janvier< bruno at contenta-software.com>
Windows Xp sp 2
On Wed, Jan 27, 2010 at 5:39 AM, Bruno Janvier<
bruno at contenta-software.com> wrote:
Which windows are you using?
XP ?
On 1/26/2010 10:20 PM, Rene wrote:
Tested Win32 build of QtJambi 4.6 and it seems to have some problem. Linux
build is working.
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.trolltech.qt.QtJambiObject.<clinit>(QtJambiObject.java:60)
at notify.PopupAnimator.<init>(PopupAnimator.java:17)
at notify.PluginNotify.<init>(PluginNotify.java:31)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at library.common.java._Class.newInstance(_Class.java:65)
at library.common.java._Class.new_object(_Class.java:59)
at library.plugin.PluginLoader.load_plugins(PluginLoader.java:39)
at library.plugin.PluginLoader.<init>(PluginLoader.java:21)
at library.plugin.PluginRuntime.<init>(PluginRuntime.java:39)
at library.plugin.Main.main(Main.java:10)
Caused by: java.lang.RuntimeException: Loading library failed, progress so
far:
Unpacking .jar file: 'qtjambi-win32-msvc2008-4.6.0.jar'
Checking Archive 'qtjambi-win32-msvc2008-4.6.0.jar'
- cache key='msvc2008-20100115-1352'
- adding 'QtCore4.dll' to library map
- library: name='bin/QtCore4.dll',
- adding 'QtGui4.dll' to library map
- library: name='bin/QtGui4.dll',
- adding 'QtXml4.dll' to library map
- library: name='bin/QtXml4.dll',
- adding 'QtSql4.dll' to library map
- library: name='bin/QtSql4.dll',
- adding 'QtSvg4.dll' to library map
- library: name='bin/QtSvg4.dll',
- adding 'QtNetwork4.dll' to library map
- library: name='bin/QtNetwork4.dll',
- adding 'QtOpenGL4.dll' to library map
- library: name='bin/QtOpenGL4.dll',
- adding 'QtWebKit4.dll' to library map
- library: name='bin/QtWebKit4.dll',
- adding 'QtXmlPatterns4.dll' to library map
- library: name='bin/QtXmlPatterns4.dll',
- adding 'phonon4.dll' to library map
- library: name='bin/phonon4.dll',
- library: name='plugins/phonon_backend/phonon_ds94.dll', never load
- library: name='plugins/imageformats/qjpeg4.dll', never load
- library: name='plugins/imageformats/qgif4.dll', never load
- library: name='plugins/imageformats/qmng4.dll', never load
- library: name='plugins/imageformats/qtiff4.dll', never load
- library: name='plugins/imageformats/qsvg4.dll', never load
- library: name='plugins/iconengines/qsvgicon4.dll', never load
- library: name='plugins/codecs/qcncodecs4.dll', never load
- library: name='plugins/codecs/qjpcodecs4.dll', never load
- library: name='plugins/codecs/qkrcodecs4.dll', never load
- library: name='plugins/codecs/qtwcodecs4.dll', never load
- library: name='plugins/accessible/qtaccessiblewidgets4.dll', never load
- library: name='plugins/sqldrivers/qsqlite4.dll', never load
- adding 'qtjambi.dll' to library map
- library: name='bin/qtjambi.dll',
- adding 'com_trolltech_qt_core.dll' to library map
- library: name='bin/com_trolltech_qt_core.dll',
- adding 'com_trolltech_qt_gui.dll' to library map
- library: name='bin/com_trolltech_qt_gui.dll',
- adding 'com_trolltech_qt_xml.dll' to library map
- library: name='bin/com_trolltech_qt_xml.dll',
- adding 'com_trolltech_qt_sql.dll' to library map
- library: name='bin/com_trolltech_qt_sql.dll',
- adding 'com_trolltech_qt_svg.dll' to library map
- library: name='bin/com_trolltech_qt_svg.dll',
- adding 'com_trolltech_qt_network.dll' to library map
- library: name='bin/com_trolltech_qt_network.dll',
- adding 'com_trolltech_qt_opengl.dll' to library map
- library: name='bin/com_trolltech_qt_opengl.dll',
- adding 'com_trolltech_qt_phonon.dll' to library map
- library: name='bin/com_trolltech_qt_phonon.dll',
- adding 'com_trolltech_qt_webkit.dll' to library map
- library: name='bin/com_trolltech_qt_webkit.dll',
- adding 'com_trolltech_qt_xmlpatterns.dll' to library map
- library: name='bin/com_trolltech_qt_xmlpatterns.dll',
- library:
name='plugins/imageformats/Microsoft.VC90.CRT/Microsoft.VC90.CRT.man
ifest', never load
- library: name='plugins/imageformats/Microsoft.VC90.CRT/msvcm90.dll', never
lo
ad
- library: name='plugins/imageformats/Microsoft.VC90.CRT/msvcp90.dll', never
lo
ad
- library: name='plugins/imageformats/Microsoft.VC90.CRT/msvcr90.dll', never
lo
ad
- library:
name='plugins/iconengines/Microsoft.VC90.CRT/Microsoft.VC90.CRT.mani
fest', never load
- library: name='plugins/iconengines/Microsoft.VC90.CRT/msvcm90.dll', never
loa
d
- library: name='plugins/iconengines/Microsoft.VC90.CRT/msvcp90.dll', never
loa
d
- library: name='plugins/iconengines/Microsoft.VC90.CRT/msvcr90.dll', never
loa
d
- library:
name='plugins/codecs/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest'
, never load
- library: name='plugins/codecs/Microsoft.VC90.CRT/msvcm90.dll', never load
- library: name='plugins/codecs/Microsoft.VC90.CRT/msvcp90.dll', never load
- library: name='plugins/codecs/Microsoft.VC90.CRT/msvcr90.dll', never load
- library:
name='plugins/phonon_backend/Microsoft.VC90.CRT/Microsoft.VC90.CRT.m
anifest', never load
- library: name='plugins/phonon_backend/Microsoft.VC90.CRT/msvcm90.dll',
never
load
- library: name='plugins/phonon_backend/Microsoft.VC90.CRT/msvcp90.dll',
never
load
- library: name='plugins/phonon_backend/Microsoft.VC90.CRT/msvcr90.dll',
never
load
- library: name='bin/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest', never
loa
d
- library: name='bin/Microsoft.VC90.CRT/msvcm90.dll', never load
- library: name='bin/Microsoft.VC90.CRT/msvcp90.dll', never load
- library: name='bin/Microsoft.VC90.CRT/msvcr90.dll', never load
- library:
name='plugins/accessible/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manif
est', never load
- library: name='plugins/accessible/Microsoft.VC90.CRT/msvcm90.dll', never
load
- library: name='plugins/accessible/Microsoft.VC90.CRT/msvcp90.dll', never
load
- library: name='plugins/accessible/Microsoft.VC90.CRT/msvcr90.dll', never
load
- library:
name='plugins/sqldrivers/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manif
est', never load
- library: name='plugins/sqldrivers/Microsoft.VC90.CRT/msvcm90.dll', never
load
- library: name='plugins/sqldrivers/Microsoft.VC90.CRT/msvcp90.dll', never
load
- library: name='plugins/sqldrivers/Microsoft.VC90.CRT/msvcr90.dll', never
load
- plugin path='plugins'
- using cache directory:
'C:\DOCUME~1\inno\LOCALS~1\Temp\QtJambi_inno_x86_4.6.0
_msvc2008-20100115-1352'
- cache directory exists
Loading library: 'QtCore4.dll'...
- using deployment spec
at com.trolltech.qt.internal.NativeLibraryManager.loadNativeLibrary(Nati
veLibraryManager.java:431)
at com.trolltech.qt.internal.NativeLibraryManager.loadQtLibrary(NativeLi
braryManager.java:355)
at com.trolltech.qt.Utilities.loadQtLibrary(Utilities.java:145)
at com.trolltech.qt.Utilities.loadQtLibrary(Utilities.java:141)
at com.trolltech.qt.QtJambi_LibraryInitializer.<clinit>(QtJambi_LibraryI
nitializer.java:56)
... 15 more
Caused by: java.lang.UnsatisfiedLinkError: C:\Documents and
Settings\inno\Local
Settings\Temp\QtJambi_inno_x86_4.6.0_msvc2008-20100115-1352\bin\QtCore4.dll:
Thi
s application has failed to start because the application configuration is
incor
rect. Reinstalling the application may fix this problem
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.Runtime.load(Unknown Source)
at com.trolltech.qt.internal.NativeLibraryManager.loadLibrary_helper(Nat
iveLibraryManager.java:458)
at com.trolltech.qt.internal.NativeLibraryManager.loadNativeLibrary(Nati
veLibraryManager.java:426)
... 19 more
Z:\code\project\eclipse-workspace\application.Player_Simple\Player_Simple_Wi
ndow
_______________________________________________
Qt-jambi-interest mailing list
Qt-jambi-interest at trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-jambi-interest
--
SEQIS Spam & Virus Agent: Message ok
--
SEQIS Spam & Virus Agent: Message ok
_______________________________________________
Qt-jambi-interest mailing list
Qt-jambi-interest at trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-jambi-interest
_______________________________________________
Qt-jambi-interest mailing list
Qt-jambi-interest at trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-jambi-interest
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt.nokia.com/pipermail/qt-jambi-interest/attachments/20100127/9efe21be/attachment.html
More information about the Qt-jambi-interest
mailing list