[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    Bug#1623: kdvi core dump
From:       Duncan Haldane <f.d.m.haldane () mciworld ! com>
Date:       1999-07-30 1:16:05
[Download RAW message or body]


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:
<snip>
> 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 <f.d.m.haldane@mciworld.com>
Date: 29-Jul-99
Time: 20:55:18

This message was sent by XFMail
----------------------------------

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic