Installing perlbrew: Failed to get patchperl executable

When I try to install perlbrew on Mac X v10.9 (Mavericks) and MacPorts , this is what happens:

~$ curl -L http://install.perlbrew.pl | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 315 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 1020 100 1020 0 0 649 0 0:00:01 0:00:01 --:--:-- 3217 ## Download the latest perlbrew ## Installing perlbrew perlbrew is installed: ~/perl5/perlbrew/bin/perlbrew perlbrew root (~/perl5/perlbrew) is initialized. Append the following piece of code to the end of your ~/.bash_profile and start a new shell, perlbrew should be up and fully functional from there: source ~/perl5/perlbrew/etc/bashrc Simply run `perlbrew` for usage details. Happy brewing! ## Installing patchperl ERROR: Failed to retrieve patchperl executable. ~$ 

Then I deleted ~/perl5/perlbrew and tried:

 ~$ curl -L http://install.perlbrew.pl | bash -x % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 315 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 1020 100 1020 0 0 693 0 0:00:01 0:00:01 --:--:-- 5368 + PERLBREWURL=https://raw.github.com/gugod/App-perlbrew/master/perlbrew + '[' -z /var/folders/7l/nhyscwy14bjb_sxr_t2gynpm0000gn/T/ ']' + cd /var/folders/7l/nhyscwy14bjb_sxr_t2gynpm0000gn/T/ + LOCALINSTALLER=perlbrew-14023 + echo + type curl + PERLBREWDOWNLOAD='curl -f -sS -Lo perlbrew-14023 https://raw.github.com/gugod/App-perlbrew/master/perlbrew' + echo '## Download the latest perlbrew' ## Download the latest perlbrew + curl -f -sS -Lo perlbrew-14023 https://raw.github.com/gugod/App-perlbrew/master/perlbrew + echo + echo '## Installing perlbrew' ## Installing perlbrew + chmod +x perlbrew-14023 + /usr/bin/perl perlbrew-14023 self-install perlbrew is installed: ~/perl5/perlbrew/bin/perlbrew perlbrew root (~/perl5/perlbrew) is initialized. Append the following piece of code to the end of your ~/.bash_profile and start a new shell, perlbrew should be up and fully functional from there: source ~/perl5/perlbrew/etc/bashrc Simply run `perlbrew` for usage details. Happy brewing! + echo '## Installing patchperl' ## Installing patchperl + /usr/bin/perl perlbrew-14023 -f -q install-patchperl ERROR: Failed to retrieve patchperl executable. + clean_exit 1 + '[' -f perlbrew-14023 ']' + rm perlbrew-14023 + exit 1 ~$ 

I was stuck in the first step. How can I install perlbrew correctly?

+7
perlbrew macports
source share
5 answers

Or you can disable certificate verification. For me, this worked perfectly:

 echo "check-certificate = off" >> ~/.wgetrc perlbrew install-patchperl perlbrew install-cpanm 

Happy brewing!

+2
source share

Perlbrew installs clean for me (also on Mac OS XX 10.9.1).

There is a problem report ( here ) that you should read. This is probably the problem with your version of cURL combined with the GitHub HTTPS URLs. There are a few things to try:

  • curl -kL http://install.perlbrew.pl | bash
    ( -k allows insecure SSL connections)

  • Install patchperl manually:

     curl -kL https://raw.github.com/gugod/patchperl-packing/master/patchperl > ~/perl5/perlbrew/bin/patchperl` 
+3
source share

Based on @ jm666's suggestion, I discovered the source of the problem (at least one of them).

