PDA

View Full Version : QMutex?



HumptyDumpty
10-30-2002, 12:41 PM
First, here's where I'm at with the system. I've been running SEQ for sometime now, but after the PoP release, as we all experienced, my SEQ was nerfed. So I proceeded down the path of updating the system using the information contained with these forums.

So my first run was the following:

From the root#

cvs -d:pserver:[email protected]:/cvsroot/seq login
cvs -z3 -d:pserver:[email protected]:/cvsroot/seq co showeq
cd showeq
export QTDIR=/usr/lib/qt-2.3.2
make -f Makefile.dist
./configure

Received the following error:
checking for Qt... yes
>> Found version.: 2.3.2
>>> Headers........: /usr/lib/qt-2.3.2/include
>>>> Libraries......: /usr/lib/qt-2.3.2/lib
configure: error: Something wicked happened while trying to validate your Qt installation!!! Please verify your libraries...

I then tried the following:
./configure --without-qt-validation
which allowed me the ability to get by the Wicked error until I tried to compile, I then got the following error.

/usr/lib/qt-2.3.2/include/qstring.h:762: Undefined reference to 'QString::shared_null'
collect2: ldreturned 1 exit status
make [2]: *** [showeq] Error 1
make [2]: Leaving directory '/seq/showeq/src'
make [1]: *** [all-recursive] Error 1
make [1]: Leaving directory '/seq/showeq
make: *** [all-recursive] Error 1

I then edited the “linux-g++-shared” file on lines 3, 4, 35, and 59 to include the “3” reference for all gcc and g++.

Checked my gcc and it is gcc3

I then recompiled QT using the following

cd =/usr/lib/qt-2.3.2/
export QTDIR=/usr/lib/qt-2.3.2/
./configure -thread
make

I had no issues with this portion, I went back and tried to ./configure in Showeq and got the same Wicked message.

Here’s a copy of my Config.log at this point:

configure:6907: checking for Qt
configure:7217: g++3 -o conftest -I/usr/lib/qt-2.3.2/include -I/usr/X11R6/include -L/usr/lib/qt-2.3.2/lib -L/usr/X11R6/lib conftest.C -lqt-mt -lpng -lz -lm -lXext -lX11 1>&5
/tmp/cc7BqTWr.o: In function `main':
/tmp/cc7BqTWr.o(.text+0x86): undefined reference to `QMutex::QMutex[in-charge](bool)'
/tmp/cc7BqTWr.o(.text+0x95): undefined reference to `QMutex::~QMutex [in-charge]()'
/tmp/cc7BqTWr.o: In function `QString::QString[in-charge]()':
/tmp/cc7BqTWr.o(.gnu.linkonce.t._ZN7QStringC1Ev+0x7): undefined reference to `QString::shared_null'
/tmp/cc7BqTWr.o(.gnu.linkonce.t._ZN7QStringC1Ev+0x10): undefined reference to `QString::shared_null'
/tmp/cc7BqTWr.o(.gnu.linkonce.t._ZN7QStringC1Ev+0x18): undefined reference to `QString::makeSharedNull()'
collect2: ld returned 1 exit status
configure: failed program was:
#define QT_THREAD_SUPPORT 1
#include "confdefs.h"
#include <qglobal.h>
#include <qapplication.h>
#include <qapp.h>
#include <qobjcoll.h>
#include <qstringlist.h>
#include <qstyle.h>
#include <qthread.h>
#if ! (QT_VERSION > 230)
#error 1
#endif

int main() {
QStringList *t = new QStringList();
QMutex mutex;
return 0;
}

Sorry for the extensive post, tried to include all the information I could. Any help would be greatly appreciated. FYI, I've also downloaded the recent changes to libEQ.a as well and verified the version.

Thanks in advance, HD

high_jeeves
10-30-2002, 12:55 PM
Did you search? I did, and found:

http://seq.sourceforge.net/search.php?s=&action=showresults&searchid=28253&sortby=lastpost&sortorder=descending

--Jeeves

HumptyDumpty
10-30-2002, 01:23 PM
Thanks Jeeves,

Yes I did search. It's what provided the information that I was using gcc instead of gcc3 and g++3. It also provided the information on the QT compile with -thread function. I've read the threads, and based on my infinite lack of knowledge, I can't seem to put my finger on where the issue is. It appears that I'm using the wrong compiler, however, when I check it shows that I'm using gcc3. I'll continue to forge ahead, but still stumped at the moment.

Thanks again, HD :confused:

Cryonic
10-30-2002, 03:30 PM
Read the FAQ, read the install.newbies file, use SEARCH.

Hitman
10-30-2002, 03:58 PM
Whatever you do: DON'T ASK QUESTIONS IN THE HELP FORUM!!!

Key points to remember:

1.) Stick to gcc3 and up
2.) Make sure QT is compiled with the SAME compiler you're compiling ShowEQ with. If you're not sure, recompile QT.
3.) Make sure QT was compiled with thread support. If you're not sure, recompile QT.


http://www.gentoo.org. Only way to go.

Cryonic
10-30-2002, 04:20 PM
You can ask questions in the help forum, just make sure that they haven't been answered already.

HumptyDumpty
10-30-2002, 06:12 PM
Thanks Hitman :D ,

Something you said may have pointed me to the issue. I appreciate your assistance. When editing the linux-g++-shared file, I edited the one in the Showeq directory, but was unaware that another copy lived in qt-2.3.2 directory. Yep, it was a dumb mistake on my part assuming that one compiler would be used for both. I'm compiling QT now with g++3. I will post if this corrects the problem, it obviously will help.

Edit (10/31/02): First, thanks for the assistance in correcting this matter. Showeq is up and running better then ever, and I'm at peace with EQ again :D . The issue was the two "linux-g++-shared" files. I had only edited the one in the Showeq directory and not the one in the qt-2.3.2 directory, therefore QT wasn't being compiled with the same compiler version (Thanks Hitman). After editing that file, re-compiling QT the system started up without a hitch. Hope this information helps anyone else that may be seeing the same issues as I did.

Thanks Again!, HD