URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 15015
[ Назад ]

Исходное сообщение
"/usr/src/lib//libsmutil/make ошибка"

Отправлено TiM , 22-Мрт-02 17:23 
Никак немогу понять, в чем дело. Может кто-то подскажет?
---cut---
[root@mail] /usr/src/lib/libsmutil# make
Warning: Object directory not changed from original /usr/src/lib/libsmutil
make: don't know how to make debug.c. Stop
---eof---

Содержание

Сообщения в этом обсуждении
"RE: /usr/src/lib//libsmutil/make ошибка"
Отправлено lavr , 22-Мрт-02 17:32 
>Никак немогу понять, в чем дело.
>Может кто-то подскажет?
>---cut---
>[root@mail] /usr/src/lib/libsmutil# make
>Warning: Object directory not changed from
>original /usr/src/lib/libsmutil
>make: don't know how to make
>debug.c. Stop
>---eof---

что в Makefile
и что показывает
make -n


"RE: /usr/src/lib//libsmutil/make ошибка"
Отправлено TiM , 22-Мрт-02 17:54 
[root@mail] /usr/src/lib/libsmutil# make -n
echo "Warning: Object directory not changed from original /usr/src/lib/libsmutil"
make: don't know how to make debug.c. Stop


"RE: /usr/src/lib//libsmutil/make ошибка"
Отправлено TiM , 22-Мрт-02 17:58 
---cut---
# $FreeBSD: src/lib/libsmutil/Makefile,v 1.1.2.3 2000/10/26 23:05:12 gshapiro Ex

MAINTAINER=     gshapiro@FreeBSD.org

SENDMAIL_DIR=${.CURDIR}/../../contrib/sendmail
.PATH:  ${SENDMAIL_DIR}/libsmutil

CFLAGS+=-I${SENDMAIL_DIR}/src -I${SENDMAIL_DIR}/include
CFLAGS+=-DNEWDB -DNIS -DMAP_REGEX -DNOT_SENDMAIL

# User customizations to the sendmail build environment
CFLAGS+=${SENDMAIL_CFLAGS}

LIB=    smutil

SRCS+=  debug.c errstring.c lockfile.c safefile.c snprintf.c strl.c

INTERNALLIB=            true
NOPIC=                  true
INTERNALSTATICLIB=      true

.include <bsd.lib.mk>
---eof---


"RE: /usr/src/lib//libsmutil/make ошибка"
Отправлено Z0termaNN , 22-Мрт-02 17:52 
>Никак немогу понять, в чем дело.
>Может кто-то подскажет?
>---cut---
>[root@mail] /usr/src/lib/libsmutil# make
>Warning: Object directory not changed from
>original /usr/src/lib/libsmutil
>make: don't know how to make
>debug.c. Stop
>---eof---

ты из m4 makefile делал ?


"RE: /usr/src/lib//libsmutil/make ошибка"
Отправлено TiM , 22-Мрт-02 17:56 
Нет. Пытаюсь ставить DrWeb-a для Sendmail-a, а там написано:
---cut---
Предполагается,  что  у  вас  расположение каталогов стандартное для FreeBSD  4.x. Если это не так, изменения в шагах минимальны и достаточно
прозрачны (здесь и далее $ означает shell prompt):
$ cd /usr/src/lib/libsmutil
$ make clean
$ make
$ cd /usr/src/lib
$ mkdir libmilter
$ cd libmilter
---cut---
Система - FreeBSD 4.5

"RE: /usr/src/lib//libsmutil/make ошибка"
Отправлено lavr , 22-Мрт-02 18:40 
>Нет. Пытаюсь ставить DrWeb-a для Sendmail-a,
>а там написано:
>---cut---
>Предполагается,  что  у  
>вас  расположение каталогов стандартное
>для FreeBSD  4.x. Если
>это не так, изменения в
>шагах минимальны и достаточно
>прозрачны (здесь и далее $ означает
>shell prompt):
>$ cd /usr/src/lib/libsmutil
>$ make clean
>$ make
>$ cd /usr/src/lib
>$ mkdir libmilter
>$ cd libmilter
^^^^^^^^^^^^^^- сие надо якобы лишь для
версии 8.11.1, не пойму только на хрена, если
патч listener'а накладывается в sendmail'е, и
родной sendmail собирается с milter

в /usr/src/lib/libsmutil/Makefile лазал руками?

показанный Makefile на вид нормальный
а внутри табуляции или пробелы, и патч нормально
лег?

что значит пытаешься поставить DrWeb?

cd /usr/ports/security/drweb

попробовал - у меня все ok.

вобщем у меня по любому все на ура проходит,
что по описанию в DrWeb, что по собственным осмысленным действиям

PS. Мб я чего не понял в описалове от DrWeb,
но на кой хрен делать /usr/src/lib/libmilter ?
если я библиотеку могу в sendmail'е собрать?
Мб ZolTermaNN меня поправить или объяснит?

