Opened 9 years ago

Closed 9 years ago

#48358 closed defect (fixed)

texlive-common uses a program from texlive-basic but does not declare a dependency on it

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: drkp (Dan Ports)
Priority: Normal Milestone:
Component: ports Version: 2.3.99
Keywords: Cc:
Port: texlive-common

Description

poppler was updated from 0.33 (library version 52) to 0.34 (library version 53).

texlive-common was then updated from 2014 to 2015 but the post-activate proc failed because texlua, provided by texlive-basic, was still linked with the old poppler library.

:info:deactivate dyld: Library not loaded: /opt/local/lib/libpoppler.52.dylib
:info:deactivate   Referenced from: /opt/local/bin/texlua
:info:deactivate   Reason: image not found

If texlive-common uses a program installed by texlive-basic, it should have a dependency on texlive-basic. On the other hand, that's not possible, because texlive-basic already depends on texlive-common, and that would introduce a circular dependency, which is not supported in MacPorts. So I don't know what the correct resolution to the problem is.

Attachments (1)

main.log (9.1 KB) - added by ryandesign (Ryan Carsten Schmidt) 9 years ago.

Download all attachments as: .zip

Change History (4)

Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: main.log added

comment:1 Changed 9 years ago by drkp (Dan Ports)

Ultimately, this has no consequence other than than an inconvenient error. My inclination would be to just leave it as is, catching the error if necessary.

The intent of that post-activate hook is that, if we already have a perfectly working texlive installation and are just upgrading texlive-common, to rerun mktexlsr because the config files installed by texlive-common might have changed. This is kind of a rare case -- it won't get run for new installations because mktexlsr won't exist, and it doesn't matter if we're upgrading the rest of texlive too because we'll run it later anyway. I'm racking my brain to remember if this has ever actually come up or if it'd be safe to remove it.

(The ideal solution would be to have something like Debian's post-install triggers that would let us wait until after all ports have been upgraded before running the things we do now in post-activate hooks, but that's another story.)

This has never come up before because mktexlsr used to be a shell script, so if it was installed it just worked. Now it's a texlua script.

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

Ok, if the warning is unimportant and can be ignored, then sure, make the port do that. My complaint was that the upgrade process was interrupted by this error message (though the port activated successfully).

comment:3 Changed 9 years ago by drkp (Dan Ports)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.