Testing for Kylix compatibility fails (potato)
Borland's pre-install script for Kylix tests for a libc bug that it
claims exists in Potato. I've included the output of its test script
below.
Does anyone know of a workaround/bugfix? I searched but didn't find
anything about this. Presumably it's fixed on Woody/Sid, but I didn't
test it there.
Thanks,
--
Pete Harlan
harlan@artselect.com
> Borland Kylix System Compatibility Test
>
> Checking loader....This will test whether libc installed on your system has
> a design flaw of the dynamic loading of
> shared objects. By dynamicly loading shared object 'a' that depends
> on shared objects 'b' and 'c', then dynamically loading shared object 'b'
> which depends on 'c', shared object 'c' will remain in memory when 'a'
> and 'b' are closed.
>
> This is what is in memory now:
> Name Address Handle
> -------------------------------------------------------------------
> 0x00000000 0x400136f0
> /lib/libdl.so.2 0x40019000 0x40013c60
> /lib/libc.so.6 0x4001e000 0x4001d000
> /lib/ld-linux.so.2 0x40000000 0x40013420
> Loading shared object lib-a.so
> And this is what is now in memory
> Name Address Handle
> -------------------------------------------------------------------
> 0x00000000 0x400136f0
> /lib/libdl.so.2 0x40019000 0x40013c60
> /lib/libc.so.6 0x4001e000 0x4001d000
> /lib/ld-linux.so.2 0x40000000 0x40013420
> /var/home/erik/tmp/borpretest/lib-a.so 0x40015000 0x0804af80
> /var/home/erik/tmp/borpretest/lib-b.so 0x40017000 0x0804b228
> /var/home/erik/tmp/borpretest/lib-c.so 0x400fb000 0x0804b4d0
> Getting address of 'a_function' and calling it
> Now loading shared object lib-b.so
> Again, this is what is in memory
> Name Address Handle
> -------------------------------------------------------------------
> 0x00000000 0x400136f0
> /lib/libdl.so.2 0x40019000 0x40013c60
> /lib/libc.so.6 0x4001e000 0x4001d000
> /lib/ld-linux.so.2 0x40000000 0x40013420
> /var/home/erik/tmp/borpretest/lib-a.so 0x40015000 0x0804af80
> /var/home/erik/tmp/borpretest/lib-b.so 0x40017000 0x0804b228
> /var/home/erik/tmp/borpretest/lib-c.so 0x400fb000 0x0804b4d0
> Getting address of 'b_function' and calling it
> Now this is where things begin to break down. The lib-b.so handle
> will be closed first, then the lib-a.so handle will be closed. Expected
> behaviour should be that the objects in memory return to the state prior
> loading lib-a.so
> Closing b_handle
> Name Address Handle
> -------------------------------------------------------------------
> 0x00000000 0x400136f0
> /lib/libdl.so.2 0x40019000 0x40013c60
> /lib/libc.so.6 0x4001e000 0x4001d000
> /lib/ld-linux.so.2 0x40000000 0x40013420
> /var/home/erik/tmp/borpretest/lib-a.so 0x40015000 0x0804af80
> /var/home/erik/tmp/borpretest/lib-b.so 0x40017000 0x0804b228
> /var/home/erik/tmp/borpretest/lib-c.so 0x400fb000 0x0804b4d0
> So far so good
> Closing a_handle
> Name Address Handle
> -------------------------------------------------------------------
> 0x00000000 0x400136f0
> /lib/libdl.so.2 0x40019000 0x40013c60
> /lib/libc.so.6 0x4001e000 0x4001d000
> /lib/ld-linux.so.2 0x40000000 0x40013420
> /var/home/erik/tmp/borpretest/lib-c.so 0x400fb000 0x0804b4d0
> WHOOPS!!! Lookie there! lib-c.so is still hanging around! This is bad...
> Thanks for your time
> FAILED
> Checking kernel >= 2.2....OK
> Checking libc >= 2.1.2....Major version is 2
> Minor version is 1
> Revision version is 3
> OK
> Checking libjpeg >= 6.2.0....Checking /usr/lib/libjpeg.so.62
> /usr/lib/libjpeg.so.62 resolves to libjpeg.so.62.0.0
> Checking /usr/lib/libjpeg.so.62.0.0
> Major version is 62
> Minor version is 0
> Revision version is 0
> OK
>
> This system is not compatible with Borland Kylix. Please see the
> documents in this directory for information on how to upgrade your
> system.
>
Reply to: