Skip to content

Instantly share code, notes, and snippets.

@miyagawa
Created May 1, 2009 02:12
Show Gist options
  • Save miyagawa/104819 to your computer and use it in GitHub Desktop.
Save miyagawa/104819 to your computer and use it in GitHub Desktop.
18:45 miyagawa: Ugh. Hate software
18:45 miyagawa: local::lib + MakeMaker 6.30 (that comes with Leopard) don't like each other
18:45 miyagawa: because of INSTALL_BASE vs INSTALLBASE
18:46 miyagawa: so I have my perl modules set up in ~/perl5 with local::lib. So far so good
18:46 miyagawa: i have a script that has non-core CPAN dependencies. I want to bundle all of those in extlib
18:47 GumbyNET_ has left IRC (Ping timeout: 360 seconds)
18:47 miyagawa: I did perl -MCPAN -Mlocal::lib=--self-contained,exlib -e 'CPAN::install(modules)'
18:47 miyagawa: which fails in the first place because of File::HomeDir's delayed load of Mac::Files
18:48 miyagawa: File::HomeDir::Darwin is loaded from my ~/perl5
18:48 miyagawa: but now local::lib with --self-contained disables the ~/perl5 as well as /System/Library/Perl/Extras
18:48 miyagawa: so now it can't find Mac::Files
18:51 Alias: I'd offer to load it earlier, but I think that would just delay the problem until the next dependency
18:51 miyagawa: now I did perl -Mlocal::lib=--self-contained,extlib -MCPAN -e 'CPAN::install(stuff)'
18:51 miyagawa: which doesn't install it because it's in my ~/perl5
18:51 Alias: CPAN::install(force stuff)? yeah ugly I know
18:51 miyagawa: yeah and it doesn't follow deps
18:52 miyagawa: so I copied local::lib to lib/local/lib.pm
18:52 Alias: oh yeah
18:52 miyagawa: and then env PERL5LIB='' perl -Ilib -Mlocal::lib=--self-contained,extlib -MCPAN -e 'CPAN::install(stuff)'
18:52 Alias: Clearly this is a case of design in an insufficiently complex environment
18:52 miyagawa: which seemed to work, but tries to install stuff into /usr/local
18:52 Alias: Can't say I've ever had to do much more than system+home or system+/opt/cpan
18:52 miyagawa: and then found that ExtUtils::MakeMaker that comes with Leopard is 6.30
18:53 miyagawa: which doesn't grok INSTALL_BASE
18:53 rafl: miyagawa: that's why it depends on 6.31, right? :-)
18:53 Alias: Schwern says (I think) just compile your own Perl
18:54 miyagawa: so now I did: env PERL5LIB='' perl -Ilib -Mlocal::lib=--self-contained,extlib -MCPAN -e '(my $new_opt = $ENV{PERL_MM_OPT}) =~ s/INSTALL_BASE/INSTALLBASE/; $ENV{PERL_MM_OPT} .= " $new_opt";CPAN::install(stuff)'
18:54 miyagawa: which worked.
18:54 miyagawa: </rant>
18:56 Alias: This is why I hate Java classpath :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment