Resolving portmaster error "pkg-static: automake-1.16.1 conflicts with automake-wrapper-20131203"
It looks like
automake-wrapper-20131203 has been replaced with
automake-1.16.1 in the FreeBSD 11.1 ports tree. Unfortunately, portmaster is stumbling over the change and failing with an error. If you're receiving the output below, scroll down for the fix:
[root@host /tmp]# portmaster -avw ===>>> Sorting ports by category ===>>> Gathering distinfo list for installed ports ===>>> Starting check of installed ports for available updates ===>>> Root ports: 18 ===>>> automake-wrapper-20131203 ===>>> The devel/automake-wrapper port moved to devel/automake ===>>> Reason: No longer needed ===>>> Launching child to update automake-wrapper-20131203 to automake-1.16.1 ===>>> All >> automake-wrapper-20131203 (1/1) ===>>> The devel/automake-wrapper port moved to devel/automake ===>>> Reason: No longer needed ===>>> Currently installed version: automake-wrapper-20131203 ===>>> Port directory: /usr/ports/devel/automake [...snip checking all installed ports...] ===>>> All >> (1) ===>>> The following actions will be taken if you choose to proceed: Downgrade automake-wrapper-20131203 to automake-1.16.1 ===>>> Proceed? y/n [y] y ===>>> Starting build for ports that need updating <<<=== ===>>> Launching child to install devel/automake ===>>> All >> devel/automake (1/1) ===>>> Port directory: /usr/ports/devel/automake ===>>> Starting check for build dependencies ===>>> Gathering dependency list for devel/automake from ports ===>>> Starting dependency check ===>>> Checking dependency: devel/autoconf ===>>> Checking dependency: lang/perl5.24 ===>>> Checking dependency: ports-mgmt/pkg ===>>> Checking dependency: print/texinfo ===>>> Dependency check complete for devel/automake [...snip compiler output...] ===>>> All >> devel/automake (1/1) ===> Installing for automake-1.16.1 ===> Checking if automake already installed ===> Registering installation for automake-1.16.1 as automatic Installing automake-1.16.1... pkg-static: automake-1.16.1 conflicts with automake-wrapper-20131203 (installs files into the same place). Problematic file: /usr/local/bin/aclocal *** Error code 70 Stop. make: stopped in /usr/ports/devel/automake ===>>> Installation of automake-1.16.1 (devel/automake) failed ===>>> Aborting update ===>>> Update for devel/automake failed ===>>> Aborting update
The snag appears to be that because
/usr/ports/devel/automake-wrapper was deleted from the ports tree, portmaster can't cleanly deinstall
automake-wrapper to replace it with plain old
automake. There are multiple ways to address this.
Fix it using portmaster...
I initially posted the manual steps (below), but a reader contributed an easier fix using portmaster's
[root@host /tmp]# portmaster -o devel/automake devel/automake-wrapper
This tells portmaster that the origin of the port has changed to a different directory, without having to force the issue.
...Or fix it manually
An alternate solution is to manually remove the
automake-wrapper port and then manually install the
[root@host /tmp]# pkg info | grep automake automake-wrapper-20131203 Wrapper script for GNU automake [root@host /tmp]# pkg delete automake-wrapper-20131203 Updating database digests format: 100% Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: automake-wrapper-20131203 Number of packages to be removed: 1 Proceed with deinstalling packages? [y/N]: y [1/1] Deinstalling automake-wrapper-20131203... [1/1] Deleting files for automake-wrapper-20131203: 100% [root@host /tmp]# cd /usr/ports/devel/automake [root@host /usr/ports/devel/automake]# make install ===> Installing for automake-1.16.1 ===> Checking if automake already installed ===> Registering installation for automake-1.16.1 Installing automake-1.16.1...
Because portmaster had already built
automake earlier, there's no compiler output here and the installation happens right away.
Verify the fix
Now let's check to make sure portmaster knows that
automake is installed and up-to-date.
[root@host /usr/ports/devel/automake]# portmaster -avw | grep automake ===>>> automake-1.16.1
This single line of output is a good sign: portmaster recognizes
automake, and isn't generating any more errors about it.