Bug 89140

Summary: link patch is not applied
Product: [Retired] Red Hat Linux Reporter: Takanori MATSUURA <t.matsuu>
Component: glutAssignee: Mike A. Harris <mharris>
Status: CLOSED WONTFIX QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 9CC: mshore
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 3.7-13 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-06-19 15:54:11 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 Takanori MATSUURA 2003-04-18 07:11:09 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4b) Gecko/20030417

Description of problem:
glut-3.7-link.patch id not applied.
When I compiled the program that needs libglut.so, the following errors occured:

/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libglut.so: undefined
reference to `glXBindChannelToWindowSGIX'
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libglut.so: undefined
reference to `XGetExtensionVersion'
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libglut.so: undefined
reference to `XFreeDeviceList'
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libglut.so: undefined
reference to `XQueryDeviceState'
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libglut.so: undefined
reference to `XListInputDevices'
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libglut.so: undefined
reference to `glXQueryChannelDeltasSGIX'
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libglut.so: undefined
reference to `glXChannelRectSyncSGIX'
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libglut.so: undefined
reference to `glXChannelRectSGIX'
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libglut.so: undefined
reference to `XFreeDeviceState'
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libglut.so: undefined
reference to `XOpenDevice'
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libglut.so: undefined
reference to `glXQueryChannelRectSGIX'
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libglut.so: undefined
reference to `XSelectExtensionEvent'

Then the linkage of libglut.so is failed.

I built the glut package with applying the glut-3.7-link.patch. And this
self-made package has no problem showing above.

Version-Release number of selected component (if applicable):
glut-3.7-12

How reproducible:
Always

Steps to Reproduce:
1. build programs using the library libglut.so
    

Actual Results:  "undefined reference" error occures and the program cannot link
the libglut.

Expected Results:  the program can link libglut preperly.

Additional info:

Comment 1 Mike A. Harris 2003-04-18 08:57:29 UTC
glut-link patch applied in 3.7-13 in rawhide

Comment 2 Michael Shore 2003-06-18 16:17:07 UTC
glut-3.7-14 still generates the following errors when I compile:

/usr/lib/libglut.so.3: undefined reference to `glXBindChannelToWindowSGIX'
/usr/lib/libglut.so.3: undefined reference to `glXQueryChannelDeltasSGIX'
/usr/lib/libglut.so.3: undefined reference to `glXChannelRectSyncSGIX'
/usr/lib/libglut.so.3: undefined reference to `glXChannelRectSGIX'
/usr/lib/libglut.so.3: undefined reference to `glXQueryChannelRectSGIX'

The other undefined references no longer occur.



Comment 3 Mike A. Harris 2003-06-19 15:53:45 UTC
That is because you are using Nvidia libGL, and not Mesa libGL.  The official
GLUT sources, which are included in Red Hat Linux currently, are under a license
which does NOT permit modification and redistribution.  Brian Paul has produced
changes to GLUT which allow any libGL to be used without having to recompile
GLUT, and his changes are included in the official Mesa3D sources, however the
GLUT author refuses to put his code under a license which permits modification
and redistribution and is also legally binding.

As such, Red Hat can not legally modify GLUT, and we will not modify it
illegally.  GLUT is officially being replaced with "freeglut" which is a
true open source replacement for GLUT which is MIT licensed.  freeglut is
currently in rawhide experimentally, and will be updated to the latest
freeglut release very soon which is a 100% replacment for GLUT.  The
freeglut project will be making their official release soon, and that is what
will ship in future Red Hat operating system products.

The official Red Hat recommended way that any users experiencing the problem
you are experiencing in any Red Hat OS product which has shipped with Mark
Kilgard's official GLUT, is to download the glut src.rpm and recompile it
with the Nvidia (or other) libGL installed, and the problem is reported to go
away, as GLUT compiles differently against different libGL implementations.

Since the GLUT source code does not permit modification and redistribution
however, Red Hat is completley unable to provide any bug fixes or other forms
of modification to GLUT.  However, what I plan on doing, is investigating
shipping freeglut as a complete replacement for GLUT in all currently
supported OS products once we've been able to have freeglut tested widely
enough.  In the mean time, users experiencing any problems with GLUT
unfortunately need to recompile it themselves, or seek tech support from
the Internet community.

As an additional note, this unfortunate problem was caused by the license
not being clearly understood when GLUT was added to Red Hat Linux.  Had the
license terms been clear that modification was not allowed, GLUT would never
have been included in the distribution.  Apologies to any customers whom
are affected negatively by this.