I have a Solaris 5.8 machine and am having problems compiling
qsheff-II-2.1-r1:
#uname -a
SunOS sputnik 5.8 Generic_117350-34 sun4u sparc SUNW,UltraAX-i2
#gcc --version
gcc (GCC) 3.4.2
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#pwd
/usr/local/src/qsheff-II-2.1-r1
# ./configure --help
`configure' configures this package to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included
packages
-V, --version display version information and exit
-q, --quiet, --silent do not print `checking...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for `--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or `..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc. You can specify
etc....
# ./configure --with-clamav --with-clamd-socket=/tmp/clamd
--enable-subject-tag --enable-virus-tag
# make
# make install
# /usr/local/etc/qsheff-II/install-wrapper.sh
Another scenario:
# ./configure --with-clamav
--with-clamd-socket=/var/run/clamav/clamav.sock --enable-subject-tag \
--with-custom-prog="/usr/local/bin/myfilter.sh %%tempdir%% %%remoteip%%"
# make
# make install
# /usr/local/etc/qsheff-II/install-wrapper.sh
[EMAIL PROTECTED]/configure --with-clamav --with-clamd-socket=/tmp/clamd
--enable-subject-tag --enable-virus-tag
checking for a BSD-compatible install... ./install-sh -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
etc...
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating etc/install-wrapper.sh
config.status: creating etc/uninstall-wrapper.sh
config.status: creating etc/Makefile
config.status: creating etc/qsheff.conf-default
config.status: creating contrib/Makefile
config.status: creating doc/Makefile
config.status: creating samples/Makefile
config.status: creating src/qsheff-config.h
config.status: executing depfiles commands
Type 'make && make install' to install files.
#make
Making all in doc
make[1]: Entering directory `/opt/local/src/qsheff-II-2.1-r1/doc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/local/src/qsheff-II-2.1-r1/doc'
Making all in etc
make[1]: Entering directory `/opt/local/src/qsheff-II-2.1-r1/etc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/local/src/qsheff-II-2.1-r1/etc'
Making all in samples
make[1]: Entering directory `/opt/local/src/qsheff-II-2.1-r1/samples'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/local/src/qsheff-II-2.1-r1/samples'
Making all in contrib
make[1]: Entering directory `/opt/local/src/qsheff-II-2.1-r1/contrib'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/local/src/qsheff-II-2.1-r1/contrib'
Making all in src
make[1]: Entering directory `/opt/local/src/qsheff-II-2.1-r1/src'
make all-am
make[2]: Entering directory `/opt/local/src/qsheff-II-2.1-r1/src'
if gcc -DHAVE_CONFIG_H -I. -I. -I. -ansi -I/usr/local/include
-L/usr/local/lib -MT clam.o -MD -MP -MF ".deps/clam.Tpo" -c -o clam.o
clam.c; \
then mv -f ".deps/clam.Tpo" ".deps/clam.Po"; else rm -f
".deps/clam.Tpo"; exit 1; fi
clam.c: In function `cl_connect_local':
clam.c:35: error: `AF_LOCAL' undeclared (first use in this function)
clam.c:35: error: (Each undeclared identifier is reported only once
clam.c:35: error: for each function it appears in.)
make[2]: *** [clam.o] Error 1
make[2]: Leaving directory `/opt/local/src/qsheff-II-2.1-r1/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/opt/local/src/qsheff-II-2.1-r1/src'
make: *** [all-recursive] Error 1
If I change AF_LOCAL -> AF_UNIX in the clam.c file the compile
gets a bit further:
#make
Making all in doc
make[1]: Entering directory `/opt/local/src/qsheff-II-2.1-r1/doc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/local/src/qsheff-II-2.1-r1/doc'
Making all in etc
make[1]: Entering directory `/opt/local/src/qsheff-II-2.1-r1/etc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/local/src/qsheff-II-2.1-r1/etc'
Making all in samples
make[1]: Entering directory `/opt/local/src/qsheff-II-2.1-r1/samples'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/local/src/qsheff-II-2.1-r1/samples'
Making all in contrib
make[1]: Entering directory `/opt/local/src/qsheff-II-2.1-r1/contrib'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/local/src/qsheff-II-2.1-r1/contrib'
Making all in src
make[1]: Entering directory `/opt/local/src/qsheff-II-2.1-r1/src'
make all-am
make[2]: Entering directory `/opt/local/src/qsheff-II-2.1-r1/src'
if gcc -DHAVE_CONFIG_H -I. -I. -I. -ansi -I/usr/local/include
-L/usr/local/lib -MT clam.o -MD -MP -MF ".deps/clam.Tpo" -c -o clam.o
clam.c; \
then mv -f ".deps/clam.Tpo" ".deps/clam.Po"; else rm -f
".deps/clam.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -ansi -I/usr/local/include
-L/usr/local/lib -MT exec.o -MD -MP -MF ".deps/exec.Tpo" -c -o exec.o
exec.c; \
then mv -f ".deps/exec.Tpo" ".deps/exec.Po"; else rm -f
".deps/exec.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -ansi -I/usr/local/include
-L/usr/local/lib -MT djb.o -MD -MP -MF ".deps/djb.Tpo" -c -o djb.o djb.c; \
then mv -f ".deps/djb.Tpo" ".deps/djb.Po"; else rm -f ".deps/djb.Tpo";
exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -ansi -I/usr/local/include
-L/usr/local/lib -MT main.o -MD -MP -MF ".deps/main.Tpo" -c -o main.o
main.c; \
then mv -f ".deps/main.Tpo" ".deps/main.Po"; else rm -f
".deps/main.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -ansi -I/usr/local/include
-L/usr/local/lib -MT loadconfig.o -MD -MP -MF ".deps/loadconfig.Tpo" -c
-o loadconfig.o loadconfig.c; \
then mv -f ".deps/loadconfig.Tpo" ".deps/loadconfig.Po"; else rm -f
".deps/loadconfig.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -ansi -I/usr/local/include
-L/usr/local/lib -MT toolkit.o -MD -MP -MF ".deps/toolkit.Tpo" -c -o
toolkit.o toolkit.c; \
then mv -f ".deps/toolkit.Tpo" ".deps/toolkit.Po"; else rm -f
".deps/toolkit.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -ansi -I/usr/local/include
-L/usr/local/lib -MT log.o -MD -MP -MF ".deps/log.Tpo" -c -o log.o log.c; \
then mv -f ".deps/log.Tpo" ".deps/log.Po"; else rm -f ".deps/log.Tpo";
exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -ansi -I/usr/local/include
-L/usr/local/lib -MT smtp.o -MD -MP -MF ".deps/smtp.Tpo" -c -o smtp.o
smtp.c; \
then mv -f ".deps/smtp.Tpo" ".deps/smtp.Po"; else rm -f
".deps/smtp.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -ansi -I/usr/local/include
-L/usr/local/lib -MT scanengine.o -MD -MP -MF ".deps/scanengine.Tpo" -c
-o scanengine.o scanengine.c; \
then mv -f ".deps/scanengine.Tpo" ".deps/scanengine.Po"; else rm -f
".deps/scanengine.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -ansi -I/usr/local/include
-L/usr/local/lib -MT miscutil.o -MD -MP -MF ".deps/miscutil.Tpo" -c -o
miscutil.o miscutil.c; \
then mv -f ".deps/miscutil.Tpo" ".deps/miscutil.Po"; else rm -f
".deps/miscutil.Tpo"; exit 1; fi
gcc -ansi -I/usr/local/include -L/usr/local/lib -o qsheff clam.o
exec.o djb.o main.o loadconfig.o toolkit.o log.o smtp.o scanengine.o
miscutil.o
clam.o: In function `cl_connect_local':
clam.o(.text+0x50): undefined reference to `socket'
clam.o(.text+0xc0): undefined reference to `connect'
clam.o: In function `cl_scandir':
clam.o(.text+0x29c): undefined reference to `send'
clam.o(.text+0x370): undefined reference to `recv'
scanengine.o: In function `attach_filter':
scanengine.o(.text+0xc0c): undefined reference to `strcasestr'
miscutil.o: In function `misc_inet_ntoa':
miscutil.o(.text+0xd68): undefined reference to `inet_ntoa'
miscutil.o: In function `misc_inet_addr':
miscutil.o(.text+0xd8c): undefined reference to `inet_addr'
collect2: ld returned 1 exit status
make[2]: *** [qsheff] Error 1
make[2]: Leaving directory `/opt/local/src/qsheff-II-2.1-r1/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/opt/local/src/qsheff-II-2.1-r1/src'
make: *** [all-recursive] Error 1
The handbook file indicates that Solaris 5.8 should work just fine:
#grep -i olaris hand*
handbook.en.txt:Solaris 5.8 (gcc version 3.4.2)
Any ideas?
--
Russell P. Sutherland Email: russ @ madhaus.cns.utoronto.ca
4 Bancroft Ave., Rm. 102 Voice: +1.416.978.0470
University of Toronto Fax: +1.416.978.6620
Toronto, ON M5S 1C1 WWW: http://madhaus.cns.utoronto.ca/~russ
CANADA
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]