Comments on PerlDevelopEnvironment

Beware of Permissions when Installing PDE

Beware if, like me, you try to install the Perl Development Environment (pde) on a system-wide emacs. I tried

   ./Build.PL --elispdir=/usr/local/share/emacs/site-lisp/pde
   ./Build test
   ./Build
   sudo ./Build install > install_log.txt

The pipe writes the standard output to the file install_log.txt (useful for uninstalling). All seemed to go well with the installation. However when I ran pde in emacs (23.2 and 24.2), I received a sentinel error when I tried to build the perldoc cache with M-x perldoc RET.

I removed the pde installation completely and installed it again - this time in my local area with

   ./Build.PL --elispdir=/home/username/.emacs-lisp/pde
   ./Build test
   ./Build
   sudo ./Build install > install_log.txt

Root (sudo) is still required for the final step since the installation puts a couple of pde perl modules - Emacs/PDE.pm, Emacs/PDE/Util.pm into /usr/local/share/perl/5.x.x/Emacs, and man pages - Emacs::PDE.3pm, Emacs::PDE::Util.3pm into /usr/local/man/man3. The permissions of the pde directory were of course root:root. I changed them back to my ownership through chown. This is important - see the next paragraph. The pde installation works perfectly now, with no perldoc errors.

The command M-x perldoc RET writes to the file perldoc-cache.el, which is located at ~/.emacs-lisp/pde/tools/perldoc-cache.el. The error arises in the first installation because only root would be able to write to the file if it were located at /usr/local/share/emacs/site-lisp/pde/tools/perdoc-cache.el.

ColinBaxter 2013-05-26 16:01 UTC


Please make sure you contribute only your own work. IP numbers are made available via the page history. If you want to keep it a secret, you need to use Tor. See TextFormattingRules for how to format text. See StyleGuide for the suggested writing style on this wiki.

Please answer this captcha: