I was previously running SBS 7.? (never looked) on Ubuntu, with no problems at all.

I then blitzed my machine and installed CentOS 5.5, installed SBS 7.5.4 and started getting what I realise is the infamous "Music scan terminated unexpectedly (Directory Scan)".

Long story short, I fixed it by installing ActivePerl 5.10 and using the Unix Tarball instead of rpm installation. I changed the scanner.pl and slimserver.pl files to use the new perl version:

# diff scanner.pl scanner.pl.bak
< #!/opt/ActivePerl-5.10/bin/perl -w
> #!/usr/bin/perl -w

# /usr/bin/perl -v
This is perl, v5.8.8 built for i386-linux-thread-multi

# /opt/ActivePerl-5.10/bin/perl -v
This is perl, v5.10.1 built for i686-linux-thread-multi

I'm not a perl or linux expert so am hacking my way around this blindly a bit. Any directions would be appreciated!

What I don't understand is if this is the "correct" fix and if it's compatible going forward. Presumably it means the next version will overwrite these two files and I'll need to refrig them, which will be a PITA.

How do these .pl versions relate to /usr/libexec/squeezeboxserver that I get installed from the rpm?

I tried gathering debug info to determine which file(s) the scan barfed on, but there seems to be various switches to use for debug and none worked for me - at most I just got in scanner.log the name of the file being scanned - no error. Happy to try again if anyone wants to explain how to.