(no commit message)
[ikiwiki] / doc / forum / PERL5LIB__44___wrappers_and_homedir_install.mdwn
1 What is the way to tell wrappers that PERL5LIB should include ~/bin directories?
2
3 Having this in the wiki.setup doesn't help anymore:
4
5         # environment variables
6         ENV => {
7           PATH => '/home/user/bin/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/home/user/ikiwiki/usr/bin/:/home/user/ikiwiki/usr/sbin/:/home/user/bin/bin/:~/bin/bin/',
8           PERL5LIB => '/home/user/bin/share/perl/5.10.0:/home/user/bin/lib/perl/5.10.0'
9         },
10
11 Or at least I get CGI errors and running ikiwiki.cgi manually fails too:
12
13         Use of uninitialized value $tainted in pattern match (m//) at /usr/share/perl5/IkiWiki.pm line 233.
14         Argument "" isn't numeric in umask at /usr/share/perl5/IkiWiki.pm line 139.
15         Undefined subroutine &IkiWiki::cgierror called at /home/user/bin/bin/ikiwiki line 199.
16
17 Server has an older ikiwiki installed but I'd like to use a newer version from git, and I don't have root access.
18
19 > You can't set `PERL5LIB` in `ENV` in a setup file, because ikiwiki is already
20 > running before it reads that, and so it has little effect. Your error
21 > messages do look like a new bin/ikiwiki is using an old version of
22 > `IkiWiki.pm`.
23
24 > The thing to do is set `INSTALL_BASE` when you're installing ikiwiki from
25 > source. Like so:
26
27         cd ikiwiki
28         perl Makefile.PL INSTALL_BASE=$HOME PREFIX=
29         make install
30
31 > Then `$HOME/bin/ikiwiki` will have hardcoded into it to look
32 > for ikiwiki's perl modules in `$HOME/lib/perl5/`
33 > (This is documented in the README file by the way.) --[[Joey]] 
34
35 >> Ok, *perl Makefile.PL INSTALL_BASE=$HOME/bin PREFIX=* finally did it for me. I tried too many things with
36 >> these paths so I wasn't sure which actually worked. After that I did 
37 >> *$ ikiwiki --setup www.setup --wrappers --rebuild*. Somehow in this update mess I seem to have lost the user
38 >> accounts, maybe the --rebuild was too much.