Bug 59435

Summary: binary compatibility changed between 4.1 and 4.2
Product: [Retired] Red Hat Linux Reporter: Jim Radford <radford>
Component: readlineAssignee: Bernhard Rosenkraenzer <bero>
Status: CLOSED NOTABUG QA Contact: Aaron Brown <abrown>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-02-07 23:39:04 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 Jim Radford 2002-02-07 22:36:16 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.8) Gecko/20020205

Description of problem:
my readline application uses the library symbol completion_matches.  This
function is exported in 4.1 (and all previous versions), but not in 4.2.  In 4.2
it has been renamed to rl_completion_matches.  This breaks binary compatibility.
 Specifically my application, when compiled with 4.2 (redhat 7.2) will run with
4.1 (redhat 7.1) until I try and complete when I get
a relocation error.

I would expect the library version to be increased to reflect this change.

How reproducible:
Always

Steps to Reproduce:
#include <stdio.h>
#include <readline/readline.h>
int main(int c, char **v) {
  completion_matches("test",rl_filename_completion_function);
}
compile this on a 7.2 machine and run it on a 7.1 machine.
gcc -o tmp tmp.c -lreadline -ltermcap


Actual Results:  ./tt: relocation error: ./tt: undefined symbol:
rl_filename_completion_function


Additional info:

Comment 1 Bernhard Rosenkraenzer 2002-02-07 23:38:59 UTC
That's why we're shipping the readline41 compat package. Use that.