> Well I seem to have a problem getting Spamassassin 3.0.1 to compile. I am > running Solaris 2.5.1 with Perl 5.8.5 and gcc 3.3.2. I have been able to > install all the required perl modules. Now I want to finally install > Spamassassin and I get this error: > " " " " " " " " > checking for in_addr_t... no > checking for INADDR_NONE... no > checking for EX__MAX... yes > configure: creating ./config.status > config.status: creating Makefile > config.status: creating config.h > make -f spamc/Makefile spamc/spamc > make[1]: Entering directory `/export/new_stuff/Mail-SpamAssassin-3.0.1' > 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//ccBlGmez.o > vsnprintf /var/tmp//ccBlGmez.o > ld: fatal: Symbol referencing errors. No output written to spamc/spamc > collect2: ld returned 1 exit status > make[1]: *** [spamc/spamc] Error 1 > make[1]: Leaving directory `/export/new_stuff/Mail-SpamAssassin-3.0.1' > make: *** [spamc/spamc] Error 2 > > I am stuck here so if anybody knows what I might be missing I would > appreciate > a hint. Maybe this is a solaris issue, I have seen postings on this list > suggesting downgrading gcc in order to compile. > Well any ideas would help. > cheers > > -James > >
I don't think GCC is your problem - it's going to be a library path or missing library file problem. I've successfully installed on Solaris 9 with the full blown gcc 3.3.4 (not the prebuilt package) with the full blown perl 5.8.4 (not the prebuilt package). It seems to me that I ran into a similar problem with spamc back a few years ago before I upgraded to Solaris 9. Fortunately, back then (and still am) I used Amavis-new, which doesn't require spamc/spamd. I have a few suggestions: First, Solaris 2.5.1 was shipped out of the box with CC and some half-baked version of make. I see above you upgraded to gcc. Are you running gnu's make or Sun's built-in make? It's complaining about something, then mentions something about ccBlGmez.o. This makes me think you're using Sun's make. Second, do you HAVE to run 2.5.1? 2.5.1 is not even supported by Sun, so I'd suggest upgrading to Solaris 9 (or, if you really feel adventurous, wait a few more days and go with 10, when it's released). If you do upgrade, there is one drawback - there's no compiler on Solaris natively anymore, which can be tricky because gcc requires a compiler to install. See #4 below. Third, what do you have for the LD_LIBRARY_PATH env variable? Make sure it includes /usr/local/lib. Fourth, make sure you don't use the prebuilt packages of gcc - I've never had much luck with them - they seem to be missing library files or something. Generally, I'll get the sunfreeware.com version of gcc so I have a complier to install a REAL version of gcc from gnu. Hope this helps, Keith