Support Library

Home > CXOfficeMacPerl


"Can't locate Files.pm" error


When configuring a bottle under CrossOver you get the following error:

Error executing '"/Applications/CrossOver.app/Contents/SharedSupport/CrossOver/bin/cxbottle" --create --bottle "newbottle" --template win2000': Can't locate Mac/Files.pm in @INC (@INC contains: /System/Library/Perl/5.8.6/darwin-thread-multi-2level /System/Library/Perl/5.8.6 /Library/Perl/5.8.6/darwin-thread-multi-2level /Library/Perl/5.8.6 /Library/Perl /Network/Library/Perl/5.8.6/darwin-thread-multi-2level /Network/Library/Perl/5.8.6 /Network/Library/Perl ./Applications/CrossOver.app/Contents/SharedSupport/CrossOver/lib/perl) at /Applications/CrossOver.app/Contents/SharedSupport/CrossOver/lib/perl/CXBottle.pm line 11. BEGIN failed--compilation aborted at /Applications/CrossOver.app/Contents/SharedSupport/CrossOver/lib/perl/CXBottle.pm line 11. Compilation failed in require at /Applications/CrossOver.app/Contents/SharedSupport/CrossOver/bin/cxbottle line 71. BEGIN failed--compilation aborted at /Applications/CrossOver.app/Contents/SharedSupport/CrossOver/bin/cxbottle line 71.

Answer:
If you have recently installed software using Fink or MacPorts (formerly DarwinPorts), or installed some other third-party software you might have a messed up the configuration of the Perl component of Mac OS X.

The Mac/Files.pm file are installed as part of the "Essentials" package. As you would guess by the name, this is a non-optional part of the Mac OS X installation. If you're missing it, your system is definitely messed up.

It may be that your system still has its original Mac/Files.pm file, but that Perl can't locate it. This may happen if a certain file has been modified or removed. On Tiger, there's normally a file /Library/Perl/5.8.6/AppendToPath, which is a plain text file containing the following lines:

/System/Library/Perl/Extras/5.8.6
/Library/Perl/5.8.1

On Leopard, the corresponding file is /Library/Perl/5.8.8/AppendToPath, which contains:

/System/Library/Perl/Extras/5.8.8
/Library/Perl/5.8.6
/Library/Perl/5.8.1

If you are missing this file, you can recreate it with a text editor. Just be sure that the text editor is configured to create a plain text file, rather than a rich text or styled text file.

If that file exists, but is missing the specific lines mentioned above, you should add the lines to whatever's already there.

If you can't find any alternative explanation, you might consider doing an Archive and Install http://docs.info.apple.com/article.html?artnum=107120 of the OS. So long as you leave "Preserve User and Network Settings" enabled, an Archive and Install should be mostly non-destructive. You will need to reapply any Software Updates released by Apple, and some third-party applications may need to be reinstalled to work. However, you should make a backup beforehand, just in case.

Another alternative is to use a third-party program called Pacifist http://www.charlessoft.com/ to locate, extract, and install just the Perl part of the Essentials package. We have not tested this so please provide feedback if you have problems.

Also when sending feedback issue the command "/usr/bin/perl -V" in a Terminal window and the @INC (the include path) contents.


Help  Page Locked  Page History  Recent Changes
 Document Tree
Last modified on 2008-09-25 15:16:37 by Andrew Balfour