debian: ошибка при сборке apache 1.3.41

При сборке apache 1.3.41 под debian 5.0 lenny возникает ошибка: отсутствует ndbm.h:

$ ./configure \
  --prefix=/usr/local/apache \
  --enable-module=most \
  --enable-shared=max \
$ make
...
mod_auth_dbm.c:42:18: error: ndbm.h: No such file or directory
mod_auth_dbm.c: In function ‘get_dbm_pw’:
mod_auth_dbm.c:110: error: ‘DBM’ undeclared (first use in this function)
mod_auth_dbm.c:110: error: (Each undeclared identifier is reported only once
mod_auth_dbm.c:110: error: for each function it appears in.)
mod_auth_dbm.c:110: error: ‘f’ undeclared (first use in this function)
mod_auth_dbm.c:111: error: ‘datum’ undeclared (first use in this function)
mod_auth_dbm.c:111: error: expected ‘;’ before ‘d’
mod_auth_dbm.c:114: error: ‘q’ undeclared (first use in this function)
mod_auth_dbm.c:128: error: ‘d’ undeclared (first use in this function)
make[4]: *** [mod_auth_dbm.so] Error 1
make[3]: *** [all] Error 1
make[2]: *** [subdirs] Error 1
make[2]: Leaving directory `/usr/src/apache_1.3.41/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/usr/src/apache_1.3.41'
make: *** [build] Error 2

Поиск по содержимому пакетов показывает, что такого файла в пакетах debian нет. Пишут, что раньше он входил в состав libc6. В одном из листов рассылки было найдено такое решение:

$ sudo apt-get install libgdbm-dev
$ ln -s /usr/include/gdbm-ndbm.h /usr/include/ndbm.h

Что интересно, работает.

Комментарии (3) на “debian: ошибка при сборке apache 1.3.41”

  1. Artem Zhirkov:

    Афтор догадался поставить девелоперский набор либ когда отсутствовал файл одной из них! Это когениально! Поцоны бы не догадались сами если чо!

  2. Alex Shatlovsky:

    Artem Zhirkov:
    Для особо внимательных сообщаем, что проблема в том, что апач хочет ndbm.h, которой в debian нет уже много лет. Но есть /usr/include/gdbm-ndbm.h, которой апач не видит.

    Объяснить апачу, что ему нужен именно gdbm-ndbm.h — об этом запись, а не о том, как ставить девелоперские пакеты.

  3. GQ:

    Потому что не надо изобратеть велосипед. Пересобрал бы сурцовый пакет и все дела.

Оставить комментарий