From 96e5c3ed69eb9dab3aec4619ef900694df5b2b7b Mon Sep 17 00:00:00 2001 From: "http://www.cse.unsw.edu.au/~willu/" Date: Sat, 19 Jul 2008 01:52:56 -0400 Subject: [PATCH] Help? --- doc/forum/perl5lib_and_wrappers.mdwn | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 doc/forum/perl5lib_and_wrappers.mdwn diff --git a/doc/forum/perl5lib_and_wrappers.mdwn b/doc/forum/perl5lib_and_wrappers.mdwn new file mode 100644 index 000000000..36980f8da --- /dev/null +++ b/doc/forum/perl5lib_and_wrappers.mdwn @@ -0,0 +1,28 @@ +I don't know if I'm doing this right... I'm using a server provider that doesn't allow me to install into standard perl locations, so I used PREFIX to install things in my home dir. The problem is that when the wrapper is run by the CGI server, it can't find the perl modules I installed. There didn't seem to be a way to set the PERL5LIB from the standard config, so I added one. Patch attached. Or did I miss something and this was already possible? + +diff --git a/IkiWiki/Wrapper.pm b/IkiWiki/Wrapper.pm +index 79b9eb3..e88118b 100644 +--- a/IkiWiki/Wrapper.pm ++++ b/IkiWiki/Wrapper.pm +@@ -37,6 +41,13 @@ sub gen_wrapper () { #{{{ + EOF + } + ++ my $wrapperperllib=""; ++ if (defined $config{wrapperperl5lib}) { ++ $wrapperperllib =<<"EOF" ++ newenviron[i++]="PERL5LIB=$config{wrapperperl5lib}"; ++EOF ++ } ++ + $Data::Dumper::Indent=0; # no newlines + my $configstring=Data::Dumper->Dump([\%config], ['*config']); + $configstring=~s/\\/\\\\/g; +@@ -72,6 +83,7 @@ int main (int argc, char **argv) { + $envsave + newenviron[i++]="HOME=$ENV{HOME}"; + newenviron[i++]="WRAPPED_OPTIONS=$configstring"; ++$wrapperperllib + newenviron[i]=NULL; + environ=newenviron; + -- 2.39.2