texlive no longer finds (some of) its style files?

Ryan Schmidt ryandesign at macports.org
Mon Jul 8 12:27:05 UTC 2019

On Jul 8, 2019, at 06:10, joerg van den hoff wrote:

> On 08.07.19 08:28 , Dan Ports wrote:
>> On Sat, Jun 29, 2019 at 06:29:57PM +0200, joerg van den hoff wrote:
>>> would `port upgrade texlive' throw out an old texlive-latex-extra rather
>>> than upgrading (or ignoring) it? it shouldn't do that but could it?
>> Yes, this can happen on occasion.
>> MacPorts doesn't have great support for enforcing that a bunch of
>> ports, like all of texlive, should be upgraded at once. In particular,
>> if a file moves from the older version of one port to the newer
>> version of another, which happens fairly often with texlive, it can
>> create a false conflict. There are hacks in some of the portfiles to
>> forcibly deactivate conflicts so this doesn't break the upgrade.
>> Usually this works out fine, and the new versions of all of the ports
>> get installed correctly. Depending on the order the upgrades are run
>> in, though, and especially if the upgrade is interrupted, some package
>> might be uninstalled.
>> Dan
> thanks for confirming that this is a known problem/limitation. I will try to remember this if I encounter that situation again. it sure is unfortunate, though, that an installed package can
> get unwittingly uninstalled especially one that is part of the texlive "mess" ...
> but anyway. I have used macports long enough to really appreciate how much smoother it works these
> days. thanks a lot to everybody involved!.

I don't think MacPorts will uninstall a port unless you tell it to (directly by name at version_revision+variants, or using a pseudoport (like "inactive" or "leaves"), or using port(1)'s "-u" flag).

What could happen, though, is that MacPorts might deactivate a port if another port has replaced its functionality. For example, if a port texlive-old no longer exists but a port texlive-new now provides the same files that texlive-old used to, then when you install or upgrade texlive-new, it will automatically deactivate texlive-old. The result should be that the files you want are still there. If somehow that didn't end up being the case, you could reactivate texlive-old.

If you selectively update ports, you can run into situations where some of a port's dependencies have been updated but others haven't. This can result in a variety of problems, possibly including the one you mentioned. For this reason, we recommend using "sudo port upgrade outdated" to upgrade all of the outdated ports at once, and not selectively upgrading ports.

More information about the macports-users mailing list