具有未初始化值的zlib lib-compression

时间:2015-04-14 05:51:13

标签: c linux

尝试将dovecot从源码安装到我的ubuntu服务器12.04.5 32位时,我遇到了问题。

Conditional jump or move depends on uninitialised value(s)
    at 0x4046DD8: inflateReset2 (in /lib/i386-linux-gnu/libz.so.1.2.3.4)
    by 0x4046EC7: inflateInit2_ (in /lib/i386-linux-gnu/libz.so.1.2.3.4)
    by 0x804B16F: i_stream_zlib_init (istream-zlib.c:320)
    by 0x804B2A2: i_stream_create_zlib (istream-zlib.c:475)
    by 0x804AB98: test_compression_handler (test-compression.c:72)
    by 0xEFCDAB88: ???

make[2]: *** [check-test] Error 1
make[2]: Leaving directory `/usr/local/src/dovecot-2.2.16/src/lib-compression'
make[1]: *** [check-recursive] Error 1

我尝试过以下解决方案:

$ cd /usr/local/src/dovecot-2.2.16
$ cat << EOF > ./run-test-valgrind.supp
{
   <squeezy-zlib-uninitialized>
   Memcheck:Cond
   fun:inflateReset2
   fun:inflateInit2_
   fun:i_stream_zlib_init
   fun:i_stream_create_zlib
   fun:test_compression_handler
   fun:test_compression
   fun:test_run_funcs
   fun:test_run
   fun:main
}
EOF

但我仍然收到与上面相同的错误消息。

任何帮助都会很棒。

谢谢

1 个答案:

答案 0 :(得分:0)

自&#34;解决方案&#34; (这似乎是&#34;官方&#34;修复dovecot)只是抑制了valgrind的抱怨(你似乎对这些并不感兴趣),你可能最容易逃脱只是暂时卸载valgrind(并在之后重新安装)为你的构建。

这只会禁用测试并且不会明显地修复错误,但会让你继续。