This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
versioned symbol problem
- From: prj at po dot cwru dot edu (Paul Jarc)
- To: gcc at gnu dot org
- Date: Fri, 02 Aug 2002 12:40:13 -0400
- Subject: versioned symbol problem
- Organization: What did you have in mind? A short, blunt, human pyramid?
I really have no understanding of symbol versioning, which code is
responsible for it, or what purpose it serves. So I may be posting to
the wrong list, but I hope someone can at least point me to the right
list.
I'm compiling XFree86 on a GNU/Linux system almost entirely built from
scratch, and I get this error:
+ c++ -o ./libGLU.so.1.3~ -shared -Wl,-soname,libGLU.so.1 [long list of object files] -lc
ld: ./libGLU.so.1.3~: undefined versioned symbol name __frame_state_for@@GLIBC_2.0
ld: failed to set dynamic section sizes: Bad value
collect2: ld returned 1 exit status
I've gotten similar errors with Mozilla and ImageMagick and the symbol
__register_frame_info; I was building with RedHat's X packages, so I
had assumed that something in those libraries needed an old versioned
symbol, but now I'm building X and it still happens. I've compiled my
own glibc 2.2.5 (using gcc 3.1, IIRC), and I've built flex, ncurses,
zlib (which X links with), and gcc 3.1.1 (thus libgcc, where these
symbols reside) using that glibc. So it seems to me that there
shouldn't be any disagreements about versions. Do I need to rebuild
glibc with my new gcc? I got the __register_frame_info problem with
Mozilla using gcc 3.1 and glibc built with that gcc, so that doesn't
seem like it would help. How can I find out exactly what refers to
this versioned symbol?
paul