On Feb 15, 2010, at 06:27, Keith J. Schultz wrote:

>       I have a several  of questions so please bear with me.
> 
>       I needed wget and decided to finally start installing
>       macport on my MacBook Pro running Snow Leopard,
>       last week.
> 
>       All was fine. I noticed wget has a lib-dependancy on 
>       perl5. To my surpise no perl5 stuff was installed.
>       Fine to it used evidently the native Mac version.

To be completely accurate, it's actually a build dependency. It's declared as 
"bin:pod2man:perl5", meaning it wants to use the program "pod2man", and if none 
is found anywhere in the binpath as specified in macports.conf, then the perl5 
port will be installed. In your case, the pod2man program Apple already shipped 
on your system was found and used rather than installing the perl5 port. This 
is a little unusual; ports should usually use software installed by other 
ports, not software installed by Apple, for the reasons explained here:

http://trac.macports.org/wiki/FAQ#ownlibs

However, in this particular case, I apparently thought the version supplied by 
Apple would be ok; I'm the one who originally made this change here:

http://trac.macports.org/ticket/18269

I don't remember why I decided the Apple version of pod2man was good enough in 
this case.


>       Over the weekend I wanted to try bluefish out.
>       I ran sudo port -d install bluefish-devel.
>       I was shocked with I notice that perl5.8.9
>       was being installed.

This should not shock you terribly. bluefish-devel depends on gtk2 which 
depends on glib2 which depends on perl5 which depends on perl5.8. In glib2, the 
dependency is written as "path:bin/perl:perl5" meaning only a program "perl" in 
the directory "bin" inside the MacPorts prefix can satisfy the dependency; a 
"perl" anywhere else on the system is not sufficient. This is consistent with 
how MacPorts dependencies are supposed to be written.


>       Actually, this should not be a problem because
>       in the man page I can set defaults write com.apple.versioner.perl 
> Version 5.10.0.
>       Well, no Luck. I log out and in and even restarted, still
>       would not give me perl10.0.0.
> 
>       1) Bug or missing feature that the MacPort perl does not
>            check for versioner? Or should I have to set this in .profile?

I don't know what manpage you're referring to and I've never heard of the 
com.apple.versioner.perl plist. It is not expected that MacPorts would make use 
of any Apple plists.


>       2) Why was not perl10.0.1 from macport installed instead of
>           5.8.9 when running Snow Leopard ?

Because the default perl in MacPorts, on all operating systems, is still 
perl5.8. The convoluted ticket tracking the request to change this to perl5.10 
is here:

http://trac.macports.org/ticket/16830


>       Since bluefish was not what I wanted/expected, I remove 
>       Macports and reinstalled wget. This I check perl5 and noticed
>       the perl5.10 variant. So I installed perl5 +perl5.10.
>       O.K. perl10.0.1 was installed I can live with that.
>       So:
>       3) If I install any that depends on perl5 will perl5.8.9
>            be installed or is perl5.10.1 respected?

I expect that perl5.10 should be used by all software that is able to do so. 
(One exception, for example, is ghc, which specifically requires perl5.8.)


>       I am not that much into variants, but want to make sure
>       that 32 and 64 bit version are installed. I do not want
>       PPC code.
>       5) What variants do I use?

+universal


>       6) How do ensure that the proper variants are use for 
>           dependent builds?

If you want universal builds always, you can put +universal into variants.conf. 
Any variant you specify at the command line, or in variants.conf, automatically 
applies to any dependencies that haven't yet been installed. But they do not 
automatically apply to dependencies that are already installed.

Since you probably already have some ports installed now, you may want to 
rebuild all of them universal now. To do so, I believe you just have to run:

sudo port upgrade --enforce-variants active +universal

Note that not all ports can build universal, and not all ports that can't have 
declared that they can't. Therefore you may run into ports that try to build 
universal and fail. These are bugs that should be reported in the issue 
tracker. To work around it, if you have added +universal to variants.conf, you 
need to specify -universal on the command line, e.g.:

sudo port install vis5d -universal

Note that you need to manually specify -universal every time you upgrade these 
ports, too, until the port is fixed to either build universal or to indicate 
that universal doesn't work, because MacPorts does not record negative variants 
in the registry.


_______________________________________________
macports-users mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Reply via email to