On Sat, Apr 13, 2013 at 10:02 PM, Daniel Johnson <daniel.johnso...@gmail.com> wrote: > > On Apr 13, 2013, at 9:32 PM, "Daniel Macks" <dma...@netspace.org> wrote: > >> On Sat, 13 Apr 2013 15:24:53 -0700, Alexander Hansen >> <alexanderk.han...@gmail.com> wrote: >> On 4/13/13 3:08 PM, Bill Waggoner wrote: >>>> I have been trying to install/upgrade some perl modules using CPAN. >>>> But it appears that fink and CPAN are working at cross purposes and, >>>> perhaps, I am trying to do something that can't/shouldn't be done ... >>>> >>>> The trouble I am running up against is a dependency problem between >>>> ExtUtils::MakeMaker and Pod::Man (podlator). The version in Fink are, >>>> respectively, 6.62 and 2.4.2; several CPAN modules need MakeMaker at >>>> 6.64 which requires Pod::Man (podlator module actually) at 2.5.1. >>>> >>>> When I try to install either in CPAN I get the circular dependency >>>> problem. I tried a manual install which completed but didn't seem to >>>> install in the right place. Or, at least, into a place the CPAN sees. >>>> >>>> Am I crazy to try to use CPAN while using fink? >>>> >>>> Any advice would be appreciated. >>> >>> Yeah, mixing packaging systems is never guaranteed to be reliable. I >>> assume this is for the system's Perl? >>> >>> Fink doesn't really care so much about what you have installed via >>> CPAN, since it just relies on the listed dependencies. You might try >>> unsetting PERL5LIB before you do a CPAN install so that >>> Fink-installed modules aren't visible. Or, similarly, if your manual >>> install location isn't in the default lookup path, add that to >>> PERL5LIB. >> >> Alex is right, fink does not look at what's on your actual system at >> all, rather it reads its own database of what it has installed itself. >> CPAN does look at the live system, but obviously is sentitive to having >> fink's PERL5LIB settings if you want it to use fink-supplied >> dependencies. And depending how you are running perl itself, fink might >> not have the right perlversion and arch settings (things could be >> present on disk but not usable). If you have things in fink that are >> out-of-date, the easiest way to get newer versions is to update the >> packages themselves (avoids making anything more complicated than it >> already is:) I'm the maintainer of podlators and just pushed the >> update; I also left a note for the maintainer of ExtUtils::MakeMaker >> about it. A few of the perlmod maintainers are active, and a few of us >> also are ghost-writers for others' packages (where we know the >> maintainers themselves are AWOL or explicitly told us it's okay to >> handle them). >> >> dan >> > > I just updated extutils-makemaker-pm to 6.64. > > Daniel > >
I _think_ I understand where Fink is coming from and I wouldn't break it for the world; I depend upon it. And I'm less sure I understand where CPAN is too although I have gotten some conflicting answers from it today, that's for sure. But the quandary is that CPAN contains MUCH more than what Fink will ever supply and so I need to use both, in a non-destructive and hopefully seamless way. My earlier testing today told me that this wasn't as simple as using both at the same time. Not unexpected now that I see what's what in hindsight. So, what I did was trash (moved aside actually) my .cpan directory and started over. During the fresh startup of cpan I selected a verbose config process and selected the "local::lib" option among other things. I think this is the key option for what I want to do. This created a perl5 directory in my $HOME with lib, lib/perl5, bin, and man under it. It also added some lines to my .zshrc and reminded me to restart the shell. I moved the added export commands to .zprofile so that they were set after /sw/bin/init.sh is run. The commands were: export PERL_LOCAL_LIB_ROOT="$PERL_LOCAL_LIB_ROOT:/Users/dad/perl5"; export PERL_MB_OPT="--install_base /Users/dad/perl5"; export PERL_MM_OPT="INSTALL_BASE=/Users/dad/perl5"; export PERL5LIB="/Users/dad/perl5/lib/perl5:$PERL5LIB"; export MANPATH="/Users/dad/perl5/man:$MANPATH"; export PATH="/Users/dad/perl5/bin:$PATH"; NOTE! The MANPATH was NOT set by cpan config, tsk! tsk!, but I added it. So far all is well. I've used CPAN to upgrade or install several modules and they installed properly under ~/perl5, now let me see when I update the Fink modules that you all just updated ... stand by ... Looking good. It looks like Fink installs in the /sw tree and cpan installs in ~/perl5 and both coexist OK so far. cpan "sees" the Pod::Man in the /sw tree OK. But, I believe, it would install a newer version in ~/perl5. Extutils::MakeMaker is now version 6.64 in ~perl5 where I upgraded it prior to the Fink upgrade and 6.64 in all three Fink perl5 libs. It is 6.56 in the /sw/lib/perl5-core/5.12.3 library but I think that's OK. I suppose there could be a conflict where cpan installed a newer version that could break fink but I think that would be unlikely. As the install would be outside of the /sw tree it would be an easy remedy. So I think I have a good solution. And cpan doesn't run as root at all now which makes me think it can't step on anything Finkish or if it tries then I'll hear about it. The downside is that the installs are local to my userid but that's OK for me as I am the only likely user. And, of course, I can carry my ~/perl5 library along with me to the next OSX release. Otherwise Apple might very well step all over it if it was in /System/Library or /Library which is how it was with the "stock" cpan config. This has been fun. Color me happy for now. Bill W ------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ Fink-users mailing list Fink-users@lists.sourceforge.net List archive: http://news.gmane.org/gmane.os.macosx.fink.user Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-users