What I've done:

  • Removed perlbrew: rm -rf ~/perl5/* ~/.perlbrew
  • Completely removed macports
  • New macports package installed

And I tried installing regular MacPorts and after each installed port I launched a new terminal / shell and tried to install perlbrew .

After I installed the wget port, perlbrew installation failed (installing patchperl). After removing the wget port, perlbrew will install OK again.

For the log, install wget:

 $ sudo port install wget ---> Computing dependencies for wget ---> Dependencies to be installed: gnutls libidn libtasn1 nettle p11-kit curl-ca-bundle desktop-file-utils glib2 libffi popt libxslt libxml2 xz libgcrypt libgpg-error pcre bzip2 libedit ---> Fetching archive for libidn ---> Attempting to fetch libidn-1.26_0.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/libidn ---> Attempting to fetch libidn-1.26_0.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/libidn ---> Installing libidn @1.26_0 ---> Activating libidn @1.26_0 ---> Cleaning libidn ---> Fetching archive for libtasn1 ---> Attempting to fetch libtasn1-2.11_0.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/libtasn1 ---> Attempting to fetch libtasn1-2.11_0.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/libtasn1 ---> Installing libtasn1 @2.11_0 ---> Activating libtasn1 @2.11_0 ---> Cleaning libtasn1 ---> Fetching archive for nettle ---> Attempting to fetch nettle-2.6_1.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/nettle ---> Attempting to fetch nettle-2.6_1.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/nettle ---> Installing nettle @2.6_1 ---> Activating nettle @2.6_1 ---> Cleaning nettle ---> Fetching archive for curl-ca-bundle ---> Attempting to fetch curl-ca-bundle-7.34.0_0.darwin_13.noarch.tbz2 from http://lil.fr.packages.macports.org/curl-ca-bundle ---> Attempting to fetch curl-ca-bundle-7.34.0_0.darwin_13.noarch.tbz2.rmd160 from http://lil.fr.packages.macports.org/curl-ca-bundle ---> Installing curl-ca-bundle @7.34.0_0 ---> Activating curl-ca-bundle @7.34.0_0 ---> Cleaning curl-ca-bundle ---> Fetching archive for libffi ---> Attempting to fetch libffi-3.0.13_0.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/libffi ---> Attempting to fetch libffi-3.0.13_0.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/libffi ---> Installing libffi @3.0.13_0 ---> Activating libffi @3.0.13_0 ---> Cleaning libffi ---> Fetching archive for glib2 ---> Attempting to fetch glib2-2.38.2_0.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/glib2 ---> Attempting to fetch glib2-2.38.2_0.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/glib2 ---> Installing glib2 @2.38.2_0 ---> Activating glib2 @2.38.2_0 ---> Cleaning glib2 ---> Fetching archive for popt ---> Attempting to fetch popt-1.16_0.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/popt ---> Attempting to fetch popt-1.16_0.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/popt ---> Installing popt @1.16_0 ---> Activating popt @1.16_0 ---> Cleaning popt ---> Fetching archive for desktop-file-utils ---> Attempting to fetch desktop-file-utils-0.15_1.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/desktop-file-utils ---> Attempting to fetch desktop-file-utils-0.15_1.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/desktop-file-utils ---> Installing desktop-file-utils @0.15_1 ---> Activating desktop-file-utils @0.15_1 ---> Cleaning desktop-file-utils ---> Fetching archive for xz ---> Attempting to fetch xz-5.0.5_0.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/xz ---> Attempting to fetch xz-5.0.5_0.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/xz ---> Installing xz @5.0.5_0 ---> Activating xz @5.0.5_0 ---> Cleaning xz ---> Fetching archive for libxml2 ---> Attempting to fetch libxml2-2.9.1_0.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/libxml2 ---> Attempting to fetch libxml2-2.9.1_0.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/libxml2 ---> Installing libxml2 @2.9.1_0 ---> Activating libxml2 @2.9.1_0 ---> Cleaning libxml2 ---> Fetching archive for libxslt ---> Attempting to fetch libxslt-1.1.28_0.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/libxslt ---> Attempting to fetch libxslt-1.1.28_0.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/libxslt ---> Installing libxslt @1.1.28_0 ---> Activating libxslt @1.1.28_0 ---> Cleaning libxslt ---> Fetching archive for p11-kit ---> Attempting to fetch p11-kit-0.20.1_0.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/p11-kit ---> Attempting to fetch p11-kit-0.20.1_0.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/p11-kit ---> Installing p11-kit @0.20.1_0 ---> Activating p11-kit @0.20.1_0 ---> Cleaning p11-kit ---> Fetching archive for gnutls ---> Attempting to fetch gnutls-3.1.10_1.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/gnutls ---> Attempting to fetch gnutls-3.1.10_1.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/gnutls ---> Installing gnutls @3.1.10_1 ---> Activating gnutls @3.1.10_1 ---> Cleaning gnutls ---> Fetching archive for libgpg-error ---> Attempting to fetch libgpg-error-1.12_0.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/libgpg-error ---> Attempting to fetch libgpg-error-1.12_0.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/libgpg-error ---> Installing libgpg-error @1.12_0 ---> Activating libgpg-error @1.12_0 ---> Cleaning libgpg-error ---> Fetching archive for libgcrypt ---> Attempting to fetch libgcrypt-1.5.3_0.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/libgcrypt ---> Attempting to fetch libgcrypt-1.5.3_0.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/libgcrypt ---> Installing libgcrypt @1.5.3_0 ---> Activating libgcrypt @1.5.3_0 ---> Cleaning libgcrypt ---> Fetching archive for bzip2 ---> Attempting to fetch bzip2-1.0.6_0.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/bzip2 ---> Attempting to fetch bzip2-1.0.6_0.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/bzip2 ---> Installing bzip2 @1.0.6_0 ---> Activating bzip2 @1.0.6_0 ---> Cleaning bzip2 ---> Fetching archive for libedit ---> Attempting to fetch libedit-20121213-3.0_0.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/libedit ---> Attempting to fetch libedit-20121213-3.0_0.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/libedit ---> Installing libedit @20121213-3.0_0 ---> Activating libedit @20121213-3.0_0 ---> Cleaning libedit ---> Fetching archive for pcre ---> Attempting to fetch pcre-8.33_1.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/pcre ---> Attempting to fetch pcre-8.33_1.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/pcre ---> Installing pcre @8.33_1 ---> Activating pcre @8.33_1 ---> Cleaning pcre ---> Fetching archive for wget ---> Attempting to fetch wget-1.14_5+ssl.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/wget ---> Attempting to fetch wget-1.14_5+ssl.darwin_13.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/wget ---> Installing wget @1.14_5+ssl ---> Activating wget @1.14_5+ssl To customize wget, you can copy /opt/local/etc/wgetrc.sample to /opt/local/etc/wgetrc and then make changes. ---> Cleaning wget ---> Updating database of binaries: 100.0% ---> Scanning binaries for linking errors: 100.0% ---> No broken files found. 

perlbrew curl -kL http://install.perlbrew.pl | bash curl -kL http://install.perlbrew.pl | bash failed to execute

 ERROR: Failed to retrieve patchperl executable. 

Removing the wget port:

 $ sudo port uninstall wget ---> Deactivating wget @1.14_5+ssl ---> Cleaning wget ---> Uninstalling wget @1.14_5+ssl ---> Cleaning wget $ $ rm -rf ~/perl5/perlbrew/ ~/.perlbrew/ $ curl -kL http://install.perlbrew.pl | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 315 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 1020 100 1020 0 0 1551 0 --:--:-- --:--:-- --:--:-- 1551 ## Download the latest perlbrew ## Installing perlbrew perlbrew is installed: ~/perl5/perlbrew/bin/perlbrew perlbrew root (~/perl5/perlbrew) is initialized. Append the following piece of code to the end of your ~/.bash_profile and start a new shell, perlbrew should be up and fully functional from there: source ~/perl5/perlbrew/etc/bashrc Simply run `perlbrew` for usage details. Happy brewing! ## Installing patchperl ## Done. 

Conclusion: Something goes wrong with the combination of MacPorts wget and perlbrew .

+1
source share

For me, it helped to change the PATH environment variable - disable MacPorts by commenting out the next line.

 export PATH=/opt/local/bin:/opt/local/sbin:$PATH 

or similarly in ~/.profile .

Something fails from the MacPorts binaries in /opt/local/bin with perlbrew .

For example, with macports enabled, for

 perlbrew self-upgrade 

You'll get

Unable to detect version of new perlbrew!

with macports disabled in PATH it will be correct:

 Your perlbrew is up-to-date. 

etc.

After installing perlbrew and your perlbrew version of Perl and (ofc) searching for perlberw bashrc you can return PATH - just remember to comment every time you want to use perlbrew . AND

 source ~/perl5/perlbrew/etc/bashrc 

should be after macports PATH settings.

At least with my installation - maybe your problem has other roots ...

0
source share

Check your PATH order. Make sure that PATH macros are added later to the search than perlbrucks. I just cleared the bunch of โ€œhelpersโ€ for adding PATHs to .bash_profile, .profile and put everything in .bashrc in the order I want to search, that is, perlbrew before macports in front of the system. If you remain attached to your path, that is, PATH = / foo: / bar: $ PATH, go in the reverse order to your startup file, than you want the search path to be typed. Below I add macports / opt / local / bin: / opt / local / sbin to the path to the elements of the perlbrew path.

 perl-swine:~ $ cat .bash_profile [ -r /Users/perl-swine/.bashrc ] && source /Users/perl-swine/.bashrc # $PATH in .bashrc perl-swine:~ $ cat .profile if [ -f ~/.bashrc ] then source ~/.bashrc fi # $PATH in .bashrc perl-swine:~ $ cat .bashrc yadda yadda moving along to the important part yadda # macports PATH=/opt/local/bin:/opt/local/sbin:$PATH #python PATH=/Library/Frameworks/Python.framework/Versions/2.6/bin:$PATH PATH=/Library/Frameworks/Python.framework/Versions/2.7/bin:$PATH #perlbrew source /Users/perl-swine/perl5/perlbrew/etc/bashrc export PATH; perl-swine:~ $ echo $PATH /Users/perl-swine/perl5/perlbrew/bin:/Users/perl-swine/perl5/perlbrew/perls/perl-5.18.2/bin:/Library /Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions /2.6/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt /X11/bin:/usr/texbin perl-swine:~ $ which perl /Users/perl-swine/perl5/perlbrew/perls/perl-5.18.2/bin/perl perl-swine:~ $ perlbrew list perl-5.16.0 (5.16.3) * perl-5.18.2 perl-swine:~ $ which perl5 /opt/local/bin/perl5 perl-swine:~ $ which perl5.12 /opt/local/bin/perl5.12 perl-swine:~ $ sudo port list installed | grep perl perl5 @5.12.4 lang/perl5 perl5.12 @5.12.4 lang/perl5.12 perl5.16 @5.16.1 lang/perl5.16 perl-swine:bin $ ls /usr/bin/perl* -rwxr-xr-x 1 root wheel 58608 Oct 23 00:47 /usr/bin/perl -rwxr-xr-x 1 root wheel 35440 Oct 23 00:54 /usr/bin/perl5.12 -rwxr-xr-x 1 root wheel 35440 Oct 23 00:47 /usr/bin/perl5.16 
0
source share

All Articles