Я недавно столкнулся с такого рода проблемами.У нас было программное обеспечение, работающее нормально при компиляции в 32 бита (даже если оно работает на 64-битной системе), но возвращало тот же Z_BUF_ERROR из uncompress () при компиляции для 64-битной среды (используя -m64)
Сжатые данные былипроверил: прочитал из сжатого файла программным обеспечением, затем сбросил в файл снова и затем сравнил, никаких различий.
Таким образом, мой вывод состоял в том, что проблема исходила от самого zlib.Репозитории Ubuntu 10.4, кажется, предоставляют только zlib версии 1.2.3.Домашняя страница zlib предоставляет версию 1.2.5 (с некоторыми заметками о лучшей переносимости).
Надеюсь, это поможет.
edit: мы перешли от использования uncompress () к inflate () и исправилинаша проблема для 64-битной архитектуры.Мы до сих пор не знаем, работает ли uncompress () для 64-битных систем с более новой (> 1.2.3) версией zlib.Но этот обходной путь подходит для использования zlib-1.2.3 / 64bits.