[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