On Wed, Sep 29, 2004 at 09:52:17AM -0400, Thomas Dickey wrote: > On Wed, Sep 29, 2004 at 08:31:00AM -0400, Ken Smith wrote: > > On Wed, Sep 29, 2004 at 07:27:10PM +1000, Tim Robbins wrote: > > > On Tue, Sep 28, 2004 at 11:05:46PM -0400, Ken Smith wrote: > > > > > > > > >From the "Better late than never" Department... > > > > > > > > It looks like we should probably bump the version of a couple of > > > > the system libraries. With LOTS of help from Kris it looks like > > > > this is the list we think needs a version bump, with the version > > > > from 4.X being placed in compat4x: > > > > > > > > libgnuregex.so.2 > > > > libhistory.so.4 > > > > libm.so.2 > > > > libncurses.so.5 > ....hmmm > > > Why do they need to be bumped? Why use the version from 4.x? It sounds like > > > this will break a lot of 5.x binaries. > > > > > > > They need to be bumped because the internal workings of the libraries > > that doesn't answer the question (libncurses hasn't changed its interface for > some time - unless you're stating that the dynamic linker's changed > incompatibly in some fashion). libncurses.so.5 in 5.x does not export many of the global variables exported by 4.x version of libncurses.so.5. The missing symbols are: 23: 0003e270 4 OBJECT GLOBAL DEFAULT 12 SP 166: 0000ee58 26 FUNC GLOBAL DEFAULT 9 _nc_tracebits 170: 00037c0e 2 OBJECT GLOBAL DEFAULT 12 ospeed 175: 00037c2c 4 OBJECT GLOBAL DEFAULT 12 TABSIZE 188: 00036870 4 OBJECT GLOBAL DEFAULT 12 BC 247: 00037744 4 OBJECT GLOBAL DEFAULT 12 COLOR_PAIRS 333: 00037c0c 1 OBJECT GLOBAL DEFAULT 12 PC 370: 00037c1c 4 OBJECT GLOBAL DEFAULT 12 cur_term 406: 00037540 512 OBJECT GLOBAL DEFAULT 12 acs_map 434: 00037748 4 OBJECT GLOBAL DEFAULT 12 COLORS 450: 0003e260 4 OBJECT GLOBAL DEFAULT 12 stdscr 495: 00037c28 4 OBJECT GLOBAL DEFAULT 12 COLS 498: 0003e268 4 OBJECT GLOBAL DEFAULT 12 newscr 515: 0003e264 4 OBJECT GLOBAL DEFAULT 12 curscr 528: 0003686c 4 OBJECT GLOBAL DEFAULT 12 UP 545: 00037c24 4 OBJECT GLOBAL DEFAULT 12 LINES A 4.x binary that calls _nc_tracebits() will fail outright when run on 5.x, but this is a debugging function and not likely to be widely used in the real world, so that isn't a big deal. However, if a 4.x binary sets one of the other variables in the above list expecting it to have some effect on the library (or vice versa, i.e. expects to read the state of the library by accessing the globals), it will not behave the same way when run on 5.x. If I'm mistaken about the implications (perhaps you can guarantee that the above will not happen), please let us know. Kris
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:14 UTC