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" <[email protected]>
Cc: [email protected]
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"<[email protected]>
To: "Bruno Janvier"<[email protected]>
Cc: [email protected]
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<  [email protected]>
Date: 2010/1/27
Subject: Re: [Qt-jambi-interest] Fwd: Problem with QtJambi 4.6 Win 32 Community
To: Bruno Janvier<  [email protected]>


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<  [email protected]>  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<  [email protected]>
Date: 2010/1/27
Subject: Re: [Qt-jambi-interest] Problem with QtJambi 4.6 Win 32 Community
To: Bruno Janvier<  [email protected]>


Windows Xp sp 2


On Wed, Jan 27, 2010 at 5:39 AM, Bruno Janvier<  [email protected]>  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_Window

   
    

_______________________________________________
Qt-jambi-interest mailing list
[email protected]
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
[email protected]
http://lists.trolltech.com/mailman/listinfo/qt-jambi-interest
  

_______________________________________________
Qt-jambi-interest mailing list
[email protected]
http://lists.trolltech.com/mailman/listinfo/qt-jambi-interest

Reply via email to