# Perl nightmare



## tvs (Jan 15, 2014)

Hi,

I'm trying to automate the installation and configuration of FreeBSD boxes, but Perl is driving me nuts. The boxes need a rather large set of software installed, in particular it needs Apache with mod_perl and several Perl modules, most of the modules have packages but some I have to install them from CPAN.

What I did was:

 install the latest 9.2 release from the ISO image available for download
 Update ports using `portsnap fetch extract`. At the end of this step, I've noticed that the Perl version installed is 5.16
 Install a (rather long) list of packages using `pkg_add`. At the end of this step, Perl version 5.14 is installed and defined as the default version!
 Compile and install some Perl modules from the updated ports tree (these modules are required in order to build some modules from CPAN)
 Install some Perl modules (that are not available in FreeBSD) from CPAN.
The problem is that all modules installed in step 4 are installed under the 5.16 branch so step 5 is failing.

I guess the problem is with the packages installed with `pkg_add`, some packages might require Perl 5.14. My question is: is it possible to somehow force that packages installed via `pkg_add` to use Perl 5.16 instead of 5.14?

Please note that compiling everything form /usr/ports is not an option, I need to make the automatic installation as fast as possible and compiling all packages takes a lot of time).


----------



## SirDice (Jan 15, 2014)

tvs said:
			
		

> I guess the problem is with the packages installed with `pkg_add`, some packages might require Perl 5.14. My question is: is it possible to somehow force that packages installed via `pkg_add` to use Perl 5.16 instead of 5.14?


No, that's not possible. Package dependencies are "set in stone" so to speak.

I would suggest setting up your own repository (and switch to pkgng). That will save you a lot of problems and you get to build packages with the options you need. And using pkgng for package management is a lot simpler, especially when updating. Sure building from ports takes some time but you only have to do it once in a while. I only update my repository if there are security issues or I'm running into a bug.


----------

