尝试将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
但我仍然收到与上面相同的错误消息。
任何帮助都会很棒。
谢谢
答案 0 :(得分:0)
自&#34;解决方案&#34; (这似乎是&#34;官方&#34;修复dovecot)只是抑制了valgrind的抱怨(你似乎对这些并不感兴趣),你可能最容易逃脱只是暂时卸载valgrind(并在之后重新安装)为你的构建。
这只会禁用测试并且不会明显地修复错误,但会让你继续。