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

Qt-jambi-interest Archive, June 2007
Qt Jambi final version released

Pages: Prev | 1 | 2 | Next

Message 1 in thread

Hi guys,

Just to let you know, Qt Jambi 4.3.0_01 was released today.

Check out:
http://trolltech.com/company/newsroom/announcements/press.2007-06-06.2984198523
and
http://labs.trolltech.com/blogs/2007/06/06/qt-jambi-430_01-released/
for details.

Happy Coding!

-
The Qt Jambi Team


Message 2 in thread

> Just to let you know, Qt Jambi 4.3.0_01 was released today.

Very cool.  I assume the source package still needs the private headers from the Qt
package?  I'm getting this error in building:

g++ -c -pipe -g -D_REENTRANT -Wall -W -fPIC -DQT_QTJAMBI_IMPORT -DQT_SCRIPT_LIB
-DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
-I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtDesigner
-I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui
-I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtXml
-I/usr/include/qt4/QtScript -I/usr/include/qt4/QtScript -I/usr/include/qt4
-I../qtjambi -I../common -I/opt/sun-jdk-1.5.0.11/include
-I/opt/sun-jdk-1.5.0.11/include/linux -I. -I. -o jambipropertysheet.o
jambipropertysheet.cpp
jambipropertysheet.cpp:30:50: error: QtDesigner/private/qdesigner_utils_p.h: No such
file or directory
jambipropertysheet.cpp:38: error: 'qdesigner_internal' is not a namespace-name
jambipropertysheet.cpp:38: error: expected namespace-name before ';' token
jambipropertysheet.cpp: In function 'QVariant qVariantEnum(JNIEnv*, _jobject*)':
jambipropertysheet.cpp:79: error: 'EnumType' was not declared in this scope
jambipropertysheet.cpp:79: error: expected `;' before 'et'
jambipropertysheet.cpp:80: error: 'et' was not declared in this scope
jambipropertysheet.cpp: In function 'QVariant qVariantFlag(JNIEnv*, _jobject*)':
jambipropertysheet.cpp:92: error: 'FlagType' was not declared in this scope
jambipropertysheet.cpp:92: error: expected `;' before 'ft'
jambipropertysheet.cpp:93: error: 'ft' was not declared in this scope
make[1]: *** [jambipropertysheet.o] Error 1
make[1]: Leaving directory `/home/tc/qtjambi-gpl-src-4.3.0_01/qtjambi_designer'
make: *** [sub-qtjambi_designer-make_default-ordered] Error 2



Message 3 in thread

> Just to let you know, Qt Jambi 4.3.0_01 was released today.

Sorry if sending bug reports here isn't preferred, let me know if I need to file
them in the task tracker.

Building the source against a 4.3.0 installation yields this (after fixing other
noted issues):

----

 -I. -o qtjambi_libraryinitializer.o
../cpp/com_trolltech_qt_gui/qtjambi_libraryinitializer.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -fPIC -DQT_QTJAMBI_IMPORT -DQT_GUI_LIB
-DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I.
-I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui
-I/usr/include/qt4/QtGui -I/usr/include/qt4 -I../qtjambi -I../common
-I/opt/sun-jdk-1.5.0.11/include -I/opt/sun-jdk-1.5.0.11/include/linux -I. -I. -o
qtjambishell_QTreeModel.o ../cpp/com_trolltech_qt_gui/qtjambishell_QTreeModel.cpp
../cpp/com_trolltech_qt_gui/qtjambishell_QTreeModel.cpp: In member function 'virtual
QIcon QtJambiShell_QTreeModel::icon(_jobject*) const':
../cpp/com_trolltech_qt_gui/qtjambishell_QTreeModel.cpp:112: error: return type
'struct QIcon' is incomplete
../cpp/com_trolltech_qt_gui/qtjambishell_QTreeModel.cpp:122: error: variable 'QIcon
__qt_return_value' has initializer but incomplete type
../cpp/com_trolltech_qt_gui/qtjambishell_QTreeModel.cpp:122: error: invalid use of
undefined type 'struct QIcon'
/usr/include/qt4/QtCore/qmetatype.h:248: error: forward declaration of 'struct QIcon'
../cpp/com_trolltech_qt_gui/qtjambishell_QTreeModel.cpp:129: error: invalid use of
undefined type 'struct QIcon'
/usr/include/qt4/QtCore/qmetatype.h:248: error: forward declaration of 'struct QIcon'
../cpp/com_trolltech_qt_gui/qtjambishell_QTreeModel.cpp: In member function 'QIcon
QtJambiShell_QTreeModel::__override_icon(_jobject*, bool) const':
../cpp/com_trolltech_qt_gui/qtjambishell_QTreeModel.cpp:187: error: return type
'struct QIcon' is incomplete
../cpp/com_trolltech_qt_gui/qtjambishell_QTreeModel.cpp:190: error: invalid use of
undefined type 'struct QIcon'
/usr/include/qt4/QtCore/qmetatype.h:248: error: forward declaration of 'struct QIcon'
../cpp/com_trolltech_qt_gui/qtjambishell_QTreeModel.cpp: In function '_jobject*
Java_com_trolltech_qt_gui_QTreeModel__1_1qt_1icon_1java_1lang_1Object__JLjava_lang_Object_2(JNIEnv*,
_jclass*, jlong, _jobject*)':
../cpp/com_trolltech_qt_gui/qtjambishell_QTreeModel.cpp:544: error: variable 'QIcon
__qt_return_value' has initializer but incomplete type
make[1]: *** [qtjambishell_QTreeModel.o] Error 1

---

This is obviously easily fixed by adding an "#include <QIcon>" to this file.


Message 4 in thread

> Just to let you know, Qt Jambi 4.3.0_01 was released today.

The next issue I run after fixing previously mentioned ones into is this:


g++ -c -pipe -g -D_REENTRANT -Wall -W -fPIC -DQT_QTJAMBI_IMPORT -DQT_SCRIPT_LIB
-DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
-I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtDesigner
-I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui
-I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtXml
-I/usr/include/qt4/QtScript -I/usr/include/qt4/QtScript -I/usr/include/qt4
-I../qtjambi -I../common -I/opt/sun-jdk-1.5.0.11/include
-I/opt/sun-jdk-1.5.0.11/include/linux -I. -I. -o qtjambishell_JambiResourceBrowser.o
../cpp/com_trolltech_tools_designer/qtjambishell_JambiResourceBrowser.cpp
../cpp/com_trolltech_tools_designer/qtjambishell_JambiResourceBrowser.cpp: In
function 'void
Java_com_trolltech_tools_designer_JambiResourceBrowser__1_1qt_1JambiResourceBrowser_1QWidget__J(JNIEnv*,
_jobject*, jlong)':
../cpp/com_trolltech_tools_designer/qtjambishell_JambiResourceBrowser.cpp:81: error:
cannot allocate an object of abstract type 'QtJambiShell_JambiResourceBrowser'
../cpp/com_trolltech_tools_designer/qtjambishell_JambiResourceBrowser.h:12: note:  
because the following virtual functions are pure within
'QtJambiShell_JambiResourceBrowser':
/usr/include/qt4/QtDesigner/abstractresourcebrowser.h:40: note:         virtual void
QDesignerResourceBrowserInterface::setCurrentPath(const QString&)
/usr/include/qt4/QtDesigner/abstractresourcebrowser.h:41: note:         virtual
QString QDesignerResourceBrowserInterface::currentPath() const
make[1]: *** [qtjambishell_JambiResourceBrowser.o] Error 1
make[1]: Leaving directory `/home/tc/qtjambi-gpl-src-4.3.0_01/qtjambi_designer'


