This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

versioned symbol problem


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]