Installing SpamAssassin on Solaris 2.5.1
Solaris 2.5 does
not include the snprintf and vsnprintf functions, causing
problems when building SpamAssassin's spamc:
make -f spamc/Makefile spamc/spamc
gcc -g -O2 spamc/spamc.c
spamc/libspamc.c spamc/utils.c \
-o spamc/spamc -ldl -lnsl -lsocket
Undefined
first referenced
symbol
in file
snprintf
/var/tmp//cczWSH2W.o
vsnprintf
/var/tmp//cczWSH2W.o
ld: fatal: Symbol referencing
errors. No output written to spamc/spamc
collect2: ld returned 1 exit
status
*** Error code 1
make: Fatal error: Command failed
for target `spamc/spamc'
Current working directory
/.cpan/build/Mail-SpamAssassin-3.0.0
*** Error code 1
make: Fatal error: Command failed
for target `spamc/spamc'
As a workaround, you may build and install snprintf.c, and modify spamc's Makefile to include the snprintf library.
1. Download snprintf.c
2. Build and install snprintf.o.
gzip -cd snprintf_source.tar.gz | tar xvf -
cd snprintf_source_directory
make
su root -c "cp snprintf.o /usr/lib"
3. Modify spamc's Makefile to reference the snprintf.o library.
cd SpamAssassin_source_directory
sed 's/LIBS = -ldl -lnsl -lsocket/LIBS
= -ldl -lnsl -lsocket -lsnprintf/' spamc/Makefile \
> spamc/Makefile.new
mv spamc/Makefile.new spamc/Makefile
4. Build and install SpamAssassin.
perl Makefile.PL
make
make install
Back to brandonhutchinson.com.
Last modified: 10/6/2004