Note that this likely stems back to a warning I got when I ran the generator:


tc@tc12 ~/qtjambi-gpl-src-4.3.0_01/generator $ ./generator
WARNING(MetaJavaBuilder) :: unknown baseclass for 'QTreeModel': 'QAbstractItemModel'
WARNING(MetaJavaBuilder) :: unknown baseclass for 'JambiResourceBrowser':
'QDesignerResourceBrowserInterface'
WARNING(MetaJavaBuilder) :: unknown baseclass for 'JambiMemberSheet': 'QObject'
WARNING(MetaJavaBuilder) :: unknown baseclass for 'JambiPropertySheet': 'QObject'
Classes in typesystem: 4
Generated:
  - java......: 4
  - cpp-impl..: 4
  - cpp-h.....: 3
  - meta-info.: 2
Done, 4 warnings (4 known issues)



Message 5 in thread

Hi, Caleb.

Caleb Tennis wrote:

>>Just to let you know, Qt Jambi 4.3.0_01 was released today.
>>    
>>
>
>The next issue I run after fixing previously mentioned ones into is this:
>  
>

We have never seen any of these compile issues before. Which platform 
are you on, please, and which version of gcc and Qt are you using? We'll 
try to reproduce the problems.

-- Eskil



Message 6 in thread

>
> We have never seen any of these compile issues before. Which  
> platform are you on, please, and which version of gcc and Qt are  
> you using? We'll try to reproduce the problems.
>

