Description of Problem: When trying to use the program "fasta" from bioinformatics Accelrys GCG package I got a relocation error : relocation error: ./fasta: symbol __libc_sigaction, version GLIBC_2.2 not defined in file libc.so.6 with link time reference Version-Release number of selected component (if applicable): the last for GCG glibc is 2.2.5-40 How Reproducible: Always Steps to Reproduce: 1.get fasta program from GCG package 2. run it : ./fasta 3. see result Actual Results: ./fasta: relocation error: ./fasta: symbol __libc_sigaction, version GLIBC_2.2 not defined in file libc.so.6 with link time reference Expected Results: Should be on unconfigured host : Configuration error. Unable to open "GenCoreRoot:gcgcore/account/configure.txt". Configuration problem: can't find GCGBASEROOT Contact your system manager. Additional Information: This binary works OK with all others 7.x RedHat Linux The problem seem to come from glibc : on RedHat 7.2 $ readelf -s libc.so.6 |grep __libc_sigaction 67: 0002ea14 306 FUNC GLOBAL DEFAULT 11 __libc_sigaction@@GLIBC_2.2 on redHat 7.3 $ readelf -s libc.so.6 |grep __libc_sigaction 65: 000291e4 289 FUNC GLOBAL DEFAULT 11 __libc_sigaction@@GLIBC_PRIVATE and not expected GLIBC_2.2
__libc_sigaction always used to be a glibc private symbol, never declared in any headers nor intended for anything but libpthread. Recent glibc's use symbol versioning to make it clear what is and what is not a private interface. fasta needs to be fixed to avoid using internal interfaces which can be removed or changed at any time.