Page 1 of 1

Another installation problem (snaphot 20080530, QT 4.4.0)

Posted: Wed Jun 11, 2008 2:28 pm
by bre
After a total crash of the Linux system on my laptop, I had to install GEOPSY from scratch. I downloaded the latest snapshot (20080530) and also the latest QT (4.4.0).
I installed QT, but when I run "make" on sesarray now, I get the following error message:

g++ -c -include ../.obj/release/qtbtools -m64 -pipe -O2 -w -D_REENTRANT -fPIC -DMAKE_QTBTOOLS_DLL -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.4.0/mkspecs/linux-g++-64 -I. -I/usr/local/Trolltech/Qt-4.4.0/include/QtCore -I/usr/local/Trolltech/Qt-4.4.0/include/QtCore -I/usr/local/Trolltech/Qt-4.4.0/include -I. -I../ui -I../.moc -I../../3rdparty/include -I/home/bre/Download/sesarray-src-2.0.0-snapshot-20080530/include -I/usr/local/sesarray2.0.0-snapshot_20080530/include -I../.moc -I../ui -o ../.obj/release/qtbabstractprogress.o qtbabstractprogress.cpp
In file included from qtbabstractprogress.cpp:29:
qtbabstractprogress.h: In member function ‘void QtbAbstractProgress::increaseValue(int)’:
qtbabstractprogress.h:71: error: ‘q_atomic_set_int’ was not declared in this scope
qtbabstractprogress.h: In member function ‘void QtbAbstractProgress::setValue(int)’:
qtbabstractprogress.h:80: error: ‘q_atomic_set_int’ was not declared in this scope
qtbabstractprogress.cpp: In constructor ‘QtbAbstractProgress::QtbAbstractProgress()’:
qtbabstractprogress.cpp:48: error: ‘q_atomic_set_int’ was not declared in this scope
qtbabstractprogress.cpp: In member function ‘void QtbAbstractProgress::setMaximumValue(int)’:
qtbabstractprogress.cpp:76: error: ‘q_atomic_set_int’ was not declared in this scope
make[2]: *** [../.obj/release/qtbabstractprogress.o] Error 1
make[2]: Leaving directory `/home/bre/Download/sesarray-src-2.0.0-snapshot-20080530/src/qtbtools/src'
make[1]: *** [first] Error 2
make[1]: Leaving directory `/home/bre/Download/sesarray-src-2.0.0-snapshot-20080530/src/qtbtools'
make: *** [qtbtools] Error 2

What's the meaning of this problem with qtbabstractprogress.cpp and where do I have to declare q_atomic_set_int?? Has somebody encountered similar problems?

I would be grateful for any help.
Brigitte

Posted: Thu Jun 12, 2008 8:26 am
by admin
Hi Brigitte,

I installed Qt 4.4.0 but I've never compiled sesarray with Qt 4.4.0.
When Qt moves from 4.3 to 4.4, it is generally expected that the library interface slightly changes, hence I have to introduce minor corrections in sesarray. As Qt 4.3.4 is rather stable, I'm waiting for stabilized releases like qt 4.4.1.

For now, keep using Qt 4.3.4.

Marc

New problem with Qt 4.3.4

Posted: Fri Jun 13, 2008 9:28 am
by bre
Hi Marc,

I downloaded and installed Qt4.3.4, but when trying to install sesarray, I still get an error message (although a different one than last time with the newest Qt):

g++ -c -include ../.obj/release/qtbtools -m64 -pipe -O2 -w -D_REENTRANT -fPIC -DMAKE_QTBTOOLS_DLL -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.3.4/mkspecs/linux-g++-64 -I. -I/usr/local/Trolltech/Qt-4.3.4/include/QtCore -I/usr/local/Trolltech/Qt-4.3.4/include/QtCore -I/usr/local/Trolltech/Qt-4.3.4/include -I. -I../ui -I../.moc -I../../3rdparty/include -I/home/bre/Download/sesarray-src-2.0.0-snapshot-20080530/include -I/usr/local/sesarray-2.0.0_snapshot_20080530/include -I../.moc -I../ui -o ../.obj/release/qtbcoreapplication.o qtbcoreapplication.cpp
qtbcoreapplication.cpp: In constructor ‘QtbCoreApplication::QtbCoreApplication(int&, char**, QtbApplicationHelp* (*)())’:
qtbcoreapplication.cpp:61: error: ‘exit’ is not a member of ‘std’
qtbcoreapplication.cpp:64: error: ‘exit’ is not a member of ‘std’
make[2]: *** [../.obj/release/qtbcoreapplication.o] Error 1
make[2]: Leaving directory `/home/bre/Download/sesarray-src-2.0.0-snapshot-20080530/src/qtbtools/src'
make[1]: *** [first] Error 2
make[1]: Leaving directory `/home/bre/Download/sesarray-src-2.0.0-snapshot-20080530/src/qtbtools'
make: *** [qtbtools] Error 2

Any suggestions about that?
Brigitte

Posted: Fri Jun 13, 2008 5:04 pm
by admin
What compiler version are you using?
gcc --version

Posted: Mon Jun 16, 2008 8:56 am
by bre
gcc 4.3.0 20080428 (Red Hat 4.3.0-8)

Does this help?

Posted: Mon Jun 16, 2008 9:10 am
by admin
You're in advance... I'm still with gcc 4.1.2

You can safely remove "std::" at these lines. However, they are other files to modify, you will encounter the same error later on with other parts of sesarray.

I'm about to generate a new release today. I include this fix, so if you can wait until noon.

Posted: Mon Jun 16, 2008 9:19 am
by bre
Ok, thanks!

(that was just the gcc that came with the new Fedora I had to install...)

Posted: Tue Jun 17, 2008 8:58 am
by bre
I just tried to install the newest version of sesarray (06/16/2008, version 2.0.0) and encountered another problem:

g++ -c -include ../.obj/release/dinvercore -m64 -pipe -O2 -w -D_REENTRANT -fPIC -DMAKE_DINVERCORE_DLL -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.3.4/mkspecs/linux-g++-64 -I. -I/usr/local/Trolltech/Qt-4.3.4/include/QtCore -I/usr/local/Trolltech/Qt-4.3.4/include/QtCore -I/usr/local/Trolltech/Qt-4.3.4/include -I. -I../ui -I../.moc -I../../3rdparty/include -I../../../include -I/usr/local/sesarray-2.0.0/include -I../.moc -I../ui -o ../.obj/release/qtbnamodels.o qtbnamodels.cpp
In file included from qtbnamodels.cpp:34:
qtbvoronoinavigator.h:68: error: multiple parameters named ‘cells’
make[2]: *** [../.obj/release/qtbnamodels.o] Error 1
make[2]: Leaving directory `/home/bre/Download/sesarray-src-2.0.0/src/dinvercore/src'
make[1]: *** [first] Error 2
make[1]: Leaving directory `/home/bre/Download/sesarray-src-2.0.0/src/dinvercore'
make: *** [dinvercore] Error 2

What to do about this?
Brigitte

Posted: Tue Jun 17, 2008 9:12 am
by admin
Hi Brigitte,

This is amazing, older releases of gcc do not check the names of parameters of functions declared in class definition, and in fact it has absolutely no influence on the produced executable.

You can change file qtbvoronoinavigator.h (src/dinvercore/src) at line 68 by:
void lowerMisfitContour( double& xMin, double misfit, int * cells, int nCells);
rather than originally:
void lowerMisfitContour( double& xMin, double misfit, int * cells, int cells);
which is a stupid typing mistake never raised by my old gcc.

make and make install as usual. This will be fixed for sesarray 2.0.1