From kde-bugs-dist Fri Jul 30 01:16:05 1999 From: Duncan Haldane Date: Fri, 30 Jul 1999 01:16:05 +0000 To: kde-bugs-dist Subject: Bug#1623: kdvi core dump X-MARC-Message: https://marc.info/?l=kde-bugs-dist&m=93329733931721 On 28-Jul-99 Yao-Pin Kuo wrote: > Package: kdvi > Version: 1.1pre2 > > When I used kdvi to view a dvi file, kdvi core dump. Here is the > situation: > kdvi: xputenv.c:63: xputenv: Assertion `old_item' failed ^^^^^^^ an assert() test of a string returned by getenv() failed. this problem occurs when kdvi is compiled on RedHat 6.0 (glibc-2.1.1) systems. binaries compiled on RedHat 5.2 work fine on RedHat 6.0 !!!!!! It is something to do with putenv() in the kpathsea library that is statically linked to kdvi, and compiled with it. When kpathsea is compiled, autoconf is run to test, among other things, "whether putenv uses malloc" on RedHat 5.2 (glibc-2.0) the answer is "yes", and SMART_PUTENV gets defined. on RedHat 6.0 (glibc-2.1.1) the test reports "no", and SMART_PUTENV is not defined. This affects how kdegraphics/kdvi/kpathsea/xputenv.c gets compiled. kdvi binaries compiled with SMART_PUTENV defined seem to work perfectly. So I guess the test goes wrong on the RedHat-6.0 system (did putenv() really change much between glibc-2.0 and glibc-2.1.1 .... ?) The workaround on RedHat 6.0 systems is to patch xputenv.c to add a #define SMART_PUTENV 1 to override the test result in c-auto.h, and recompile. The fix is probably to upgrade to a recent release of the kpathsea library. (path search) This will need more work to update kdvi to work with the new kpathsea. See bug #1470. ---------------------------------- E-Mail: Duncan Haldane Date: 29-Jul-99 Time: 20:55:18 This message was sent by XFMail ----------------------------------