Bug 204641

Summary: xorg-x11-devel do not only includes development files and X do load module support from .a archives
Product: Red Hat Enterprise Linux 4 Reporter: Klaus Ethgen <Klaus+rhbz>
Component: xorg-x11Assignee: X/OpenGL Maintenance List <xgl-maint>
Status: CLOSED WONTFIX QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: 4.0   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-10-04 19:14:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Klaus Ethgen 2006-08-30 15:47:28 UTC
Description of problem:
The package xorg-x11-devel includes /usr/X11R6/lib/libGL.a which make it 
conflicting
any other openGL library like them from nVidia. This is cause X load this
library in front of libGL.so.

This makes other drivers with openGL support break if you need the devel package
to develop X applications. (Other libraries just get overwritten but makes the
rpm database broken for the involved xorg-x11-devel.)

There has two to be done:
1. X must not load any .a archive.
2. The header files and the .a archives has to be for its own in a package
   without any .so library!

Version-Release number of selected component (if applicable):
Any in EL4

Comment 1 Kristian Høgsberg 2006-10-03 17:58:44 UTC
What is the problem you're seeing?  The X server never loads libGL.a and linking
against libGL will always pick up the shared library unless you explicitly
specify -static on the link line.

As for 2. we always ship header files, .so files and sometimes .a files in
-devel packages.  The non-devel package has the fully versioned .so files, for
example:

[krh@devserv krh]$ rpm -qlp xorg-x11-Mesa-libGL-6.8.2-1.EL.13.36.i386.rpm 
/usr/X11R6/lib/libGL.so.1
/usr/X11R6/lib/libGL.so.1.2
/usr/lib/libGL.so.1


Comment 2 Klaus Ethgen 2007-05-23 08:42:41 UTC
I rechecked the bug again and I'm able to clarify it a bit:

- The /usr/X11R6/lib/libGL.a is not loaded by the X server (anymore).
- But there is still a problem with the X libraries. Package xorg-x11-devel 
includes /usr/lib/libGL.so which has not to be in a -devel package! This .so 
library is in fact loaded by the X server. Those file make the problems as it 
will be in, for example, nvidia-libs package as this is the correct location 
for the GL driver.

So I suggest to
1. wipe out any appearance of a .so file in a -devel package
2. If needed make a separate -gl-libs package holding such libraries to allow 
to replace them with other packages.


Comment 3 Adam Jackson 2007-10-04 19:14:08 UTC
We're not going to change the packaging of X in RHEL4 at this point.

Your analysis is also just plain wrong.  libGL.a has never been loaded by the X
server, and neither is libGL.so.