LINUX.ORG.RU

как postfix показать db.h


0

0

Всем привет! Система Mandrake 9.1 Помогите понять в чём проблема, не собирается postfix ругаясь на db.h. Хотя db-4.1.25 установлен в /usr/local/db-4.1.25 из сырцов, а db1-1.85-8mdk и db1-devel-1.85-8mdk установлены из rpm.

При компиляции вылетает следующее:

[postfix-2.1.3]# make -f Makefile.init makefiles make -f Makefile.in MAKELEVEL= Makefiles set -e; for i in src/util src/global src/dns src/master src/postfix src/smtpstone src/sendmail src/error src/pickup src/cleanup src/smtpd src/local src/lmtp src/trivial-rewrite src/qmgr src/oqmgr src/smtp src/bounce src/pipe src/showq src/postalias src/postcat src/postconf src/postdrop src/postkick src/postlock src/postlog src/postmap src/postqueue src/postsuper src/qmqpd src/spawn src/flush src/verify src/virtual src/proxymap; do \ (set -e; echo "[$i]"; cd $i; rm -f Makefile; \ make -f Makefile.in Makefile MAKELEVEL=) || exit 1; \ done; [src/util]

(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile No <db.h> include file found. Install the appropriate db*-devel package first. See the RELEASE_NOTES file for more information. make: *** [Makefile] Ошибка 1 make: *** [Makefiles] Ошибка 1 make: *** [makefiles] Ошибка 2

Где можно указать что db.h лежит там то?

anonymous

Установи не в /usr/local/db-x.y.z а в /usr(или собери пакет или скачай готовый)

Deleted
()

Это потому, что ищет в стандартных путях(т.е. в /usr/include и в /usr/local/include)

Попробуй
# CFLAGS="-I/usr/local/db-4.1.25/include" make -f Makefile.init makefiles

Сделать

Deleted
()
Ответ на: комментарий от Deleted

сэнькс, попробую и напишу в любом случае

anonymous
()
Ответ на: комментарий от Deleted

Сделал

#CFLAGS="-I/usr/local/db-4.1.25/include" make -f Makefile.init makefiles и #CFLAGS="-I/usr/include/db1" make -f Makefile.init makefiles

Не помогло, пишет: ..... ..... Makefile.in) >Makefile No <db.h> include file found. Install the appropriate db*-devel package first. See the RELEASE_NOTES file for more information. make: *** [Makefile] Ошибка 1 make: *** [Makefiles] Ошибка 1 make: *** [makefiles] Ошибка 2

anonymous
()
Ответ на: комментарий от anonymous

Что то postfix меня вообще запутал.

Есть в исходниках постфикса файлик под именем makedefs, в нём я подправил пути к db.h, и теперь при #make -f Makefile.init makefiles конфигурация проходит на ура, только вот просто #make завершается ошибкой, мол не может найти db.h - задолбало!

..... ..... /flush src/verify src/virtual src/proxymap; do \ (set -e; echo "[$i]"; cd $i; make 'CC=gcc -Wmissing-prototypes -Wformat -DHAS_PCRE ' update MAKELEVEL=) || exit 1; \ done [src/util] gcc -Wmissing-prototypes -Wformat -DHAS_PCRE -g -O -I. -DLINUX2 -c dict_db.c dict_db.c:63:16: db.h: No such file or directory dict_db.c:111: parse error before "DB" dict_db.c:111: warning: no semicolon at end of struct or union dict_db.c:112: warning: data definition has no type or storage class dict_db.c: In function `dict_db_lookup': dict_db.c:162: `dict_db' undeclared (first use in this function) .... ... dict_db.c: In function `dict_btree_open': dict_db.c:633: `BTREEINFO' undeclared (first use in this function) dict_db.c:633: parse error before "tweak" dict_db.c:635: `tweak' undeclared (first use in this function) dict_db.c:650: `DB_BTREE' undeclared (first use in this function)

make: *** [dict_db.o] Ошибка 1 make: *** [update] Ошибка 1

ЧТО ЕМУ ОПЯТЬ НЕ ХВАТАЕТ?

anonymous
()
Ответ на: комментарий от anonymous

ВСЁ мужики третий час ночи - теряю терпение.

С db.h решил просто: Взял сорцы db-4.1.25 собрал и установил, но этот гад не захотел искать db.h и опять жаловался что мол нету db.h в /usr/include/db.

Тогда я просто создал /usr/include/db ссылку на каталог где лежат хедеры.

Команда # make -f Makefile.init makefiles отработала без ошибок.

Но тут make сказал фиг и выдал:

..... ..... [src/master] gcc -Wmissing-prototypes -Wformat -I/usr/include/db -DHAS_PCRE -g -O -I. -I../../include -DLINUX2 -o master master.o master_conf.o master_ent.o master_sig.o master_avail.o master_spawn.o master_service.o master_status.o master_listen.o master_vars.o master_wakeup.o master_flow.o ../../lib/libglobal.a ../../lib/libutil.a -L/usr/lib -lpcre -ldb -lnsl -lresolv /usr/bin/ld: cannot find -ldb collect2: ld returned 1 exit status make: *** [master] Ошибка 1 make: *** [update] Ошибка 1

Ну а теперь что, понять не могу, нужна ваша помощь, выручайте!!!

anonymous
()
Ответ на: комментарий от anonymous

Ну так теперь он не может найти libdb* в стандартныз путях. Добавь строчку /usr/local/db-x.y.z/lib в /etc/ld.so.conf и потом скажи ldconfig

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.