Certainly. This is linux, I'm using gcc 4.1.2 and I'm compiling  
against Qt 4.3.0.  The Qt install was compiled from source with a few  
options, like -qt3support and -dbus.  I don't know if the  
configuration options might have an impact on this or not.  You can  
mail me directly if you would like more details or information as to  
how I'm causing these conditions.

Thanks,
Caleb


Message 7 in thread

On 07/06/07, Eskil Abrahamsen Blomfeldt <eblomfel@xxxxxxxxxxxxx> wrote:
> We have never seen any of these compile issues before. Which platform
> are you on, please, and which version of gcc and Qt are you using? We'll
> try to reproduce the problems.

I have the same compile problem using GCC 4.1.3 and Qt 4.3.0 on
openSUSE 10.2 x86_64 Using shipped GCC and the Qt packages from
http://software.opensuse.org/download/KDE:/Qt/openSUSE_10.2/x86_64/

_
Benjamin Weber


Message 8 in thread

> I have the same compile problem using GCC 4.1.3 and Qt 4.3.0 on
> openSUSE 10.2 x86_64 Using shipped GCC and the Qt packages from
> http://software.opensuse.org/download/KDE:/Qt/openSUSE_10.2/x86_64/

As an experiment, I commented out all of the designer related code generation steps
in the .pro files, and tried to build the system.  Generator doesn't seem to be
making very many java files.  After I run through all of the build steps, and get
ready to run "javac @java_files", it bails.  This is why:

tc@tc12 ~/qtjambi-gpl-src-4.3.0_01 $ ls com/trolltech/qt/core
QInvokable.java  QMessageHandler.java  QModelIndex.java


I'm wondering if either an important step is left out of the BUILD list, or if the
release download may not have had all of the necessary commits included?

Caleb


Message 9 in thread

Hi, Caleb.

Caleb Tennis wrote:

>
>tc@tc12 ~/qtjambi-gpl-src-4.3.0_01 $ ls com/trolltech/qt/core
>QInvokable.java  QMessageHandler.java  QModelIndex.java
>
>
>I'm wondering if either an important step is left out of the BUILD list, or if the
>release download may not have had all of the necessary commits included?
>  
>

Is your QTDIR environment variable set so that all the Qt headers are 
available from $QTDIR/include? Looking at the output you pasted, it 
seems you are using /usr/include/qt4 as your include directory. Trying 
this, I can reproduce the warning messages you got from the generator.

Unfortunately, having the header files in this specific location is 
required in the current release in order to build from source. This 
information is missing from the instructions currently.

We'll also see about making this more flexible in future releases..

-- Eskil


Message 10 in thread

> Is your QTDIR environment variable set so that all the Qt headers are
> available from $QTDIR/include? Looking at the output you pasted, it
> seems you are using /usr/include/qt4 as your include directory. Trying
> this, I can reproduce the warning messages you got from the generator.

Indeed, that was it.  I was under the impression that QTDIR wasn't used for Qt4, so
it was actually pointing to my Qt3 installation.  I fiddled with the jambi source
and set my QTDIR accordingly.  It seems to be building fine now.

> Unfortunately, having the header files in this specific location is
> required in the current release in order to build from source. This
> information is missing from the instructions currently.
>
> We'll also see about making this more flexible in future releases..

Sounds good.  Glad it was an easy thing to fix.



Message 11 in thread

> Until then, I'm glad the problem was resolved. Have a nice day!

Two more issues:

The "java_files" list contains QAccessible related java files to build, but my
particular Qt was build with the "-accessible" option, so those .java files aren't
created by the generator.  I just removed them from the java_files list and the
build continued fine.

I got to step #"5" of the build where it say to read the README file to continue. 
But note that there's no qtjambi.sh or qtjambi.bat to utilize as per the README. 
Furthermore, I don't see where qtjambi.jar has been built.  All of the files in lib/
are there, but no qtjambi.jar.

Caleb




Message 12 in thread

Hi, Caleb.

Caleb Tennis wrote:

>Two more issues:
>
>The "java_files" list contains QAccessible related java files to build, but my
>particular Qt was build with the "-accessible" option, so those .java files aren't
>created by the generator.  I just removed them from the java_files list and the
>build continued fine.
>  
>

Yes, the java_files list is based on a default configuration of Qt. If 
Qt is configured differently, then the list will have to be updated, or 
the java files will have to be compiled without using this script (e.g. 
using an IDE that supports this, or building the .java files from the 
command line.)

>I got to step #"5" of the build where it say to read the README file to continue. 
>But note that there's no qtjambi.sh or qtjambi.bat to utilize as per the README. 
>Furthermore, I don't see where qtjambi.jar has been built.  All of the files in lib/
>are there, but no qtjambi.jar.
>
>  
>

If you wish to put the class files into a .jar file, this can be done by 
using the jar tool which is part of the Java SDK distribution. It is 
however not required for running against Qt Jambi, as you can set your 
CLASSPATH to point to your Qt Jambi installation directory.

The qtjambi.sh/qtjambi.exe files are only part of the binary packages. 
We will update the README file to reflect this. In order to run a Qt 
Jambi application, you will need to set your LD_LIBRARY_PATH to point to 
"path/to/jambi/lib" and your class path to point to "path/to/jambi". 
This should sufficient to run the examples once the library has been 
built. You can run the demo launcher using the command

    java com.trolltech.launcher.Launcher

Thanks for you feedback!

-- Eskil


Message 13 in thread

> Yes, the java_files list is based on a default configuration of Qt. If
> Qt is configured differently, then the list will have to be updated, or
> the java files will have to be compiled without using this script (e.g.
> using an IDE that supports this, or building the .java files from the
> command line.)

Check.

> The qtjambi.sh/qtjambi.exe files are only part of the binary packages.
> We will update the README file to reflect this. In order to run a Qt
> Jambi application, you will need to set your LD_LIBRARY_PATH to point to
> "path/to/jambi/lib" and your class path to point to "path/to/jambi".
> This should sufficient to run the examples once the library has been
> built. You can run the demo launcher using the command
>
>     java com.trolltech.launcher.Launcher

Trying to play with that now, but I'm getting the classic error:

Command:

LD_LIBRARY_PATH=/home/tc/qtjambi-gpl-src-4.3.0_01/lib
PATH=/home/tc/qtjambi-gpl-src-4.3.0_01/bin:$PATH java -cp .
com.trolltech.launcher.Launcher

Error:

Exception in thread "main" java.lang.UnsatisfiedLinkError: __qt_initLibrary
        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:35)
        at com.trolltech.qt.QtJambiObject.<clinit>(QtJambiObject.java:40)

There are a slew of shared libraries in the lib/ directory, but they all are
"debuglib" (e.g., libcom_trolltech_qt_core_debuglib.so).  I assume that's okay?  The
binary download version doesn't have "debuglib" in the library names.


I'm toying around looking in com.trolltech.qt.Utilities.java right now to see if
there's some other magic I need to do with the paths for the libraries.


> Thanks for you feedback!

Hope it's helps.

Caleb




Message 14 in thread

Caleb Tennis wrote:

>
>There are a slew of shared libraries in the lib/ directory, but they all are
>"debuglib" (e.g., libcom_trolltech_qt_core_debuglib.so).  I assume that's okay?  The
>binary download version doesn't have "debuglib" in the library names.
>
>  
>

Ah, sorry. For a debug build, you will have to specify the argument 
-Dcom.trolltech.qt.debug=true when you run java, or it will try to load 
the release libraries. If you have further issues, you can also specify 
-Dcom.trolltech.qt.verbose-loading=true in order to gain some insight 
into which libraries might be failing to load and why.

Like this:

    java -Dcom.trolltech.qt.debug=true 
-Dcom.trolltech.qt.verbose-loading=true com.trolltech.launcher.Launcher

Hope this helps!

-- Eskil


Message 15 in thread

> Ah, sorry. For a debug build, you will have to specify the argument
> -Dcom.trolltech.qt.debug=true when you run java, or it will try to load
> the release libraries. If you have further issues, you can also specify
> -Dcom.trolltech.qt.verbose-loading=true in order to gain some insight
> into which libraries might be failing to load and why.
>
> Like this:
>
>     java -Dcom.trolltech.qt.debug=true
> -Dcom.trolltech.qt.verbose-loading=true com.trolltech.launcher.Launcher

That was it!

Caleb



Pages: Prev | 1 | 2 | Next