>---cut---
>Система - FreeBSD 4.5


"RE: /usr/src/lib//libsmutil/make ошибка"
Отправлено TiM , 22-Мрт-02 19:10 
    Если у Вас FreeBSD, то первое, что необходимо - это в make.conf
(который по умолчанию находится в /etc/defaults/) добавить следующую строку:

для версий Sendmail до 8.12.x:
SENDMAIL_CFLAGS=-D_FFR_MILTER

для версий Sendmail c 8.12.x:
SENDMAIL_CFLAGS=-DMILTER

    Предполагается,  что  у  вас  расположение каталогов стандартное для
FreeBSD  4.x. Если это не так, изменения в шагах минимальны и достаточно
прозрачны (здесь и далее $ означает shell prompt):

$ cd /usr/src/lib/libsmutil
$ make clean
$ make
$ cd /usr/src/lib
$ mkdir libmilter

$ cd libmilter

    Создаем в этом каталоге Makefile следующего содержания: [cuted]

Далее:

$ make clean
$ make

Пересобираем сам sendmail:

$ cd /usr/src/usr.sbin/sendmail
$ make clean
$ make
$ make install

***
^ Вот я о чем... Я качал 4.27c с www.drweb.ru. Сейчас ставлю все сурсы... Может что и произойдет :)
Жду предложений...


"RE: /usr/src/lib//libsmutil/make ошибка"
Отправлено lavr , 22-Мрт-02 19:52 
>    Если у
>Вас FreeBSD, то первое, что
>необходимо - это в make.conf

удобно, но не необходимо

>(который по умолчанию находится в /etc/defaults/)
>добавить следующую строку:
>
>для версий Sendmail до 8.12.x:
>SENDMAIL_CFLAGS=-D_FFR_MILTER
>
>для версий Sendmail c 8.12.x:
>SENDMAIL_CFLAGS=-DMILTER
>
>    Предполагается,  
>что  у  вас
> расположение каталогов стандартное для
>
>FreeBSD  4.x. Если это не
>так, изменения в шагах минимальны
>и достаточно
>прозрачны (здесь и далее $ означает
>shell prompt):
>
>$ cd /usr/src/lib/libsmutil
>$ make clean
>$ make
>$ cd /usr/src/lib
>$ mkdir libmilter
>
>$ cd libmilter
>
>    Создаем в
>этом каталоге Makefile следующего содержания:
>[cuted]
>
>Далее:
>
>$ make clean
>$ make
>
>Пересобираем сам sendmail:
>
>$ cd /usr/src/usr.sbin/sendmail
>$ make clean
>$ make
>$ make install
>
>***

и что здесь? где и что не работает?

>^ Вот я о чем... Я
>качал 4.27c с www.drweb.ru. Сейчас
>ставлю все сурсы... Может что
>и произойдет :)
>Жду предложений...

так что все-таки не получается?

еще раз:

имеем:

/etc/make.conf в котором можем указать флаг
для сборки sendmail с milter-support

а можем оставить его для сборки sendmail
руками: make -D_FFR_MILTER
или     make -DMilter

вопрос - на кой хрен создавать
mkdir /usr/src/lib/libmilter - и грязнить
систему, если все это есть в:

[alone]~ > ls -la /usr/src/contrib/sendmail | grep lib
drwxr-xr-x   2 root  wheel     512 Feb 17 19:57 libmilter
drwxr-xr-x   2 root  wheel     512 Mar 15  2001 libsmdb
drwxr-xr-x   2 root  wheel     512 Feb 17 19:57 libsmutil
[alone]~ >

выше указана директория sendmail-sources

это понятно? (зачем они огород городят и путают тех кого легко запутать? в смысле DrWeb)
все что нужно есть в sendmail - все необходимые
libraries (см выше)

Мб пятница и я съехал с катушек и уже ничего не
понимаю? Но так и не понял что и где не работает.

И зачем плодить /usr/scr/lib/libmilter которая
есть в sendmail и для которой делается доп.Makefile?


"RE: /usr/src/lib//libsmutil/make ошибка"
Отправлено TiM , 22-Мрт-02 20:07 
Значит так!

1. FreeBSD 4.5 libmilter cтавится по дефаулту? Если да, то у меня проблемы в /usr/local/drweb/clients/drwebdc/configure:

---cut---
Enter directory that contain Sendmail sources tree
[default=/usr/src/contrib/sendmail]
Cannot found Milter library (libmilter.a)
Please go to /usr/src/contrib/sendmail/libmilter and build it
---eof---

2. Если они все описывают правильно и мне надо еще компилить sendmail c milter-ом, то когда я делаю:

---cut---
$ cd /usr/src/lib/libsmutil
$ make clean
$ make
---eof---

Выползает error-а вида:

