Migration issue

Mojca Miklavec mojca at macports.org
Wed Dec 16 08:58:14 PST 2015


Dear Adam,

On 16 December 2015 at 17:34, Adam Dershowitz wrote:
> I did a selfupdate.  I uninstalled per5, perl5.16 and perl5.22
> Next, I installed perl5 +perl5_16
> Next I installed perl5.16 +universal
>
> Then I did 5.22 and had the problem again:
>
>  sudo port install perl5.22 +universal
> --->  Computing dependencies for perl5.22
> --->  Fetching archive for perl5.22
> --->  Attempting to fetch
> perl5.22-5.22.1_0+universal.darwin_15.i386-x86_64.tbz2 from
> http://packages.macports.org/perl5.22
> --->  Attempting to fetch
> perl5.22-5.22.1_0+universal.darwin_15.i386-x86_64.tbz2 from
> http://lil.fr.packages.macports.org/perl5.22
> --->  Attempting to fetch
> perl5.22-5.22.1_0+universal.darwin_15.i386-x86_64.tbz2 from
> http://nue.de.packages.macports.org/macports/packages/perl5.22
> --->  Fetching distfiles for perl5.22
> --->  Verifying checksums for perl5.22
> --->  Extracting perl5.22
> --->  Applying patches to perl5.22
> --->  Configuring perl5.22
> --->  Building perl5.22
> --->  Staging perl5.22 into destroot
> --->  Installing perl5.22 @5.22.1_0+universal
> --->  Activating perl5.22 @5.22.1_0+universal
> Error: org.macports.activate for port perl5.22 returned: Image error:
> /opt/local/bin/c2ph-5.22 is being used by the active perl5.16 port.  Please
> deactivate this port first, or use 'port -f activate perl5.22' to force the
> activation.
> Please see the log file for port perl5.22 for details:
>
> /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_perl5/perl5.22/main.log
> To report a bug, follow the instructions in the guide:
>     http://guide.macports.org/#project.tickets
> Error: Processing of port perl5.22 failed
>
> I did the check that you asked and I see a whole bunch of stuff:
>
> port contents perl5.16 | grep 5.22
>   /opt/local/bin/a2p-5.22
>   /opt/local/bin/c2ph-5.22
...

I need to investigate that. That shouldn't have happened.

> I can send the full list if that would help.  It includes a pile of stuff in
> share/man as well.

You can send me the list of all files (port contents perl5.16) off
list. But I have to try it out myself and see where I screwed up.

> Is the problem with perl5 +perl5_16 ?  Since that is version 5.22.1?
> Should I not have installed that?

If perl5 +perl5_16 installs version 5.22.1 for you, that certainly
shouldn't have happened.

I would warmly suggest you to install perl5 +perl5_22 anyway, but the
behaviour you describe is clearly a bug that we need to investigate
and fix with a very high priority.

Mojca

> On Dec 16, 2015, at 10:30 AM, Mojca Miklavec wrote:
>
> Dear Adam,
>
> Your setup contains some mixture of universal and non-universal ports
> that seems to be interfering.
>
> Add to that the fact that if you would install some ports from scratch
> now, you would get the +perl5_22 variant, while you probably installed
> +perl5_16 in the past. And an upgrade would not automatically switch
> to the other variant. Plus some ports have not been migrated to 5.22
> yet:
>    http://trac.macports.org/ticket/48365
>
> I suspect that you get the error because two ports are trying to
> install the same dependency, but one of them is requesting the
> universal variant.
>
> However there is one horribly strange error:
>    /opt/local/bin/c2ph-5.22 is being used by the active perl5.16 port
> Something seems wrong here. In my opinion you should force uninstall
> both perl5.16 and perl5.22 and try to install them again. I have no
> clue how you could end up in that situation though (and would
> potentially like to know).
>
> Once you reinstall both perl ports, please check
>    port contents perl5.22 | grep 5.16
>    port contents perl5.16 | grep 5.22
> and make sure that you don't get any hits. Also, make sure that you
> are using the very latest "selfupdate" (14 hours ago Perl was a tiny
> bit broken).
>
> Having both Perl 5.16 and 5.22 active should not be a problem.
>
> Personally I would remove Perl ports and all ports with +perl5_xx
> variants from the list of activated ports and install them manually
> after migration is done.
>
> Mojca
>
>
> On 16 December 2015 at 15:52, Adam Dershowitz wrote:
>
> I have been attempting to follow the full set of migration instructions,
> after upgrading to 10.11, but I have run into issue with perl stuff.
> i have a bunch of perl libraries that were all installed as dependents of
> other ports.  Before I uninstalled my ports I had
>
>  perl5 @5.22.1_0+perl5_16 (active) platform='darwin 14' archs='noarch'
>  perl5.12 @5.12.5_0+universal platform='darwin 14' archs='i386 x86_64'
>  perl5.16 @5.16.3_1+universal (active) platform='darwin 14' archs='i386
> x86_64'
>  perl5.22 @5.22.1_0+universal (active) platform='darwin 14' archs='i386
> x86_64’
>
>
> But, when I try to run restore_ports.tcl I get a bunch of errors related to
> perl libraries.  The end of the attempt looked like this:
>
> --->  Computing dependencies for p5.16-tree-dag_node
> --->  Dependencies to be installed: p5.16-file-slurp-tiny p5.16-pathtools
> p5.16-test-pod p5.16-pod-simple p5.16-pod-escapes p5.16-test-simple
> --->  Configuring p5.16-file-slurp-tiny
> Error: org.macports.configure for port p5.16-file-slurp-tiny returned:
> configure failure: command execution failed
> Error: Failed to install p5.16-file-slurp-tiny
> Please see the log file for port p5.16-file-slurp-tiny for details:
>
> /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_perl_p5-file-slurp-tiny/p5.16-file-slurp-tiny/main.log
> Error: The following dependencies were not installed: p5.16-file-slurp-tiny
> p5.16-pathtools p5.16-test-pod p5.16-pod-simple p5.16-pod-escapes
> p5.16-test-simple
> --->  Computing dependencies for p5.16-uri
> --->  Dependencies to be installed: p5.16-mime-base64
> Error: Requested variants "" do not match those the build was started with:
> "+universal".
> Error: Please use the same variants again, or run 'port clean
> p5.16-mime-base64' first to remove the existing partially completed build.
> Error: Failed to install p5.16-mime-base64
> Please see the log file for port p5.16-mime-base64 for details:
>
> /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_perl_p5-mime-base64/p5.16-mime-base64/main.log
> Error: The following dependencies were not installed: p5.16-mime-base64
> can't create directory
> "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_perl_p5-version":
> permission denied
>    while executing
> "file mkdir $workpath/.home"
>    (procedure "open_statefile" line 29)
>    invoked from within
> "open_statefile"
>    (procedure "check_variants" line 29)
>    invoked from within
> "check_variants activate"
>    invoked from within
> "$workername eval check_variants $target"
>    (procedure "mportexec" line 7)
>    invoked from within
> "mportexec $workername $install_target"
> Unable to execute target 'install' for port 'p5.16-version': can't create
> directory
> "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_perl_p5-version":
> permission denied
>    while executing
> "install_ports $operationList"
>    (file "./restore_ports.tcl" line 287)
>
>
> It seems that there is an issue about having both perl 5.16 and 5.22 active?
> I have tried to manually install each, but can’t seem to get both to be
> active, even though I had them both active before.
>
> I also tried this without making any progress:
>
> sudo port deactivate perl5.16 +universal
> --->  Deactivating perl5.16 @5.16.3_1+universal
> --->  Unable to deactivate perl5.16 @5.16.3_1+universal, the following ports
> depend on it:
> --->  net-snmp @5.7.3_1+ssl
> Error: org.macports.deactivate for port perl5.16 returned: Please uninstall
> the ports that depend on perl5.16 first.
> Please see the log file for port perl5.16 for details:
>
> /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_perl5.16-5.16.3_1_1cffbdcc6ccb33bf8a69420c60d75162483a2dfc65a0f3c0b064fad1411ae7a6-9816/perl5.16/main.log
> Warning: Failed to execute portfile from registry for perl5.16
> @5.16.3_1+universal
> --->  Deactivating perl5.16 @5.16.3_1+universal
> --->  Unable to deactivate perl5.16 @5.16.3_1+universal, the following ports
> depend on it:
> --->  net-snmp @5.7.3_1+ssl
> Error: port deactivate failed: Please uninstall the ports that depend on
> perl5.16 first.
> adershowitzMBP15:Fink Ports etc adershowitz$ sudo port install perl5.22
> +universal
> --->  Computing dependencies for perl5.22
> --->  Activating perl5.22 @5.22.1_0+universal
> Error: org.macports.activate for port perl5.22 returned: Image error:
> /opt/local/bin/c2ph-5.22 is being used by the active perl5.16 port.  Please
> deactivate this port first, or use 'port -f activate perl5.22' to force the
> activation.
> Please see the log file for port perl5.22 for details:
>
> /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_perl5/perl5.22/main.log
> To report a bug, follow the instructions in the guide:
>    http://guide.macports.org/#project.tickets
> Error: Processing of port perl5.22 failed
>
> Is there some easy way to work around this?  Would it be a good idea to
> remove all my perl libraries from requested.txt then rerun the script?
> Would it then correctly figure out what else has to be installed?
> I do see that requested.txt has this as well   ossp-uuid @1.6.2_4+perl5_16
> (active) platform='darwin 14' archs=‘x86_64’
> So, for some reason it has the 5_16 variant (again, this was installed as a
> dependent, so I’m not sure what installed it that way).
> And it looks like net-snmp depends on perl 5.16.
>
> So, how can I get things cleaned up around this perl issue?  It looks like
> most other ports installed fine, before getting to perl and perl libraries.
>
> --Adam
>
>


More information about the macports-dev mailing list