Hi Darryl, et. al.

I finally got the awt bridge to build, and there weren't any errors that I 
could find. However, when I tried to use it in a test, I got this:

java.lang.NoClassDefFoundError: com/trolltech/qt/osinfo/OSInfo
        at 
com.trolltech.research.qtjambiawtbridge.generated.QtJambi_LibraryInitializer.<clinit>(QtJambi_LibraryInitializer.java:9)
        at 
com.trolltech.research.qtjambiawtbridge.generated.QComponentHostNative.<clinit>(QComponentHostNative.java:11)
        at elsetplot.MainWindow.plotData(MainWindow.java:394)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
com.trolltech.qt.internal.QSignalEmitterInternal$AbstractSignalInternal.emit_helper(QSignalEmitterInternal.java:368)
        at com.trolltech.qt.QSignalEmitter$Signal2.emit(QSignalEmitter.java:227)
        at elsetplot.PlotControls.executePlot(PlotControls.java:1069)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
com.trolltech.qt.internal.QSignalEmitterInternal$AbstractSignalInternal.emit_helper(QSignalEmitterInternal.java:368)
        at com.trolltech.qt.QSignalEmitter$Signal1.emit(QSignalEmitter.java:209)
        at com.trolltech.qt.gui.QDialog.__qt_exec(Native Method)
        at com.trolltech.qt.gui.QDialog.exec(QDialog.java:92)
        at elsetplot.MainWindow.plotControls(MainWindow.java:381)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
com.trolltech.qt.internal.QSignalEmitterInternal$AbstractSignalInternal.emit_helper(QSignalEmitterInternal.java:368)
        at com.trolltech.qt.QSignalEmitter$Signal1.emit(QSignalEmitter.java:209)
        at com.trolltech.qt.gui.QApplication.exec(Native Method)
        at elsetplot.MainWindow.main(MainWindow.java:95)
Caused by: java.lang.ClassNotFoundException: com.trolltech.qt.osinfo.OSInfo
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        ... 27 more
Exception caught after invoking slot
java.lang.UnsatisfiedLinkError: 
com.trolltech.research.qtjambiawtbridge.generated.QComponentHostNative.__qt_QComponentHostNative_QWidget(J)V
        at 
com.trolltech.research.qtjambiawtbridge.generated.QComponentHostNative.__qt_QComponentHostNative_QWidget(Native
 Method)
        at 
com.trolltech.research.qtjambiawtbridge.generated.QComponentHostNative.<init>(QComponentHostNative.java:20)
        at 
com.trolltech.research.qtjambiawtbridge.QComponentHost.<init>(QComponentHost.java:69)
        at 
com.trolltech.research.qtjambiawtbridge.QComponentHost.<init>(QComponentHost.java:65)
        at elsetplot.MainWindow.plotData(MainWindow.java:394)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
com.trolltech.qt.internal.QSignalEmitterInternal$AbstractSignalInternal.emit_helper(QSignalEmitterInternal.java:368)
        at com.trolltech.qt.QSignalEmitter$Signal2.emit(QSignalEmitter.java:227)
        at elsetplot.PlotControls.executePlot(PlotControls.java:1069)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
com.trolltech.qt.internal.QSignalEmitterInternal$AbstractSignalInternal.emit_helper(QSignalEmitterInternal.java:368)
        at com.trolltech.qt.QSignalEmitter$Signal1.emit(QSignalEmitter.java:209)
        at com.trolltech.qt.gui.QDialog.__qt_exec(Native Method)
        at com.trolltech.qt.gui.QDialog.exec(QDialog.java:92)
        at elsetplot.MainWindow.plotControls(MainWindow.java:381)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
com.trolltech.qt.internal.QSignalEmitterInternal$AbstractSignalInternal.emit_helper(QSignalEmitterInternal.java:368)
        at com.trolltech.qt.QSignalEmitter$Signal1.emit(QSignalEmitter.java:209)
        at com.trolltech.qt.gui.QApplication.exec(Native Method)
        at elsetplot.MainWindow.main(MainWindow.java:95)
ElsetPlot: unknown error caught- 
java.lang.NullPointerException
        at elsetplot.MainWindow.reDrawPlot(MainWindow.java:422)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
com.trolltech.qt.internal.QSignalEmitterInternal$AbstractSignalInternal.emit_helper(QSignalEmitterInternal.java:368)
        at com.trolltech.qt.QSignalEmitter$Signal0.emit(QSignalEmitter.java:193)
        at elsetplot.PlotControls.executePlot(PlotControls.java:1071)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
com.trolltech.qt.internal.QSignalEmitterInternal$AbstractSignalInternal.emit_helper(QSignalEmitterInternal.java:368)
        at com.trolltech.qt.QSignalEmitter$Signal1.emit(QSignalEmitter.java:209)
        at com.trolltech.qt.gui.QDialog.__qt_exec(Native Method)
        at com.trolltech.qt.gui.QDialog.exec(QDialog.java:92)
        at elsetplot.MainWindow.plotControls(MainWindow.java:381)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
com.trolltech.qt.internal.QSignalEmitterInternal$AbstractSignalInternal.emit_helper(QSignalEmitterInternal.java:368)
        at com.trolltech.qt.QSignalEmitter$Signal1.emit(QSignalEmitter.java:209)
        at com.trolltech.qt.gui.QApplication.exec(Native Method)
        at elsetplot.MainWindow.main(MainWindow.java:95)



Have you seen errors like this before?

-Doug



________________________________
 From: Darryl Miles <darryl-mailingli...@netbauds.net>
