# Perl install error while installing MySQL



## birender (Nov 21, 2015)

While installing MySQL5.6 I get this error


```
This is *NOT* the DEFAULT perl version
It will *NOT* install /usr/local/bin/perl
It will *ONLY* install /usr/local/bin/perl5.16.3

The default Perl version currently is 5.20.
If you want to use this version as the default,
stop the build now, add this line to your
/etc/make.conf, and then restart the build.

DEFAULT_VERSIONS+=perl5=5.16
```

I even tried adding the line in /etc/make.conf but again its shows the same error and stops at


```
Installing perl5.16-5.16.3_24...
===> SECURITY REPORT:
This port has installed the following files which may act as network
servers and may therefore pose a remote security risk to the system.
/usr/local/lib/perl5/5.16/mach/CORE/libperl.so.5.16.3

If there are vulnerabilities in these programs there may be a security
risk to the system. FreeBSD makes no guarantee about the security of
ports included in the Ports Collection. Please type 'make deinstall'
to deinstall the port if this is a concern.

For more information, and contact details about the security
status of this software, see the following webpage:
http://www.perl.org/
===> curl-7.45.0 depends on file: /usr/local/bin/perl5.14.1 - not found
*** [build-depends] Error code 1

Stop in /usr/ports/ftp/curl.
*** [install] Error code 1

Stop in /usr/ports/ftp/curl.
*** [lib-depends] Error code 1

Stop in /usr/ports/devel/cmake.
*** [install] Error code 1

Stop in /usr/ports/devel/cmake.
*** [build-depends] Error code 1

Stop in /usr/ports/databases/mysql56-server
```

I have installed mysql several times but never faced this issue. Its very new to me
I need help in installing MySQL56 on FreeBSD9.3 64 bit


----------



## talsamon (Nov 21, 2015)

What perl version is installed in the moment? Deinstall all older versions and update your system and install perl-5.20. It seems there are some old versions on your system.


----------



## birender (Nov 23, 2015)

I uninstalled perl5.16 and perl5.20 and tried to install MySQL again but I got the same error as above.

The default perl version is 5.20.But when I install mysql5.6 the pkg chooses perl5.16.I have another server where perl5.16 is default.
So why there are different version of perl as default as both are FreeBSD9.3 64 bit.

So I got only 2 options
1.Making perl 5.16 as default or
2.Making perl 5.20 as runtime dependency for mysql5.6
How can i do that and which option is better to avoid future problems.Please guide me how to do this.


----------



## SirDice (Nov 23, 2015)

One (or both) must be using a custom repository. What does `pkg -vv` show you?


----------



## birender (Nov 23, 2015)

This is what I have got when I executed `pkg -vv`:

```
Version  : 1.6.1
PKG_DBDIR = "/var/db/pkg";
PKG_CACHEDIR = "/var/cache/pkg";
PORTSDIR = "/usr/ports";
INDEXDIR = "";
INDEXFILE = "INDEX-9";
HANDLE_RC_SCRIPTS = false;
DEFAULT_ALWAYS_YES = false;
ASSUME_ALWAYS_YES = false;
REPOS_DIR [
  "/etc/pkg/",
  "/usr/local/etc/pkg/repos/",
]
PLIST_KEYWORDS_DIR = "";
SYSLOG = true;
ABI = "FreeBSD:9:amd64";
ALTABI = "freebsd:9:x86:64";
DEVELOPER_MODE = false;
VULNXML_SITE = "http://vuxml.freebsd.org/freebsd/vuln.xml.bz2";
FETCH_RETRY = 3;
PKG_PLUGINS_DIR = "/usr/local/lib/pkg/";
PKG_ENABLE_PLUGINS = true;
PLUGINS [
]
DEBUG_SCRIPTS = false;
PLUGINS_CONF_DIR = "/usr/local/etc/pkg/";
PERMISSIVE = false;
REPO_AUTOUPDATE = true;
NAMESERVER = "";
HTTP_USER_AGENT = "pkg/1.6.1";
EVENT_PIPE = "";
FETCH_TIMEOUT = 30;
UNSET_TIMESTAMP = false;
SSH_RESTRICT_DIR = "";
PKG_ENV {
}
PKG_SSH_ARGS = "";
DEBUG_LEVEL = 0;
ALIAS {
  all-depends = "query %dn-%dv";
  annotations = "info -A";
  build-depends = "info -qd";
  cinfo = "info -Cx";
  comment = "query -i \"%c\"";
  csearch = "search -Cx";
  desc = "query -i \"%e\"";
  download = "fetch";
  iinfo = "info -ix";
  isearch = "search -ix";
  prime-list = "query -e '%a = 0' '%n'";
  leaf = "query -e '%#r == 0' '%n-%v'";
  list = "info -ql";
  noauto = "query -e '%a == 0' '%n-%v'";
  options = "query -i \"%n - %Ok: %Ov\"";
  origin = "info -qo";
  provided-depends = "info -qb";
  raw = "info -R";
  required-depends = "info -qr";
  roptions = "rquery -i \"%n - %Ok: %Ov\"";
  shared-depends = "info -qB";
  show = "info -f -k";
  size = "info -sq";
}
CUDF_SOLVER = "";
SAT_SOLVER = "";
RUN_SCRIPTS = true;
CASE_SENSITIVE_MATCH = false;
LOCK_WAIT = 1;
LOCK_RETRIES = 5;
SQLITE_PROFILE = false;
WORKERS_COUNT = 0;
READ_LOCK = false;
PLIST_ACCEPT_DIRECTORIES = false;
IP_VERSION = 0;
AUTOMERGE = true;
VERSION_SOURCE = "";
CONSERVATIVE_UPGRADE = true;
PKG_CREATE_VERBOSE = false;
AUTOCLEAN = false;
DOT_FILE = "";


Repositories:
  FreeBSD: {
  url  : "pkg+http://pkg.FreeBSD.org/FreeBSD:9:amd64/latest",
  enabled  : yes,
  priority  : 0,
  mirror_type  : "SRV",
  signature_type  : "FINGERPRINTS",
  fingerprints  : "/usr/share/keys/pkg"
  }
```


