Обсуждение статьи тематического каталога: Патч для ClamAV 0.86.2 и RAR 3 (FreeBSD) (clamav rar compress archive virus)Ссылка на текст статьи: http://www.opennet.me/base/net/clamav_rar3.txt.html
Блин у меня стоит 5.3 не работает стартовый скрипт что делать?
Тогда Вам стОит прописать в /etc/rc.conf
clamav_clamd_enable="YES"
clamav_milter_enable="YES"
clamav_freshclam_enable="YES";)
Новый патч от автора (Victor Ustugov) лежит здесь:
http://www.3nity.ru/download.htm?id=68
что-то не создается по этой ссылке archivers/libunrar3/ http://www.mta.org.ua/pipermail/exim-conf/attachments/200411...
А под Солару можно это поставить ?
Автор сам пробовал по инструкции проделать это?
Обновил порт, запускаю этот .bin - мурыжит... качает... патч не накладывается, archivers/libunrar3 даже не упоминается в этом шелл-скрипте... Короче, Автор!!! Перепеши статью с учетом как оно должно быть на самом деле, или отзывай ее у Чиркова...
В статье действительно ошибка, ссылка по которой должен раполагаться скрипт для создания libunrar3 указывает не туда, куда следует. Вместо patch_clamav.bin, конечно же нужно воспользоваться скриптом http://e-theory.narod.ru/clamav/patch-unrar. В остальном, порядок действий данный в статье приводит к желаемому результату. Прошу прощения, за недоразумение.
Да нифига подобного...1. unrarlib.h - не патчится... Приходится ручками из rej-файла тянуть желаемый результат.
2. unrarlib.c - так и не соберемся никак в патч прописать
+ #include <stdlib.h>
перед включением dll.hpp
3. -lunrar3 в libtool пришлось впихивать руками, иначе не собиралась libclamav.soКороче, статья корявая. Как уже говорил - либо переписывай, либо отзывай ее у Чиркова, иначе народ менее сообразительный так и будет плеваться...
А вот за линк на список рассылки - спасибо, ибо как раз там и были необходимые разъяснения и патчи, плюс твой патч, хоть не полностью, но основную часть выполняет.
Дамсс.. хотели как лучше, получилось как всегда =)..
А я делал все как в предыдущей статье на эту тему и все работало =)
Отредактированная статья уже отправлена владельцу ресурса.
Шаг 2... Делал по статье
bash-2.05b# bash-2.05b# patch -Np1 <clamav-0.86.2-libunrar3.patch
Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ruN clamav-0.86.2/Makefile.in clamav-0.86.2.p1/Makefile.in
|--- clamav-0.86.2/Makefile.in Fri Jun 24 00:03:07 2005
|+++ clamav-0.86.2.p1/Makefile.in Wed Aug 10 07:24:57 2005
--------------------------
Patching file Makefile.in using Plan A...
Hunk #1 succeeded at 130.
Hunk #2 succeeded at 149.
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ruN clamav-0.86.2/clamd/Makefile.in clamav-0.86.2.p1/clamd/Makefile.in
|--- clamav-0.86.2/clamd/Makefile.in Fri Jun 24 00:03:05 2005
|+++ clamav-0.86.2.p1/clamd/Makefile.in Wed Aug 10 07:20:36 2005
--------------------------
Patching file clamd/Makefile.in using Plan A...
Hunk #1 succeeded at 123.
Hunk #2 succeeded at 148.
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ruN clamav-0.86.2/clamdscan/Makefile.in clamav-0.86.2.p1/clamdscan/Makefile.in
|--- clamav-0.86.2/clamdscan/Makefile.in Fri Jun 24 00:03:08 2005
|+++ clamav-0.86.2.p1/clamdscan/Makefile.in Wed Aug 10 07:21:13 2005
--------------------------
Patching file clamdscan/Makefile.in using Plan A...
Hunk #1 succeeded at 114.
Hunk #2 succeeded at 139.
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ruN clamav-0.86.2/clamscan/Makefile.in clamav-0.86.2.p1/clamscan/Makefile.in
|--- clamav-0.86.2/clamscan/Makefile.in Fri Jun 24 00:03:09 2005
|+++ clamav-0.86.2.p1/clamscan/Makefile.in Wed Aug 10 07:20:02 2005
--------------------------
Patching file clamscan/Makefile.in using Plan A...
Hunk #1 succeeded at 107.
Hunk #2 succeeded at 132.
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ruN clamav-0.86.2/clamscan/clamscan.c clamav-0.86.2.p1/clamscan/clamscan.c
|--- clamav-0.86.2/clamscan/clamscan.c Mon Jul 25 02:19:05 2005
|+++ clamav-0.86.2.p1/clamscan/clamscan.c Tue Aug 9 13:49:30 2005
--------------------------
Patching file clamscan/clamscan.c using Plan A...
Hunk #1 succeeded at 34.
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ruN clamav-0.86.2/libclamav/Makefile.in clamav-0.86.2.p1/libclamav/Makefile.in
|--- clamav-0.86.2/libclamav/Makefile.in Fri Jun 24 00:03:13 2005
|+++ clamav-0.86.2.p1/libclamav/Makefile.in Wed Aug 10 07:19:21 2005
--------------------------
Patching file libclamav/Makefile.in using Plan A...
Hunk #1 succeeded at 120.
Hunk #2 succeeded at 145.
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ruN clamav-0.86.2/libclamav/scanners.c clamav-0.86.2.p1/libclamav/scanners.c
|--- clamav-0.86.2/libclamav/scanners.c Fri Jun 24 00:03:12 2005
|+++ clamav-0.86.2.p1/libclamav/scanners.c Tue Aug 9 14:20:03 2005
--------------------------
Patching file libclamav/scanners.c using Plan A...
Hunk #1 succeeded at 42.
Hunk #2 succeeded at 70.
Hunk #3 succeeded at 110.
Hunk #4 succeeded at 129.
Hunk #5 succeeded at 360.
Hunk #6 succeeded at 1238.
Hunk #7 succeeded at 1381.
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ruN clamav-0.86.2/libclamav/unrarlib.c clamav-0.86.2.p1/libclamav/unrarlib.c
|--- clamav-0.86.2/libclamav/unrarlib.c Fri Jun 24 00:03:12 2005
|+++ clamav-0.86.2.p1/libclamav/unrarlib.c Tue Aug 9 13:39:10 2005
--------------------------
Patching file libclamav/unrarlib.c using Plan A...
Hunk #1 succeeded at 1.
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ruN clamav-0.86.2/libclamav/unrarlib.h clamav-0.86.2.p1/libclamav/unrarlib.h
|--- clamav-0.86.2/libclamav/unrarlib.h Fri Jun 24 00:03:12 2005
|+++ clamav-0.86.2.p1/libclamav/unrarlib.h Tue Aug 9 13:03:34 2005
--------------------------
Patching file libclamav/unrarlib.h using Plan A...
Hunk #1 succeeded at 1.
Hmm... Ignoring the trailing garbage.
done
потом
./configure --with-user=clamav --with-group=clamav
и make
И вот что в итоге:
/usr/bin/ld: cannot find -lunrar3
*** Error code 1Stop in /clamav-0.86.2/libclamav.
*** Error code 1Stop in /clamav-0.86.2.
*** Error code 1Stop in /clamav-0.86.2.
Что делать?
Заранее спасибо за ответ.
Либо сказать ldconfig`у где у вас libunrar3:
ldconfig -m /usr/local/lib
либо не правильно собрана libunrar3, удостоверьтесь, что в archivers/libunrar3/work/unrar/makefile.unix везде закомментировано #STRIP=strip, хотя патч это везде и так исправляет.
У меня всё успешно собралось, чего и вам желаю.
/usr/ports/archivers/libunrar3/work/unrar/makefile.unix :
#
# Makefile for UNIX - unrar
#
# Note: you have to 'make clean' before you can build
# the sfx module
## Linux using GCC
CXX=g++
CXXFLAGS=-O2 -fPIC -DPIC
DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DGUI -DSILENT
STRIP=strip
RANLIB=ranlib# Linux using LCC
#CXX=lcc
#CXXFLAGS=-O2
#DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
#STRIP=strip# HP UX using aCC
#CXX=aCC
#CXXFLAGS=-AA +O2 +Onolimit
#DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
#STRIP=strip# IRIX using GCC
#CXX=g++
#CXXFLAGS=-O2
#DEFINES=-DBIG_ENDIAN -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_BSD_COMPAT -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1
#STRIP=strip# IRIX using MIPSPro (experimental)
#CXX=CC
#CXXFLAGS=-O2 -mips3 -woff 1234,1156,3284 -LANG:std
#DEFINES=-DBIG_ENDIAN -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_BSD_COMPAT -DNATIVE_INT64 -DInt64=int64_t
#STRIP=strip# AIX using xlC (IBM VisualAge C++ 5.0)
#CXX=xlC
#CXXFLAGS=-O -qinline -qro -qroconst -qmaxmem=16384 -qcpluscmt
#DEFINES=-D_LARGE_FILES -D_LARGE_FILE_API
#LIBS=-lbsd
#STRIP=strip# Solaris using CC (SUN Forte Developer 7 C++)
#CXX=CC
#CXXFLAGS=-xO2 -xbuiltin=%all -xinline=%auto
#DEFINES=-DBIG_ENDIAN -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
#STRIP=strip# Solaris using GCC (optimized for UltraSPARC 1 CPU)
#CXX=g++
#CXXFLAGS=-O3 -mcpu=v9 -mtune=ultrasparc -m32
#DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
#STRIP=/usr/ccs/bin/strip# Tru64 5.1B using GCC3
#CXX=g++
#CXXFLAGS=-O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_XOPEN_SOURCE=500
#STRIP=strip
#LDFLAGS=-rpath /usr/local/gcc/lib# Tru64 5.1B using DEC C++
#CXX=cxx
#CXXFLAGS=-O4 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DNATIVE_INT64 -DInt64=long
#STRIP=strip
#LDFLAGS=# QNX 6.x using GCC
#CXX=g++
#CXXFLAGS=-O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fexceptions
#STRIP=strip
#LDFLAGS=-fexceptions# Cross-compile
# Linux using arm-linux-g++
#CXX=arm-linux-g++
#CXXFLAGS=-O2
#DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
#STRIP=arm-linux-strip
#LDFLAGS=-static##########################
действия:
1)mkdir /usr/ports/archivers/libunrar3
2)cd /usr/ports/archivers/libunrar3
3)переписал в /usr/ports/archivers/libunrar3 файл 4)в /usr/ports/distfiles переписал файл http://e-theory.narod.ru/clamav/patch_unrar
4)sh ./patch_unrar (вместо указанного в статье sh ./patch_unrarlib)Порт успешно ставится...
Далее:
#cd /usr/local/include/libunrar3
#wget http://e-theory.narod.ru/clamav/patch_dll.hpp
#patch -Np0 <patch_dll.hppВот и всё... С ldconfig -m /usr/local/lib аналогично... не помогает
>/usr/ports/archivers/libunrar3/work/unrar/makefile.unix :
>#
># Makefile for UNIX - unrar
>#
># Note: you have to 'make clean' before you can build
># the sfx module
>#
>
># Linux using GCC
>CXX=g++
>CXXFLAGS=-O2 -fPIC -DPIC
>DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DGUI -DSILENT
>STRIP=strip
>RANLIB=ranlibВот тут нужно поправить
STRIP=strip на
#STRIP=stripи пересобрать libunrar3
Проверил... закомментировано... пересобрал. Та же фигня :
не может найти lunrar3
PS libunrar3.so есть...
Маленькие неточности в статье в шаге первом. В статье указано:
#wget http://e-theory.narod.ru/clamav/unrar-3.4.3-fix.patch -O/usr/ports/distfiles
#sh ./patch_unrarlib
У меня получилось только так:
#wget http://e-theory.narod.ru/clamav/unrar-3.4.3_fix.patch
#sh ./patch_unrar
В итоге результат как у odin_asb :(
Я сделал так:
wget http://e-theory.narod.ru/clamav/unrar-3.4.3_fix.patch
и потом перетащил его в /usr/ports/distfiles
ломало разбираться с опциями wgetКстати, у меня freebsd 5.2.1 ... может тут собака порылась?
Не может она там порыться... у меня freebsd 4.9.x
Я думаю может из-за того, что у меня clamav-0.86.2_1? Ругается при make install кламава.
Пробывал clamav-0.86.2. На него даже ...-libunrar3.patch не накладывается.
Извращался целый день, а результат 00000 :(
Как я уже не извращался, но в никакую не хотит он ставиться. Сделайте нормальный патч для портов.
Однако тяжело порты-то нормальные делать !
Почему бы не сделать рабочие порты libunrar3 и clamav и выложить именно их ?
Не совсем понимаю, зачем плодить кучу патчей,
когда McMCC регулярно выкладывает патчи на http://mcmcc.bat.ru/clamav/ ? Автор статьи туда заглядывал? И еще, почему такой старый libunrar3? Давно уже идет ветка 3.5.х.
Без BASH'а в системе вылетает с ошибкой (указанной в предыдущих постах) при компиляции clamav. Надо бы отразить в статье...
После патча для clamav при его сборке появляется следующее -
----
scanners.c: In function `cli_scanrar':
scanners.c:129: `ArchiveList_struct' undeclared (first use in this function)
scanners.c:129: (Each undeclared identifier is reported only once
scanners.c:129: for each function it appears in.)
scanners.c:129: `rarlist' undeclared (first use in this function)
scanners.c:130: `rarlist_head' undeclared (first use in this function)
scanners.c:131: syntax error before `char'
scanners.c:144: syntax error before `)'
scanners.c:164: `mdata' undeclared (first use in this function)
scanners.c:254: `RAR_FENTRY_ATTR_DIRECTORY' undeclared (first use in this function)
scanners.c:269: `rar_data_ptr' undeclared (first use in this function)
scanners.c:269: `rar_data_size' undeclared (first use in this function)
----
Вроде виноват сам патч.
На FreeBSD 5.3 после всех описанных действий выдается такое:
----
In file included from unrarlib.c:31:
/usr/local/include/libunrar3/dll.hpp:111: error: syntax error before '*' token
/usr/local/include/libunrar3/dll.hpp:113: error: syntax error before '*' token
/usr/local/include/libunrar3/dll.hpp:114: error: syntax error before '*' token
/usr/local/include/libunrar3/dll.hpp:120: warning: data definition has no type or storage class
/usr/local/include/libunrar3/dll.hpp:121: error: syntax error before "PASCAL"
/usr/local/include/libunrar3/dll.hpp:121: warning: data definition has no type or storage class
/usr/local/include/libunrar3/dll.hpp:122: error: syntax error before "RARCloseArchive"
/usr/local/include/libunrar3/dll.hpp:123: error: syntax error before "RARReadHeader"
/usr/local/include/libunrar3/dll.hpp:124: error: syntax error before "RARReadHeaderEx"
/usr/local/include/libunrar3/dll.hpp:125: error: syntax error before "RARProcessFile"
/usr/local/include/libunrar3/dll.hpp:126: error: syntax error before "RARProcessFileW"
/usr/local/include/libunrar3/dll.hpp:127: error: syntax error before "RARSetCallback"
/usr/local/include/libunrar3/dll.hpp:128: error: syntax error before "RARSetChangeVolProc"
/usr/local/include/libunrar3/dll.hpp:129: error: syntax error before "RARSetProcessDataProc"
/usr/local/include/libunrar3/dll.hpp:130: error: syntax error before "RARSetPassword"
/usr/local/include/libunrar3/dll.hpp:131: error: syntax error before "RARGetDllVersion"
unrarlib.c: In function `cli_unrar3':
unrarlib.c:46: error: syntax error before "hArcData"
unrarlib.c:89: error: `hArcData' undeclared (first use in this function)
unrarlib.c:89: error: (Each undeclared identifier is reported only once
unrarlib.c:89: error: for each function it appears in.)
*** Error code 1
собрал (на линуксе) новый clamav (0.87.1) с unrar3.
патч слегка корявый, использует полный путь к dll.hpp (надо было поправить + добавить во всех файлах, где он подключется, #include <stdio.h>)
а так вроде работает и с новой версией.
посмотрим...
желаю удачи.