Rosenbaum, Larry M. writes: > > > 2) I tried to compile the rules to see how much speed increase I > could > > > get, but it didn't work. After running sa-compile and uncommenting > the > > > Rule2XSBody plugin, I got the following error: > > > > > > # spamassassin --lint > > > ld.so.1: /usr/local/bin/spamassassin: fatal: relocation error: file > > > > /var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/CompiledR > > > egexps/body_0/body_0.so: symbol > > > Mail_SpamAssassin_CompiledRegexps_body_0_scan17: referenced symbol > not > > > found > > > Killed > > > > > > This is with rc2 on Solaris 8. I haven't tried it with rc3 yet > because > > > it takes about 3 hours to compile on our development system. > > > > Again, sounds like some kind of -R related issue. However, this > *should* > > work since this module is simply built using the ExtUtils::MakeMaker > > support for building XS modules. Are you able to build XS modules > > (e.g. HTML::Parser) from source ok on that system? > > I have no trouble compiling other XS Perl modules. > > It doesn't seem to be a problem finding the dynamic libraries: > > # ldd /var/lib/spamassassin/compiled/3.002000/auto/Mail/ > SpamAssassin/CompiledRegexps/body_0/body_0.so > libc.so.1 => /usr/lib/libc.so.1 > libdl.so.1 => /usr/lib/libdl.so.1 > /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1 > > It's more a matter of finding the symbols: > > # ldd -r /var/lib/spamassassin/compiled/3.002000/auto/Mail/ > SpamAssassin/CompiledRegexps/body_0/body_0.so > libc.so.1 => /usr/lib/libc.so.1 > libdl.so.1 => /usr/lib/libdl.so.1 > /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1 > symbol not found: main > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so) > symbol not found: PL_markstack_ptr > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so) > symbol not found: PL_stack_sp > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so) > symbol not found: PL_sv_yes > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so) > symbol not found: PL_stack_base > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so) > symbol not found: Perl_newSVpvn_share > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so) > symbol not found: Perl_av_push > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so) > symbol not found: Perl_sv_2pvutf8 > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so) > symbol not found: Perl_newAV > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so) > symbol not found: Perl_sv_2mortal > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so) > symbol not found: > Mail_SpamAssassin_CompiledRegexps_body_0_scan17 > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so) > symbol not found: Perl_croak > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so) > symbol not found: Perl_newRV > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so) > symbol not found: Perl_form > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so) > symbol not found: Perl_get_sv > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so) > symbol not found: Perl_sv_2pv_flags > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so) > symbol not found: Perl_newXS > (/var/lib/spamassassin/compiled/3.002000/auto/Mail/SpamAssassin/Compiled > Regexps/body_0/body_0.so)
Those Perl_* symbols are because you're not linking against libperl.so. but Mail_SpamAssassin_CompiledRegexps_body_0_scan17 should be appearing. could you open a bug about this -- and about the spamc LD_RUN_PATH build issue? --j.