----------



## SirDice (Nov 23, 2015)

I see no reason why one would depend on Perl 5.16 and the other on Perl 5.20. All versions of FreeBSD use the same ports tree so all should have the same defaults (Perl 5.20). Are you having these issues with packages or with ports?


----------



## talsamon (Nov 23, 2015)

Try to compile ftp/curl alone. Don't forget to `make clean` before. And after this MySQL-5.6 (Don't know if you want install server, client or both).


----------



## birender (Nov 24, 2015)

talsamon said:


> Try to compile ftp/curl alone. Don't forget to `make clean` before. And after this MySQL-5.6 (Don't know if you want install server, client or both).




I tried to install Curl alone but again I get error.Its searching for Perl5.14 but when I checked for perl5.14 its not in ports.And I want to install MySQL server and client.


```
===>  curl-7.45.0 depends on file: /usr/local/bin/perl5.14.1 -
===>  curl-7.45.0 depends on file: /usr/local/bin/perl5.14.1 -
*** [build-depends] Error code 1

Stop in /usr/ports/ftp/curl.
*** [install] Error code 1

Stop in /usr/ports/ftp/curl.
```


----------



## SirDice (Nov 24, 2015)

Update the whole machine, Perl 5.14 was removed from ports more than a year ago. The default Perl changed from 5.14 to 5.16 2 years ago. The current default is Perl 5.20.


----------



## birender (Nov 24, 2015)

SirDice said:


> Update the whole machine, Perl 5.14 was removed from ports more than a year ago. The default Perl changed from 5.14 to 5.16 2 years ago. The current default is Perl 5.20.



I executed this command: `freebsd-update fetch && freebsd-update install` and updated portsnap(8) also but the issue still exist and I updated FreeBSD and ports from a clean BSD but still error is same.


----------



## SirDice (Nov 24, 2015)

freebsd-update(8) only updates the base system. A portsnap(8) only updates the ports tree, it does not update the ports themselves. You will need to update _all_ your installed ports/packages.


----------



## birender (Nov 27, 2015)

Some how I solved the problem.
1.Uninstalled perl5.20
2.Made perl5.16 as default version by adding the line DEFAULT_VERSIONS+=perl5=5.16 in /etc/make.conf and commented line PERL_VERSION=5.14.1
3.Also edited file /usr/ports/Mk bsd.default-versions.mk and changed PERL5_DEFAULT?=5.16 to 5.20
3.Installed curl-7.45.0 as advised by talsamon
4.Installed perl5.16
5.Installed mysql56-server

And everything worked fine


----------



## talsamon (Nov 27, 2015)

Don't understand why you had to change the default version in /usr/ports/Mk bsd.default-versions.mk, it should be 5.20 now (have you changed it before?). Also not understand why you choose 5.16 as default, if there is a newer version?


----------



## birender (Nov 28, 2015)

talsamon said:


> Don't understand why you had to change the default version in /usr/ports/Mk bsd.default-versions.mk, it should be 5.20 now (have you changed it before?). Also not understand why you choose 5.16 as default, if there is a newer version?



Whenever I am trying to install perl it fetches for perl5.16 where it has to choose perl5.20.So for this reason I made perl5.16 as default.


----------



## omote (Jan 7, 2016)

Might be a bit late, but I ran into some kind of similar problem and found a solution without needing to downgrade your perl:
Check if /usr/local/etc/perl5_version still has perl5.16 in it and change it to the appropriate version:


```
# cat /usr/local/etc/perl5_version
#PERL_VERSION=5.16.3
PERL_VERSION=5.20.3
```

In my case compiling the ports worked just as expected afterwards.


----------



## kpa (Jan 11, 2016)

omote said:


> Might be a bit late, but I ran into some kind of similar problem and found a solution without needing to downgrade your perl:
> Check if /usr/local/etc/perl5_version still has perl5.16 in it and change it to the appropriate version:
> 
> 
> ...



You should remove the file, it's no longer used and may cause problems when upgrading.


----------