To: doug brann <dorsal_f...@yahoo.com> 
Cc: Ivan Brezina <ibre5...@ibrezina.net>; Frank T. Bergmann 
<fberg...@caltech.edu>; "qt-jambi-interest@qt.nokia.com" 
<qt-jambi-interest@qt.nokia.com> 
Sent: Tuesday, 16 October 2012 7:59 AM
Subject: Re: [Qt-jambi-interest] Jambi 4.7 release can't find 
com_trolltech_research_qtjambiawtbridge_generated.pri
 
doug brann wrote:
> When you run vcvars32.bat, it seems to set the envs in quote marks ("
> "). I guess in Windows, that's how you tell the OS to read spaces as
> part of a path. Frank reminded me of this over the weekend.

I don't see any extra quote marks myself in my environment (when I run command 
"set").  Maybe you have ended up putting quote marks into the value of the 
envvar; which would be an error.

Using:

set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_35

with the spaces as written make the value correct as viewed by 'set' command 
allowing you do to: dir "%JAVA_HOME%"


Doing:

set JAVA_HOME="C:\Program Files\Java\jdk1.6.0_35"

Running the command 'dir %JAVA_HOME%' will now work but the command 'dir 
"%JAVA_HOME%"' will not work.  But it working does not mean it is correct.  The 
quote marks end up in the value, this is bad.

This is standard Windows quirkiness, not really a QtJambi issue.


Generally speaking there should not be any quotation marks visible in the 
output of 'set'.  If you see quote marks then that is an area to look at fixing.



> Anyhow, I did that part, I was able to build any version of Jambi that
> had a build.bat in it.

All those versions are incompatible with the awtbridge you are using.



> I had to make some slight mods to the awtbridge
> build.bat to look for stuff in Jambi in the correct directory (instead
> of src/cpp, just cpp -- that kind of thing). Once I did that, I was off
> and running. But I stumbled pretty quickly when I tried to use the
> generator (also in a different directory) on typesystem_qawt.xml I still
> don't have a clue how to get past that. Is something wrong with
> generator? Has anyone seen that error before?
> 
> c:\qt-jambi-dlmiles-qtjambi-community-awtbridge>"C:\qt-jambi-qtjambi-4_7\generator\release\generator.exe"
> "--include-paths=C:\qt-jambi-dlmiles-qtjambi-community-awtbridge;C:\qt-jambi-qtjambi-4_7\generator\;C:\qt-jambi-qtjambi-4_7\generator\typesystem;C:\qt-jambi-qtjambi-4_7\generator\parser\;C:\qt-jambi-qtjambi-4_7\generator\rpp;C:\qt-jambi-qtjambi-4_7\cpp;C:\Program
> Files (x86)\Java\jdk1.6.0_27\include\;C:\Program Files
> (x86)\Java\jdk1.6.0_27\include\win32;c:\Program Files (x86)\Microsoft
> Visual Studio 9.0\VC\INCLUDE;C:\Program Files\Microsoft
> SDKs\Windows\v6.0A\include;c:\Program Files (x86)\Microsoft Visual
> Studio 9.0\VC\INCLUDE;C:\Program Files\Microsoft
> SDKs\Windows\v6.0A\include;"
> "--qt-include-directory=C:\Qt\4.6.2\include"
> "--input-directory=C:\qt-jambi-dlmiles-qtjambi-community-awtbridge;C:\qt-jambi-qtjambi-4_7\build\generator;C:\qt-jambi-qtjambi-4_7\generator"
> "--output-directory=C:\qt-jambi-dlmiles-qtjambi-community-awtbridge\build"
> global.h typesystem_qawt.xml
> Fatal error: line=1, column=1, message=unexpected end of file
> 
> Fatal error: line=2, column=63, message=Failed to parse:
> 'typesystem_core.xml'

Well for a start I don't think generator supports "--include-paths" option in 
tree 'qt-jambi-qtjambi-4_7' and I'm not sure what generator does with command 
line options it does not understand.

From the output above it looks to have interpreted the 3 options 
--qt-include-directory --input-directory --output-directory as paths to files.

Like I say you are pretty much on your own when trying to use tree 
'qt-jambi-qtjambi-4_7'.  There isn't any additional assistance I can provide 
with the combination.





Building QtJambi on windows:

vcvars32.bat
git clone on qtjambi-community
cd C:\qtjambi-buildtree
set QTDIR=C:\QtSDK\Desktop\Qt\4.7.4
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_35
REM - Install and setup Apache ANT in %PATH%
REM - Edit *.properties files to suit
ant init.build
REM - TAKE A LOOK AT THE OUTPUT FROM THE LAST COMMAND
ant all tests.compile
REM - NEXT STEP IS OPTIONAL RUNNING UNIT TESTS
ant tests.run


git clone on awtbridge (keep environment as above) :
cd C:\qtjambi-awtbridge
set JAMBIDIR=C:\qtjambi-buildtree
REM - TAKE A LOOK AT build.bat WORK THROUGH COMMENTS AND FIXUP
REM - IN PARTICULAR %JAMBIDIR% and %AWTBRIDGEDIR%
build.bat


The AWT tree is a work in progress and anyone looking at it is expected to have 
an understanding of what is going on during the build process.

At some point in the future I expect an ant/maven/gradle buildtool making it 
easier to digest and configure itself (like the main QtJambi project does).

Worse case scenario run each command manually in the build.bat from the command 
line.



Darryl
_______________________________________________
Qt-jambi-interest mailing list
Qt-jambi-interest@qt.nokia.com
http://lists.qt.nokia.com/mailman/listinfo/qt-jambi-interest

Reply via email to