---cut---
Warning: Object directory not changed from original /usr/src/lib/libsmutil
cc -O -pipe  -I/usr/src/lib/libsmutil/../../contrib/sendmail/src -I/usr/src/lib/libsmutil/../../contrib/sendmail/include -DNEWDB -DNIS -DMAP_REGEX -DNOT_SENDMAIL -DMILTER D_FFR_MILTER=1  -c /usr/src/lib/libsmutil/../../contrib/sendmail/libsmutil/debug.c -o debug.o
cc: cannot specify -o with -c or -S and multiple compilations
*** Error code 1

Stop in /usr/src/lib/libsmutil.
---eof---

Дак пересобирать sendmail или нет?
И что мне куда, как и почему?!.


"RE: /usr/src/lib//libsmutil/make ошибка"
Отправлено TiM , 22-Мрт-02 19:27 
>родной sendmail собирается с milter
??? 100% ??? (FreeBSD 4.5-RELEASE)

"RE: /usr/src/lib//libsmutil/make ошибка"
Отправлено Z0termaNN , 25-Мрт-02 13:22 
>>родной sendmail собирается с milter
>??? 100% ??? (FreeBSD 4.5-RELEASE)

на прошлой неделе вытащил из пыльного угла fbsd 4.4,
там по крайней мере sendmail c milter.


"RE: /usr/src/lib//libsmutil/make ошибка"
Отправлено lavr , 26-Мрт-02 15:14 
>>>родной sendmail собирается с milter
>>??? 100% ??? (FreeBSD 4.5-RELEASE)
>
>на прошлой неделе вытащил из пыльного
>угла fbsd 4.4,
>там по крайней мере sendmail c
>milter.

Могу ошибиться, но вроде с 4.1.1, уж с 4.2 точно
есть.

посмотрел историю начиная с 4.1-RELEASE, временами
что-то такое мудрили, но в целом все идет
в сторону улучшения и удобства, уж после
Sun'овского sendmail'а, удобства созданные во
FreeBSD рулят!!!, а то приходилось свои Makefile
городить чтобы свести стопорение и перезагрузку
sendmail к минимуму


"RE: /usr/src/lib//libsmutil/make ошибка"
Отправлено TiM , 22-Мрт-02 19:24 
Текз... Новый поворот. Поставил все сурсы... Теперь:
--cut--
[root@mail] /usr/src/lib/libsmutil# make
Warning: Object directory not changed from original /usr/src/lib/libsmutil
cc -O -pipe  -I/usr/src/lib/libsmutil/../../contrib/sendmail/src -I/usr/src/lib/libsmutil/../../contrib/sendmail/include -DNEWDB -DNIS -DMAP_REGEX -DNOT_SENDMAIL -DMILTER D_FFR_MILTER=1  -c /usr/src/lib/libsmutil/../../contrib/sendmail/libsmutil/debug.c -o debug.o
cc: cannot specify -o with -c or -S and multiple compilations
*** Error code 1

Stop in /usr/src/lib/libsmutil.
--eof--


"RE: /usr/src/lib//libsmutil/make ошибка"
Отправлено lavr , 25-Мрт-02 14:03 
Sendmail, Milter и DrWeb

- для чего нужны статические библиотеки:

- libsmutil.a
- libmilter.a

для сборки sendmail с поддержкой MILTER-API
и для возможности написания собственных фильтров
используя MILTER-API и библиотеку libmilter.a

рассмотрим конкретный случай с установкой DrWeb:

- все что нужно для работы DrWeb - это собрать
sendmail с MILTER

два варианта:

1) собрать и установить более свежую версию
sendmail из портов - для этого варианта нет
смысла что-либо расписывать

2) собрать соответствующим образом штатный
системный sendmail:

- добавляем в /etc/make.conf
переменную: SENDMAIL_CFLAGS=-D_FFR_MILTER

при необходимости, можно изменить и остальные
дополнительные переменные:

#SENDMAIL_CFLAGS=   опции компилятора
#SENDMAIL_LDFLAGS=  опции сборщика
#SENDMAIL_LDADD=    доп. библиотеки
#SENDMAIL_DPADD=

или установить переменную среды, например bash:

export SENDMAIL_CFLAGS=-D_FFR_MILTER

собирает sendmail:

export SENDMAIL_CFLAGS=-D_FFR_MILTER
cd /usr/src/lib/libsmutil
make
cd /usr/src/usr.sbin/sendmail/
make install

если необходимо для компиляции проеков с MILTER,
то:

cd /usr/src/lib/libsmutil
make && make install
cd /usr/src/lib
mkdir libmilter
создать Makefile взятый из DrWeb
make && make install

как вариант можно изменить
Makefile в /usr/src/usr.sbin/sendmail:

...
# Map extensions
MAPS=   -DMAP_REGEX

CFLAGS+= -I${SMDIR} -I${SENDMAIL_DIR}/include
CFLAGS+= ${DBMDEF} ${NIS} -DNETINET6 -DTCPWRAPPERS ${MAPS}

#--add MILTER
if defined(SENDMAIL_MILTER)
    CFLAGS+= -D_FFR_MILTER
.endif
...