Trolltech Home | Qt-jambi-interest Home | Recent Threads | All Threads | Author | Date
All threads index page 1

Qt-jambi-interest Archive, September 2007
Switching target host on Windows XP


Message 1 in thread

I'm trying to setup a demo, but when I try to pack everything in a single
zip and unzip them on another machine than my developer machine, with jambi
in a separate directory (just like it's beeing downloaded from TrollTech, I
encounter the stack below. I thought it was due to java not beeing able to
find the binaries, but it didn't help much putting the dll files in a
directory pointed to by the PATH. Any ideas? Some system dll's missing which
I might have on my developer machine because of my Visual Studio
installation or something strange like that?

Exception in thread "main" java.lang.UnsatisfiedLinkError:
com.trolltech.qt.core
.QtJambi_LibraryInitializer.__qt_initLibrary()V
at com.trolltech.qt.core.QtJambi_LibraryInitializer.__qt_initLibrary(Nat
ive Method)
at com.trolltech.qt.core.QtJambi_LibraryInitializer.<clinit>(QtJambi_Lib
raryInitializer.java:10)
at com.trolltech.qt.core.QAbstractFileEngineHandler.<clinit>(QAbstractFi
leEngineHandler.java:10)
at com.trolltech.qt.QtJambi_LibraryInitializer.<clinit>(QtJambi_LibraryI
nitializer.java:24)
at com.trolltech.qt.QtJambiObject.<clinit>(QtJambiObject.java:29)
at com.poseidon.simulation.standalone.VhfClient.main(VhfClient.java:23)
c:\radio-holland-stand-alone\bin>client.bat
Exception in thread "main" java.lang.UnsatisfiedLinkError:
com.trolltech.qt.core.QtJambi_LibraryInitializer.__qt_i
at com.trolltech.qt.core.QtJambi_LibraryInitializer.__qt_initLibrary(Native
Method)
at com.trolltech.qt.core.QtJambi_LibraryInitializer
.<clinit>(QtJambi_LibraryInitializer.java:10)
at com.trolltech.qt.core.QAbstractFileEngineHandler.<clinit>(
QAbstractFileEngineHandler.java:10)
at com.trolltech.qt.QtJambi_LibraryInitializer
.<clinit>(QtJambi_LibraryInitializer.java:24)
at com.trolltech.qt.QtJambiObject.<clinit>(QtJambiObject.java:29)

Regards,
Helge Fredriksen

Message 2 in thread

Helge Fredriksen wrote:
> I'm trying to setup a demo, but when I try to pack everything in a single
> zip and unzip them on another machine than my developer machine, with jambi
> in a separate directory (just like it's beeing downloaded from TrollTech, I
> encounter the stack below. I thought it was due to java not beeing able to
> find the binaries, but it didn't help much putting the dll files in a
> directory pointed to by the PATH. Any ideas? Some system dll's missing which
> I might have on my developer machine because of my Visual Studio
> installation or something strange like that?

Hi Helge,

All the dll's that we depend on should be in the package. For the 
commercial package, this should be msvcr80.dll and msvcp80.dll. If you 
moved Qt Jambi to another machine that didn't have Visual Studio 
installed you have to make sure that these are available in PATH or 
already installed on the machine.

see:
http://doc.trolltech.com/qtjambi-4.3.1_01/com/trolltech/qt/qtjambi-deployment.html

Unlike the other libraries we ship, like qtjambi.dll and QtCore4.dll the 
  msvc runtimes are not explicitly loaded by the binary package, so you 
actually need to have them in your path...

The easiest thing is probably to bundle all the libraries into a .jar 
file and use the "qt_system_libs" as described in the package. You can 
of course also sneak a peek on webstart binaries to see how its solved 
in practice.

see:
http://dist.trolltech.com/developer/download/webstart/qtjambi-win32-gpl-4.3.1_01.jar

hope this helps,
Gunnar


> Exception in thread "main" java.lang.UnsatisfiedLinkError:
> com.trolltech.qt.core
> .QtJambi_LibraryInitializer.__qt_initLibrary()V
> at com.trolltech.qt.core.QtJambi_LibraryInitializer.__qt_initLibrary(Nat
> ive Method)
> at com.trolltech.qt.core.QtJambi_LibraryInitializer.<clinit>(QtJambi_Lib
> raryInitializer.java:10)
> at com.trolltech.qt.core.QAbstractFileEngineHandler.<clinit>(QAbstractFi
> leEngineHandler.java:10)
> at com.trolltech.qt.QtJambi_LibraryInitializer.<clinit>(QtJambi_LibraryI
> nitializer.java:24)
> at com.trolltech.qt.QtJambiObject.<clinit>(QtJambiObject.java:29)
> at com.poseidon.simulation.standalone.VhfClient.main(VhfClient.java:23)
> c:\radio-holland-stand-alone\bin>client.bat
> Exception in thread "main" java.lang.UnsatisfiedLinkError:
> com.trolltech.qt.core.QtJambi_LibraryInitializer.__qt_i
> at com.trolltech.qt.core.QtJambi_LibraryInitializer.__qt_initLibrary(Native
> Method)
> at com.trolltech.qt.core.QtJambi_LibraryInitializer
> .<clinit>(QtJambi_LibraryInitializer.java:10)
> at com.trolltech.qt.core.QAbstractFileEngineHandler.<clinit>(
> QAbstractFileEngineHandler.java:10)
> at com.trolltech.qt.QtJambi_LibraryInitializer
> .<clinit>(QtJambi_LibraryInitializer.java:24)
> at com.trolltech.qt.QtJambiObject.<clinit>(QtJambiObject.java:29)
> 
> Regards,
> Helge Fredriksen
> 


Message 3 in thread

> Hi Helge,
>
> All the dll's that we depend on should be in the package. For the
> commercial package, this should be msvcr80.dll and msvcp80.dll. If you
> moved Qt Jambi to another machine that didn't have Visual Studio
> installed you have to make sure that these are available in PATH or
> already installed on the machine.
>
> see:
> http://doc.trolltech.com/qtjambi-4.3.1_01/com/trolltech/qt/qtjambi-deployment.html
>
>
> Unlike the other libraries we ship, like qtjambi.dll and QtCore4.dll
> the  msvc runtimes are not explicitly loaded by the binary package, so
> you actually need to have them in your path...

Hmmm, tried to copy them to c:\windows\system32 without much luck. Same
error message appearing still.
>
> The easiest thing is probably to bundle all the libraries into a .jar
> file and use the "qt_system_libs" as described in the package. You can
> of course also sneak a peek on webstart binaries to see how its solved
> in practice.
A bit more eleborate deploying process than I had hoped for, though. If
would like to keep the "separate jambi dir" approach instead of using
executable jar, where in the file tree should we put the qt_system_libs
file?

Regards,
Helge Fredriksen


Message 4 in thread

Helge Fredriksen wrote:
>> Hi Helge,
>>
>> All the dll's that we depend on should be in the package. For the
>> commercial package, this should be msvcr80.dll and msvcp80.dll. If you
>> moved Qt Jambi to another machine that didn't have Visual Studio
>> installed you have to make sure that these are available in PATH or
>> already installed on the machine.
>>
>> see:
>> http://doc.trolltech.com/qtjambi-4.3.1_01/com/trolltech/qt/qtjambi-deployment.html
>>
>>
>> Unlike the other libraries we ship, like qtjambi.dll and QtCore4.dll
>> the  msvc runtimes are not explicitly loaded by the binary package, so
>> you actually need to have them in your path...
> 
> Hmmm, tried to copy them to c:\windows\system32 without much luck. Same
> error message appearing still.

Its a good idea to never put anything in c:\windows\system32, especially 
now that microsoft is moving to manifests based deployment.

>> The easiest thing is probably to bundle all the libraries into a .jar
>> file and use the "qt_system_libs" as described in the package. You can
>> of course also sneak a peek on webstart binaries to see how its solved
>> in practice.
> A bit more eleborate deploying process than I had hoped for, though. If
> would like to keep the "separate jambi dir" approach instead of using
> executable jar, where in the file tree should we put the qt_system_libs
> file?

qt_system_libs needs to be in the classpath root. What I aimed at here 
was that you create two .jar files, non of which are made executable. 
The first one contains.

./qt_system_libs
./qtjambi.dll
./com_trolltech_qt_core.dll
etc...

The other one contains the classes.

If you put both of these in our classpath it will load _exactly_ like 
the webstart does, which is why I pointed you to the webstart .jar file 
because it shows the exact structure the .jar file should have.

You can of course put all into one .jar file, but its nice to keep the 
classes and the binaries separate, I think.

If it still doesn't load, could you please give me some more details on 
which config/setup you have here? windows version, verbose-loading 
output, etc?

best regards,
Gunnar