Opened 4 years ago

Last modified 2 years ago

#60905 new defect

Ghostscript requires jbig2dec ≥0.16

Reported by: grumpybozo (Bill Cole) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.6.3
Keywords: Cc: cooljeanius (Eric Gallager)
Port: ghostscript

Description

A build of ghostscript 9.52 fails with this error in config with jbig2dec v0.15 installed:

    checking for jbig2dec 0.16 with pkg-config... configure: error: jbig2 decoder not found, or too old

Updating to current jbig2dec (0.17) fixes the failure

Change History (8)

comment:1 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

jbig2dec has been at 0.17 since October 2019; see [1f891c34f10b814d3a1710b24162aa8aada70a7b/macports-ports]. How did you still have an older version on your system? Did you perhaps have a local ports repository with an outdated copy of this and possibly other ports?

comment:2 Changed 4 years ago by grumpybozo (Bill Cole)

No local repository, the system where I ran into this is a test VM without a routine MP update cycle: actually shut off for most of the past year.

The path to this was not a blanket 'port upgrade outdated' but rather a migration from Perl 5.26 to 5.28, running 'port -v uninstall --follow-dependents perl5.26' and rebuilding the non-p5* ports that I knew I wanted from what that removed. Ghostscript was brought in as a dependency of pdf-tools.

Last edited 4 years ago by grumpybozo (Bill Cole) (previous) (diff)

comment:3 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Unless you used the -n flag to tell MacPorts not to upgrade dependencies first, I don't see how you could have gotten into this situation, since ghostscript does declare that it has a dependency on jbig2dec so jbig2dec should have been upgraded to 0.17 before trying to build ghostscript.

comment:4 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Another possibility is if you had jbig2dec 0.17 installed but inactive, and had activated an earlier version. In that case MacPorts assumes you want the older version active and doesn't reactivate the newer version automatically.

comment:5 in reply to:  4 ; Changed 4 years ago by grumpybozo (Bill Cole)

Replying to ryandesign:

Unless you used the -n flag to tell MacPorts not to upgrade dependencies first, I don't see how you could have gotten into this situation, since ghostscript does declare that it has a dependency on jbig2dec so jbig2dec should have been upgraded to 0.17 before trying to build ghostscript.

Replying to ryandesign:

Another possibility is if you had jbig2dec 0.17 installed but inactive, and had activated an earlier version. In that case MacPorts assumes you want the older version active and doesn't reactivate the newer version automatically.

I did neither of those, according to the shell histories on that machine. Are you sure that port install (NOT port upgrade ) upgrades dependencies of dependencies when a version dependency isn't specified? I lack any other explanation for why this happened and can see no way short of a wholesale restore from backup to try to reproduce it. If you want to chalk this up to unknown user error, I have no real counter-argument.

comment:6 in reply to:  5 ; Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to grumpybozo:

Are you sure that port install (NOT port upgrade ) upgrades dependencies of dependencies

Yes, absolutely. Everything would break if we didn't do that.

when a version dependency isn't specified?

I'm not sure what you mean.

comment:7 in reply to:  6 Changed 4 years ago by grumpybozo (Bill Cole)

Replying to ryandesign:

Replying to grumpybozo:

Are you sure that port install (NOT port upgrade ) upgrades dependencies of dependencies

Yes, absolutely. Everything would break if we didn't do that.

when a version dependency isn't specified?

I'm not sure what you mean.

I was mistaken, thinking of some other packaging system where a dependency specification can include versions. FreeBSD ports probably. Or RPM

comment:8 Changed 2 years ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added
Note: See TracTickets for help on using tickets.