Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision Next revision Both sides next revision | ||
perlbrew [2014/05/20 21:44] popel created |
perlbrew [2014/05/28 11:14] popel |
||
---|---|---|---|
Line 5: | Line 5: | ||
Martin Popel | Martin Popel | ||
- | ==== How to setup the Perlbrew environment ==== | + | ===== How to setup the Perlbrew environment |
- | In your '' | + | Add to your '' |
source / | source / | ||
eval " | eval " | ||
- | The second line is optional, but it enables [[https:// | + | The second line is optional, but it enables [[https:// |
+ | Make sure you have deleted (commented out) the old setup_platform setup ('' | ||
+ | Also note that perlbrew (unlike '' | ||
- | ==== How to use Perlbrew ==== | + | export PERL5LIB="" |
+ | |||
+ | |||
+ | ===== How to use Perlbrew | ||
perlbrew list # Which perl versions are installed? | perlbrew list # Which perl versions are installed? | ||
- | perlbrew use perl-5.16.3 # use one of these perls for the current shell | + | perlbrew use perl-5.18.2 # use one of these perls for the current shell |
- | perlbrew switch perl-5.16.3 # use this perl version permanently | + | perlbrew switch perl-5.18.2 # use this perl version permanently |
+ | perlbrew off # return to the system installation of perl | ||
+ | |||
+ | You can read [[https:// | ||
+ | Note that there is a separate Perlbrew environment for each architecture (32bit vs. 64bit machines) at ÚFAL, so if you switch to perl-5.18.2 on 32bit machines, you need to do it again on 64bit machines if you want to use perl-5.18.2 on both. | ||
+ | |||
+ | ===== How to install missing modules from CPAN ===== | ||
+ | If you see an error message such as '' | ||
+ | You can install it into the ÚFAL perlbrew repository, so it will be available also for others. | ||
+ | If you are used to '' | ||
+ | |||
+ | cpanm String:: | ||
+ | |||
+ | This installs String:: | ||
+ | If you want to install it for all Perl versions and the current architecture, | ||
+ | |||
+ | perlbrew exec cpanm String:: | ||
+ | |||
+ | If you did this on your machine (32bit), you still need to ssh to some 64bit machine (e.g. '' | ||
+ | |||
+ | Useful switch for '' | ||
+ | You can install the modules also manually ('' | ||
+ | |||
+ | ===== How to install new Perl version ===== | ||
+ | |||
+ | perlbrew available | ||
+ | perlbrew install perl-5.16.3 | ||
+ | perlbrew install -Dcc=gcc --thread --multi -j 4 perl-5.20.0 # on Ubuntu10.04 64bit, I had to use -Dcc=gcc | ||
+ | |||
+ | (Note that when trying to compile threaded perl on cluster machines I had to ignore [[http:// | ||
+ | |||
+ | Now, we probably want to install all modules from the current perl to the new perl: | ||
+ | |||
+ | perlbrew list-modules > list.txt | ||
+ | perlbrew switch perl-5.16.3 | ||
+ | cpanm -n Tk # Tk tests are long and pop up many windows | ||
+ | cpanm -n UNIVERSAL:: | ||
+ | cpanm < list.txt | ||
+ | |||
+ | ==== Tricky modules ==== | ||
+ | === Algorithm:: | ||
+ | In '' | ||
+ | #include < | ||
+ | #include < | ||
+ | === Algorithm:: | ||
+ | [[https:// |