Bug 4587 - Incompatibility with glibc 2.1.1 & Motif 2.1.10
Summary: Incompatibility with glibc 2.1.1 & Motif 2.1.10
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: glibc
Version: 6.0
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Cristian Gafton
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 1999-08-18 13:24 UTC by saisat
Modified: 2008-05-01 15:37 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 1999-08-24 00:37:46 UTC
Embargoed:


Attachments (Terms of Use)

Description saisat 1999-08-18 13:24:22 UTC
When we run our build script , we get the following error.

/usr/X11R6/lib/libXm.a(XpmRdFToI.o): In function
`OpenReadFile':
XpmRdFToI.o(.text+0x159): undefined reference to
`_IO_stdin_'

i.e, the linker is unable to resolve the reference of symbol
_IO_stdin_
in the above said Motif libraries.

On digging lot of manuals, glibc source files, we found that
in
GLIBC 2.0 , the global variables are _IO_stdin_ and et al,
but in GLIBC 2.1.1,
the global variables were changed to _IO_2_1_stdin_
This change has caused a lot of problems. Thus indicating
that Motif libraries
have to be compiled using GLIBC 2.1 onwards.

Here is a bit of text from Red Hat errata on Motif 2.1
 " Motif libraries compiled against glibc 2.0 will not work
when
 built against glibc 2.1 because of one particular upgraded
 interface.  Applications built against motif on a Red Hat
Linux
 5.2 (or other glibc 2.0-based system) will work on Red Hat
 Linux 6.0  You can build Motif applications with older
Motif
libraries by using the "compat" packages included as part of
 Red Hat Linux 6.0."

But the Motif version (2.1.10) we are using is said to work
from GLIBC 2.0+

So if we have to make our product work, we need to use the
Motif libraries
compiled on GLIBC 2.1.1 or use older Motif libraries using
'compat' package
of RH6.0

The linker is unable to reference the symbol _IO_stdin_ in
this environment
because it is probably replaced by _IO_2_1_stdin. Am I
correct?

Is the 'compat' for whole component (Motif as whole) or only
few libraries of Motif?

Any workaround suggested??

Comment 1 Cristian Gafton 1999-08-24 00:37:59 UTC
You are trying to link an object file compiled on glibc 2.0 on a glibc
2.1 system, and that is not permitted. Either transform the static
object into a shared library and use that or recompile from the
source.

If you want to get a static Motif binary using the glibc 2.0 libraries
you are out of luck. Only shared libraries and relocable objects can
be ported from one version of the glibc to another.

I would suggest that if you need static linking then use the compat-*
packages.


Note You need to log in before you can comment on or make changes to this bug.