[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