PDA

View Full Version : Qwt for Mac OS X



munna
8th April 2006, 13:45
Hi,

Is there a way by which I can get qwt running for mac (Open Source).

Thanks.

Uwe
8th April 2006, 15:36
Is there a way by which I can get qwt running for mac (Open Source).

Qwt depends on Qt only, not on any particular OS.
Build it wherever (including the Mac) you want and use it.

Uwe

Shambhavi
16th April 2006, 08:50
On running the qmake command for building qwt on Mac OS X 10,
I get the following error!

QGDict::hashKeyString: Invalid null key

What do I do to fix this and successfully run qmake?

PS: I have installed QT 3.3.6!

dimitri
16th April 2006, 13:05
You already have Qt 3.3.6 installed.

Have you installed Qt yourself? Built Qt from sources?
Which version of Qwt is this?
When exactly do you see this error message? Can you post a complete build log?

Shambhavi
17th April 2006, 08:14
* Have you installed Qt yourself? Built Qt from sources?
Yes, I have built it from the source following the instruction manual for installing Qt/Mac version 3.3.6 (for Mac OS X).

* Which version of Qwt is this?
Qwt-4.2.0

* When exactly do you see this error message? Can you post a complete build log?
In order to build Qwt, I just gave qmake command on the terminal and this is what i got:

comp:/developer/qwt-4.2.0 user$ qmake
QGDict::hashKeyString: Invalid null key
comp:/developer/qwt-4.2.0 user$

dimitri
17th April 2006, 10:33
In order to build Qwt, I just gave qmake command on the terminal and this is what i got:
Just to make sure, which qmake is this? The one in Qt 3.3.6? What is the value of the PATH environment variable? What is the output of which qmake? Is there another version of Qt installed on this system?

Shambhavi
17th April 2006, 11:08
On running 'qmake -v' i get:
Qmake version: 1.07a (Qt 3.3.6)
Qmake is free software from Trolltech AS.

$PATH gives:
-bash: /Developer/qt/bin:/bin:/sbin:/usr/bin:/usr/sbin: No such file or directory

$QTDIR gives:
-bash: /Developer/qt: is a directory

I have tried installing Qt-4.1.1-mac-opensource, but havent set the evironment variables for it.

dimitri
17th April 2006, 14:03
Everything looks correct. I had already seen reports about this specific error message, but I thought they had been fixed in newer versions of Qt 3.

Is this QGDict::hashKeyString: Invalid null key error really a showstopper? I mean, qmake may have generated a Makefile despite the error message?

Additionally I think Qwt has not been tested on Mac OS. You might want to ask for help on qwt-interest (http://sourceforge.net/mail/?group_id=13693).

Shambhavi
17th April 2006, 15:28
If I ignore this error and proceed with a make command: I get the following :

test -d lib/ || mkdir -p lib/
rm -f libqwt.4.2.0.dylib libqwt.dylib libqwt.4.dylib libqwt.4.2.dylib
c++ -headerpad_max_install_names -prebind -dynamiclib -compatibility_version 4.2 -current_version 4.2.0 -install_name libqwt.4.dylib -o libqwt.4.2.0.dylib src/obj/qwt_autoscl.o src/obj/qwt_curve.o src/obj/qwt_data.o src/obj/qwt_dimap.o src/obj/qwt_double_rect.o src/obj/qwt_event_pattern.o src/obj/qwt_grid.o src/obj/qwt_layout_metrics.o src/obj/qwt_legend.o src/obj/qwt_marker.o src/obj/qwt_math.o src/obj/qwt_painter.o src/obj/qwt_paint_buffer.o src/obj/qwt_picker.o src/obj/qwt_picker_machine.o src/obj/qwt_plot.o src/obj/qwt_plot_axis.o src/obj/qwt_plot_curve.o src/obj/qwt_plot_grid.o src/obj/qwt_plot_item.o src/obj/qwt_plot_print.o src/obj/qwt_plot_marker.o src/obj/qwt_plot_layout.o src/obj/qwt_plot_printfilter.o src/obj/qwt_plot_canvas.o src/obj/qwt_plot_picker.o src/obj/qwt_plot_zoomer.o src/obj/qwt_push_button.o src/obj/qwt_rect.o src/obj/qwt_scale.o src/obj/qwt_scldiv.o src/obj/qwt_scldraw.o src/obj/qwt_spline.o src/obj/qwt_symbol.o src/obj/qwt_dyngrid_layout.o src/obj/qwt_arrbtn.o src/obj/qwt_analog_clock.o src/obj/qwt_compass.o src/obj/qwt_compass_rose.o src/obj/qwt_dial.o src/obj/qwt_dial_needle.o src/obj/qwt_counter.o src/obj/qwt_drange.o src/obj/qwt_knob.o src/obj/qwt_sclif.o src/obj/qwt_sldbase.o src/obj/qwt_slider.o src/obj/qwt_text.o src/obj/qwt_thermo.o src/obj/qwt_wheel.o src/obj/moc_qwt_legend.o src/obj/moc_qwt_picker.o src/obj/moc_qwt_plot.o src/obj/moc_qwt_plot_canvas.o src/obj/moc_qwt_plot_picker.o src/obj/moc_qwt_plot_zoomer.o src/obj/moc_qwt_push_button.o src/obj/moc_qwt_scale.o src/obj/moc_qwt_dyngrid_layout.o src/obj/moc_qwt_analog_clock.o src/obj/moc_qwt_compass.o src/obj/moc_qwt_dial.o src/obj/moc_qwt_counter.o src/obj/moc_qwt_knob.o src/obj/moc_qwt_sldbase.o src/obj/moc_qwt_slider.o src/obj/moc_qwt_thermo.o src/obj/moc_qwt_wheel.o -L/Developer/qt/lib
ld: warning prebinding disabled because of undefined symbols
ld: Undefined symbols:
__ZN7QGArray10deleteDataEPNS_10array_dataE
__ZN7QGArray7newDataEv
...
/*There are Hundreds of such symbols listed which I am removing because if the word limit constraint*/
....
__ZN8QVariant7asBrushEv
__ZN8QVariantC1ERK6QBrush
/usr/bin/libtool: internal link edit command failed
make: *** [lib/libqwt.4.2.0.dylib] Error 1

Does this help? Will making any change in the .pro file help?
Thanks a lot Dimitri for your prompt replies and help so far!

dimitri
17th April 2006, 19:30
All the missing symbols are part of the Qt library. For some reason, while creating libqwt.4.2.0.dylib, the linker does not link with the Qt library and this seems to be required on Mac OS.

Shambhavi
20th April 2006, 09:26
Hurray I finally got QWT running on my Mac!
I removed CONFIG += thread int the .pro file of Qwt and the message went away and compiled fine.

Thank a lot for all your help!

dimitri
20th April 2006, 22:07
Ah, I see. Qwt expects a threaded version of the Qt library.
Looks like you've built Qt with thread support disabled.

This doesn't explain the cryptic qmake error message though...

Uwe
21st April 2006, 10:59
Qwt expects a threaded version of the Qt library. Looks like you've built Qt with thread support disabled.


In fact Qwt doesn't need threads. The only reason why it is enabled in qwt.pro is that the majority uses the multithreaded Qt library and Qwt/Qt need to be built with the same thread option.

Uwe

dimitri
21st April 2006, 22:35
In fact Qwt doesn't need threads.
Sure, I said it expects thread support, not that it needs thread support.