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

Qt-interest Archive, October 2006
[Qt 4.2] build errors linking with Xext with CentOS 4.3 (final)


Message 1 in thread

I'm trying to build Qt 4.2.0 on a CentOS 4.3 system.  Wikipedia tells  
me that CentOS _strives_ to be 100% binary compatible with Red Hat  
Enterprise.  Nonetheless, I'm having problems linking because of  
problems with libXext.

/usr/bin/ld: skipping incompatible /usr/X11R6/lib/libXext.so when  
searching for -lXext
/usr/bin/ld: skipping incompatible /usr/X11R6/lib/libXext.a when  
searching for -lXext
/usr/bin/ld: cannot find -lXext

There is a libXext.so and libXext.a in /usr/X11R6/lib.   However, for  
some reason they are "incompatible" so they are ignored.  Has anybody  
seen anything like this?  Does anybody have any suggestions?

   Thanks,
      Karl




--
 [ signature omitted ] 

Message 2 in thread

Hi,

> I'm trying to build Qt 4.2.0 on a CentOS 4.3 system.  Wikipedia tells me 
> that CentOS _strives_ to be 100% binary compatible with Red Hat 
> Enterprise.  Nonetheless, I'm having problems linking because of 
> problems with libXext.

What are you linking?

> /usr/bin/ld: skipping incompatible /usr/X11R6/lib/libXext.so when 
> searching for -lXext
> /usr/bin/ld: skipping incompatible /usr/X11R6/lib/libXext.a when 
> searching for -lXext
> /usr/bin/ld: cannot find -lXext

Is this a 32-bit or 64-bit system? What exact platform is this? This 
could be a 64-bit vs. 32-bit incompatibility. What is the output of:
	file /usr/X11R6/lib/libXext.so
	file /usr/X11R6/lib/libXext.a

--
 [ signature omitted ] 

Message 3 in thread

On Oct 24, 2006, at 11:49 PM, Dimitri wrote:

> Hi,
>
>> I'm trying to build Qt 4.2.0 on a CentOS 4.3 system.  Wikipedia  
>> tells me that CentOS _strives_ to be 100% binary compatible with  
>> Red Hat Enterprise.  Nonetheless, I'm having problems linking  
>> because of problems with libXext.
>
> What are you linking?


>
>> /usr/bin/ld: skipping incompatible /usr/X11R6/lib/libXext.so when  
>> searching for -lXext
>> /usr/bin/ld: skipping incompatible /usr/X11R6/lib/libXext.a when  
>> searching for -lXext
>> /usr/bin/ld: cannot find -lXext
>
> Is this a 32-bit or 64-bit system? What exact platform is this?  
> This could be a 64-bit vs. 32-bit incompatibility. What is the  
> output of:
> 	file /usr/X11R6/lib/libXext.so
> 	file /usr/X11R6/lib/libXext.a
>
> --
> Dimitri
>
>
>> There is a libXext.so and libXext.a in /usr/X11R6/lib.   However,  
>> for some reason they are "incompatible" so they are ignored.  Has  
>> anybody seen anything like this?  Does anybody have any suggestions?
>>   Thanks,
>>      Karl
>> -- 

This occurs when linking libQtGui.so.4.2.0.  The output of the file  
commands gives

file /usr/X11R6/lib/libXext.a
/usr/X11R6/lib/libXext.a: current ar archive

  file /usr/X11R6/lib/libXext.so
  /usr/X11R6/lib/libXext.so: symbolic link to `libXext.so.6.4'

But the clue is definitely in the uname -a
2.6.9-34.ELsmp #1 SMP Thu Mar 9 06:23:23 GMT 2006 x86_64 x86_64  
x86_64 GNU/Linux

So, yes this is a 64 bit box.  T

his _could_ present a problem.  I'm ssh'ing into this box and  
building Qt for usage in a course that I teach.  Most of the students  
will be working on 32-bit systems.    So, I would actually like a 32- 
bit build for my students.   I noticed that the mkspecs/default is  
currently pointing to linux-g++.     Can I set this up for a linux-g+ 
+32 and build on the 64-bit box?  The libraries that caused the  
original problem seem to be there for 32 bits.   There are also  
versions for 64 bits in /usr/X11R6/lib64 but for some reason Qt  
didn't find those libraries to start with.   (which may actually turn  
out to be a feature since I would have just assumed that students  
were having problems and not considered the 32-bit vs. 64-bit problem!)

     Karl




--
 [ signature omitted ] 

Message 4 in thread

Hi,

> This occurs when linking libQtGui.so.4.2.0.  The output of the file 
> commands gives
> 
> file /usr/X11R6/lib/libXext.a
> /usr/X11R6/lib/libXext.a: current ar archive
> 
>  file /usr/X11R6/lib/libXext.so
>  /usr/X11R6/lib/libXext.so: symbolic link to `libXext.so.6.4'

I'm afraid this isn't very informative. What's the output of
	file /usr/X11R6/lib/libXext.so.6.4
What I'm trying to find is whether these are 32-bit or 64-bit objects.

> his _could_ present a problem.  I'm ssh'ing into this box and building 
> Qt for usage in a course that I teach.  Most of the students will be 
> working on 32-bit systems.    So, I would actually like a 32-bit build 
> for my students.   I noticed that the mkspecs/default is currently 
> pointing to linux-g++.     Can I set this up for a linux-g++32 and build 
> on the 64-bit box?  The libraries that caused the original problem seem 
> to be there for 32 bits.   There are also versions for 64 bits in 
> /usr/X11R6/lib64 but for some reason Qt didn't find those libraries to 
> start with.   (which may actually turn out to be a feature since I would 
> have just assumed that students were having problems and not considered 
> the 32-bit vs. 64-bit problem!)

This should build a 32-bit library:
	configure -platform linux-g++-32

However you will still need to deploy on systems compatible with the 
32-bit subsystem of your 64-bit workstation. As an example, if you build 
Qt on Red Hat 9, it will probably not run on Red Hat 7.


That said, I still don't understand why a plain 'configure' fails. Which 
Linux distribution is this? Try this command to start with:
	cat /etc/redhat-release

--
 [ signature omitted ] 

Message 5 in thread

Karl Merkley wrote:
> I'm trying to build Qt 4.2.0 on a CentOS 4.3 system.  
> Wikipedia tells  
> me that CentOS _strives_ to be 100% binary compatible with Red Hat  
> Enterprise.  Nonetheless, I'm having problems linking because of  
> problems with libXext.
> 
> /usr/bin/ld: skipping incompatible /usr/X11R6/lib/libXext.so when  
> searching for -lXext
> /usr/bin/ld: skipping incompatible /usr/X11R6/lib/libXext.a when  
> searching for -lXext
> /usr/bin/ld: cannot find -lXext
> 
> There is a libXext.so and libXext.a in /usr/X11R6/lib.   
> However, for  some reason they are "incompatible" so they are ignored.  Has 
> anybody  seen anything like this?  Does anybody have any suggestions?

Are you on a 64bit system?

Andre'

--
 [ signature omitted ]