Поскольку в разных дистрибутивах пакеты называются по-разному, это чрезвычайно сложно осуществить. Например, в Debian пакет может называться libfoo, а его пакет разработки аналогичен libfoo-dev. В RHEL/CentOS это могут быть libfoo1 и libfoo1-devel.
Хорошо написанный файл configure.ac (который используется для генерации скрипта 'configure') должен мета сказать вам, какой пакет вам не хватает. Т.е.
Checking for libfoo ... no
Checking for libfoo usability .... no
./configure: Error: You are missing the package 'libfoo' and possibly
'libfoo-dev(el)'
Это позволяет apt-cache / yum искать что-то для установки, если ошибки, предшествующие configure: Error: не очевидны. Вывод настроек в Google обычно приносит плоды, чтобы выяснить, какой пакет вам не хватает.
Настоящая проблема возникает, когда версия libfoo, предлагаемая вашим дистрибутивом, слишком старая для программы, которую вы пытаетесь скомпилировать. В этом случае вы должны собрать сам libfoo, установить его отдельно от версии, предоставленной вашим дистрибутивом, и указать программе, как на него ссылаться (также это делается через «configure»)
По этой причине я обычно использую быстро движущиеся дистрибутивы (т.е. Ubuntu) для моей разработки машины. Обычно я могу найти то, что мне нужно, в обновленном хранилище юниверса.
Я просто должен был обновить Glibc на машине Debian Lenny просто чтобы быть в состоянии построить и установить многопоточную цель АоЙ на на основе AIO, плюс катить мое собственное 2.6.31.6 ядро , потому что программа хочет eventfd поддержки. Я чувствую твою боль :)
Тем не менее, это часть удовольствия создавать свои собственные вещи ... как только это работает, вы вдвойне удовлетворены ... или вдвойне разочарованы, если это не так :)