RE: configure :: qt version bug in v5-28-00-patches

From: Bertrand Bellenot <Bertrand.Bellenot_at_cern.ch>
Date: Tue, 21 Jun 2011 06:54:52 +0000


Hi Adrian,

I think this line:
qttestdir=$qtmainincdir/../src/corelib/global

assigns qttestdir as $QTDIR/src/corelib/global And then, if this directory doesn't exist (hence the '!'), then it is set to $QTDIR/include/Qt (which is the right location for me and most of the installations)

So these lines (your proposed changes):
qttestdir=$qtmainincdir
if test -d $qttestdir ; then

    qttestdir=$qtmainincdir/Qt

Seems to do the same, except they don't look for the source. So I suppose the problem would be for people building Qt from source... BTW, is your $QTDIR environment variable set? If not, could you try to set it (pointing to your Qt install dir) and try again with the original configure file?

Cheers, Bertrand.

-----Original Message-----
From: Adrian Sevcenco
Sent: 20 June 2011 21:47
To: Bertrand Bellenot
Cc: Fons Rademakers; roottalk_at_root.cern.ch Subject: Re: [ROOT] configure :: qt version bug in v5-28-00-patches

On 06/20/2011 03:42 PM, Bertrand Bellenot wrote:
> Hi Adrian,

Hi!

> Could you tell me exactly what changes are needed in order to
> properly build ROOT & Qt on both of your systems, please? Then I'll
> see how I can change the configure script to make it working in
> (hopefully) all cases.

So for fedora 14 i changed line 2934
@@ -2931,7 +2931,7 @@

         qtverneed="4.3.0"
         qttoonew="5.0.0"
         qttestdir=$qtmainincdir/../src/corelib/global
-        if test ! -d $qttestdir ; then
+        if test -d $qttestdir ; then
             qttestdir=$qtmainincdir/Qt
         fi
         check_qtvers "$qttestdir" $qtverneed $qttoonew

(i still don't understand why is "if qttestdir is NOT a directory") when it is supposed to be the directory in which qt/qglobal.h is searched)

and in mandriva 2010.2 case i changed
--- configure (revision 39813)
+++ configure (working copy)
@@ -2930,8 +2930,9 @@

         done
         qtverneed="4.3.0"
         qttoonew="5.0.0"
-        qttestdir=$qtmainincdir/../src/corelib/global
-        if test ! -d $qttestdir ; then
+        qttestdir=$qtmainincdir
+        # /../src/corelib/global
+        if test -d $qttestdir ; then
             qttestdir=$qtmainincdir/Qt
         fi
         check_qtvers "$qttestdir" $qtverneed $qttoonew

which also i dont understand as qtmainincdir is passed to configure by --with-qt-incdir= and then this directory is mangled with appending /../src/corelib/global and qglobal.h it is supposed to be found in this directory by check_qtvers
IMHO that /../src/corelib/global should not appear anywhere (as i dint find this directory in any qt installation)

thanks,
Adrian

>
> Cheers, Bertrand.
>
>
> -----Original Message----- From: Adrian Sevcenco Sent: 18 June 2011
> 17:16 To: Fons Rademakers Cc: roottalk_at_root.cern.ch; Bertrand
> Bellenot Subject: Re: [ROOT] configure :: qt version bug in
> v5-28-00-patches
>
> On 06/18/2011 04:45 PM, Fons Rademakers wrote:

>> Hi Adrian,

> Hi,
>
>> I had to revert your first change as it broke our Qt build. Can
>> you

> i really apologize!
>
>> follow up your proposed changes with Bertrand (in cc) as he is the
>> ROOT guy testing the qt setup and he noticed the breakage due to
>> you first patch.

> my first patch was for fedora 14, and as i said it was tested ..
> without modification qt4 on fedora 14 is not recognized and without
> the second modification qt4 is not recognized on mandriva 2010.2
> (both x86_64) Please let me know how can i be of help. For
> reference: on mandriva 2010.2: adrian_at_adrian: root $ locate
> qglobal.h /usr/lib/qt4/include/Qt/qglobal.h
> /usr/lib/qt4/include/QtCore/qglobal.h
>
> adrian_at_adrian: root $ locate moc | grep qt4 /usr/lib/qt4/bin/moc
> /usr/lib/qt4/mkspecs/features/moc.prf
> /usr/lib/qt4/mkspecs/features/symbian/moc.prf
> /usr/share/doc/qt4/doc/html/moc.html
>
> adrian_at_adrian: root $ locate libQtCore /usr/lib64/libQtCore.la
> /usr/lib64/libQtCore.prl /usr/lib64/libQtCore.so
> /usr/lib64/libQtCore.so.4 /usr/lib64/libQtCore.so.4.6
> /usr/lib64/libQtCore.so.4.6.3
>
>
> on fedora 14 : adrian_at_sev: ~ $ locate qglobal.h
> /usr/include/Qt/qglobal.h /usr/include/QtCore/qglobal.h
>
> adrian_at_sev: ~ $ locate moc | grep qt4 /usr/bin/moc-qt4
> /usr/lib64/qt4/bin/moc /usr/lib64/qt4/bin/moc-qt4
>
> adrian_at_sev: ~ $ locate libQtCore /usr/lib64/libQtCore.prl
> /usr/lib64/libQtCore.so /usr/lib64/libQtCore.so.4
> /usr/lib64/libQtCore.so.4.7 /usr/lib64/libQtCore.so.4.7.2
> /usr/lib64/libQtCore_debug.so
>
> HTH, Adrian
>
>
>
>
>> 
>> Cheers, Fons.
>> 
>> 
>> On 18/06/11 14:39, Adrian Sevcenco wrote:
>>> On 06/14/2011 05:22 PM, Fons Rademakers wrote:
>>>> Hi Adrian,
>>> Hi!
>>> 
>>>> you're fix is in svn.
>>> Thanks! One more problem i would have: on my Mandriva 2010.1 i
>>> had a problem that the qt libs would not be found until i
>>> modified line 2933 from : 
>>> qttestdir=$qtmainincdir/../src/corelib/global to 
>>> qttestdir=$qtmainincdir
>>> 
>>> I could not found the logic so i ask : is there any reason to
>>> have qttestdir=$qtmainincdir/../src/corelib/global ?
>>> 
>>> Thanks! Adrian
>>> 
>>>> 
>>>> Cheers, Fons.
>>>> 
>>>> 
>>>> On 12/06/2011 00:26, Adrian Sevcenco wrote:
>>>>> Hi! I am using v5-28-00-patches and at qt detection i have
>>>>> this: Checking for Qt/qglobal.h ... /usr/include Checking for
>>>>> 4.3.0<= Qt version<   5.0.0  ... grep: 
>>>>> /usr/include/../src/corelib/global/qglobal.h: No such file or
>>>>> directory no (found version )
>>>>> 
>>>>> the thing would be that at line 2934 "if test ! -d $qttestdir
>>>>> ; then" should be "if test -d $qttestdir  ; then"
>>>>> 
>>>>> patch (tested) attached
>>>>> 
>>>>> Thanks, Adrian
>>>> 
>>> 
>>> 
>> 

>
>
-- 
----------------------------------------------
Adrian Sevcenco                              |
Institute of Space Sciences - ISS, Romania   |
adrian.sevcenco at {cern.ch,spacescience.ro} |
----------------------------------------------
Received on Tue Jun 21 2011 - 08:54:59 CEST

This archive was generated by hypermail 2.2.0 : Tue Jun 21 2011 - 17:50:01 CEST