Migration issue

Mojca Miklavec mojca.miklavec.lists at gmail.com
Wed Dec 16 07:30:26 PST 2015


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-users mailing list