[MacPorts] #52450: atk does not activate following install/upgrade due to false positive file exists error with gtk-docs on OS X 10.9 (Mavericks)
MacPorts
noreply at macports.org
Thu Sep 29 17:26:32 CEST 2016
#52450: atk does not activate following install/upgrade due to false positive file
exists error with gtk-docs on OS X 10.9 (Mavericks)
-------------------------------------------------+-------------------------
Reporter: ben@… | Owner: macports-
Type: defect | tickets@…
Priority: Normal | Status: new
Component: ports | Milestone:
Keywords: install, upgrade, outdated, file | Version: 2.3.4
conflict, atk, at-spi2-atk, | Port: atk
-------------------------------------------------+-------------------------
OS version: 10.9.5
uname -a: Darwin redacted.example.org 13.4.0 Darwin Kernel Version 13.4.0:
Mon Jan 11 18:17:34 PST 2016; root:xnu-2422.115.15~1/RELEASE_X86_64 x86_64
The build for atk 2.22.0 fails to complete as either stand alone (64-bit)
or universal due to what appears to be a false positive error regarding
moving (renaming) the documentation files to the live directory.
Everything else appears fine with the build so it should work if only it
gets past this little thing and then allows the registry to update.
The major problem, however, is the flow on effect through preventing
installation of at-spi2-atk and upgrading of, well, basically all of
gnome, bash, cmake, wine, various libraries and all text processing tools.
Probably a good deal more than that.
The actual error is this:
{{{
:error:activate org.macports.activate for port atk returned: error
renaming
"/opt/local/var/macports/software/atk/mpextract0k6HadQ1/opt/local/share
/gtk-doc/html/atk/atkobject.html" to "/opt/local/share/gtk-
doc/html/atk/atkobject.html": file already exists
:debug:activate Error code: POSIX EEXIST {file already exists}
:debug:activate Backtrace: error renaming
"/opt/local/var/macports/software/atk/mpextract0k6HadQ1/opt/local/share
/gtk-doc/html/atk/atkobject.html" to "/opt/local/share/gtk-
doc/html/atk/atkobject.html": file already exists
}}}
Full details are in the log file attached.
Obviously, I checked to make sure that the file wasn't there and it
wasn't. The same is true of /opt/local/share/gtk-
doc/html/atk/AtkObject.html and running the attempts to activate or
install with force flags, binary installations, no dependencies or the
opposite makes no difference. Installations are cleaned and usually force
deactivated between attempts.
I've also tried renaming /opt/local/share/gtk-doc/html/ and creating an
empty html directory there, the only difference in that case was the new
directory was deleted when the activation failed. So leaving some other
file in the /opt/local/share/gtk-doc/html/atk/ directory was attempted to
see if it left any other relics of its attempt behind, but no, there
weren't any.
I do have the built tarball in /opt/local/var/macports/software/atk/ still
and could run through it manually, but require advice on which parts of
the registry the install and upgrade or activation commands modify to make
it live. I am aware that this is a sub-optimal solution (and that most
people should never try it), but too many things depend on this package
and that's still preferable to a scorched earth response. I have over 800
active ports and many of them are essential, whereas the scorched earth
solution takes days or weeks to complete with full system and network
resources tied up which is unacceptable at this time (over a holiday
period, sure, but not now).
Alternatively I can custom compile the damn thing over in /usr/local (or
some alternative location) if it is possible to force at-spi2-atk to use
that path and ignore the ports failure, then everything else shoud return
to normal.
If you really want, I can also provide the build directory contents for
the atk builds, but that hardly seems likely to help. Still, if needed it
can be provided. The commands attempted include:
{{{
sudo port -v -d -n install -b -p -f atk
sudo port -v -d -n install -k -p -f atk
sudo port -v -d -n install -p -f atk
sudo port -v -d -n install -f atk
sudo port -v -d install -f atk
sudo port -v -d -n install -b -p -f atk +universal
sudo port -v -d -n install -k -p -f atk +universal
sudo port -v -d -n install -p -f atk +universal
sudo port -v -d -n install -f atk +universal
sudo port -v -d install -f atk +universal
}}}
Along with the less verbose options preceding those.
Force deactivation works, but force activation produces the same error as
installation and upgrade attempts. Which makes sense since it is the
point of activating any installations or upgrades which fails.
Leaving the force (-f) and the no dependency (-n) flags out makes no
difference, though in some cases with attempts to upgrade other outdated
packages it will affect how much of the upgrade is attempted and depending
entirely on how much of the process can be done before the atk dependency
is mandatory. None of those outdated packages successfully upgrade either
way.
There is currently approximately thirty outdated packages affected by
this, including gtk3, but that number will grow.
--
Ticket URL: <https://trac.macports.org/ticket/52450>
MacPorts <https://www.macports.org/>
Ports system for the Mac operating system
More information about the macports-tickets
mailing list