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]

Reply via email to