[MacPorts] #58574: poppler upgrade fails if older poppler is installed

MacPorts noreply at macports.org
Sun Nov 3 10:20:30 UTC 2019


#58574: poppler upgrade fails if older poppler is installed
----------------------+----------------------
  Reporter:  RobK88   |      Owner:  dbevans
      Type:  defect   |     Status:  reopened
  Priority:  Normal   |  Milestone:
 Component:  ports    |    Version:  2.5.4
Resolution:           |   Keywords:
      Port:  poppler  |
----------------------+----------------------
Changes (by ryandesign):

 * cc: koocsr, kencu (added)


Comment:

 Replying to [comment:44 koocsr]:
 > I see that you closed out this issue as fixed, but FWIW, "upgrade
 updated" gave me the following:
 >
 > {{{
 > --->  Computing dependencies for poppler
 > --->  Fetching archive for poppler
 > --->  Attempting to fetch poppler-0.80.0_0.darwin_17.x86_64.tbz2 from
 https://packages.macports.org/poppler
 > --->  Attempting to fetch poppler-0.80.0_0.darwin_17.x86_64.tbz2 from
 http://aus.us.packages.macports.org/macports/packages/poppler
 > --->  Attempting to fetch poppler-0.80.0_0.darwin_17.x86_64.tbz2 from
 http://ywg.ca.packages.macports.org/mirror/macports/packages/poppler
 > --->  Fetching distfiles for poppler
 > --->  Attempting to fetch poppler-0.80.0.tar.xz from
 https://distfiles.macports.org/poppler
 > --->  Verifying checksums for poppler
 > --->  Extracting poppler
 > --->  Applying patches to poppler
 > --->  Configuring poppler
 > Error: poppler cannot be built while another version of poppler is
 active.
 > Error: Please forcibly deactivate the existing copy of poppler, e.g. by
 running:
 > Error:
 > Error:     sudo port -f deactivate poppler
 > Error:
 > Error: Then try again.
 > Error: Failed to configure poppler: poppler is active
 > Error: See
 /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_poppler/poppler/main.log
 for details.
 > Error: Follow https://guide.macports.org/#project.tickets to report a
 bug.
 >
 > }}}
 >
 > which is fixed as before, with
 >
 > {{{
 > sudo port clean poppler
 > sudo port selfupdate
 > sudo port upgrade outdated
 > }}}
 >
 > but if poppler is required for some other dependency, after simply doing
 >
 > {{{
 > sudo port -f deactivate poppler
 > sudo port upgrade outdated
 > }}}
 >
 > it is not re-installed ...

 Yes, that is all now behaving as designed. I agree it is not great, but it
 is how all ports that have a self-conflict currently behave. Due to a
 defect in the poppler build system, or possibly in the way we are using
 it, poppler cannot build while certain other versions of itself are
 active, therefore you must deactivate poppler before upgrading it. We
 leave it to you to do that, rather than doing it automatically, because we
 are not privy to how you are using the ports you have installed with
 MacPorts and do not know if deactivating a port for the duration of an
 upgrade would cause problems in your use case. We don't know how long a
 port will take to build on your system, and we don't know how urgently you
 depend on this port or the ports that depend on it. Yes, a port is not
 considered outdated if it is inactive. You can still upgrade it explicitly
 by name, so to upgrade both the poppler you deactivated and all the other
 outdated ports you could run `sudo port upgrade poppler outdated`.

 Ken, we have not used the deactivate hack for self-conflicts before. If
 you want to propose changing how we handle all self-conflicts, please open
 a discussion on the mailing list. Don't just change it for this one port.
 That decreases the consistency of the MacPorts experience.

 The best thing we can do to improve this experience is fix the problem in
 the poppler build system so that the `-I` flags are in the right order and
 the self-conflict can then be removed.

-- 
Ticket URL: <https://trac.macports.org/ticket/58574#comment:47>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list