Opened 6 years ago

Closed 22 months ago

Last modified 3 weeks ago

#46105 closed defect (wontfix)

texinfo @5.2_2 has unlisted dependency on TeX

Reported by: karsten@… Owned by: larryv (Lawrence Velázquez)
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc: claudiopolis, MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: texinfo

Description (last modified by larryv (Lawrence Velázquez))

Since some time late last week, octave fails to build. It looks like it depends on TeX to be installed, but the dependency is not listed in the port:

:info:destroot  /opt/local/bin/texi2dvi --build-dir=t2d_cache  --build-dir=octav
e.t2d -o octave.dvi  \
:info:destroot  octave.texi
:info:destroot You don't have a working TeX binary (tex) installed anywhere in
:info:destroot your PATH, and texi2dvi cannot proceed without one.  If you want 
to use
:info:destroot this script, you'll need to install TeX (if you don't have it) or
 change
:info:destroot your PATH or TEX environment variable (if you do).  See the --hel
p
:info:destroot output for more details.
:info:destroot 
:info:destroot For information about obtaining TeX, please see http://tug.org/te
xlive,
:info:destroot or do a web search for TeX and your operating system or distro.

Attaching full build log.

Attachments (1)

main.log (3.3 MB) - added by karsten@… 6 years ago.
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/main.log

Change History (13)

Changed 6 years ago by karsten@…

Attachment: main.log added

/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/main.log

comment:1 Changed 6 years ago by larryv (Lawrence Velázquez)

Description: modified (diff)
Owner: changed from macports-tickets@… to larryv@…
Port: texinfo added; octave removed
Status: newassigned
Summary: Octave has unlisted dependency on TeXtexinfo @5.2_2 has unlisted dependency on TeX

The texi2dvi script is provided by texinfo, so it’s that port that should have some sort of dependency on TeX. That’s kind of a big dependency to add.

I’ll look into this at some point, but I’m not sure about the best way to handle it.

comment:2 Changed 6 years ago by karsten@…

The real solution would probably be to add DVI / PDF output capability probing to the autoconf script, and disable building those if texinfo doesn't support it.

An easier way may be to make a build failure for the .dvi and .pdf doc targets non-fatal, but that is likely not upstream-able.

comment:3 in reply to:  2 Changed 6 years ago by larryv (Lawrence Velázquez)

Replying to karsten@…:

The real solution would probably be to add DVI / PDF output capability probing to the autoconf script, and disable building those if texinfo doesn't support it.

That might be something upstream should do, but it’s exactly what we don’t want. We don’t want ports to build differently based on whether some external program is present or absent.

The fact remains that the texinfo port installs a script that requires TeX but doesn’t have a dependency on TeX. This should be fixed.

comment:4 Changed 6 years ago by register@…

I am also having exactly the same problem. Fortunately I already have an older port of octave installed and running but the upgrade to 3.8.2_3 fails. Is there any local fix that I can make to allow me to upgrade?

comment:5 Changed 6 years ago by urilabob@…

In the short term, this is breaking at least octave, and probably other ports. The optimal solution is probably complex, and probably involves adding a specific minimal collection to support texinfo (it seems cygwin is facing similar issues, and at least temporarily did that). It's also probably going to take substantial time to figure out an optimal fix.

In the short term, pending such a rearrangement, the solution is clear: if one package depends on another, it needs to be listed as a dependency. Anything else just leaves users with broken systems, and leaves every user with the complex job of tracking down exactly what the dependencies are. With the current macports package structure, texinfo requires two packages: texlive-baxic and texlive-latex. Please add them as dependencies, to stop breaking everything. Worry about what the best solution is later, but please don't leave things broken for months of thinking time.

comment:6 in reply to:  5 ; Changed 6 years ago by larryv (Lawrence Velázquez)

Replying to urilabob@…:

With the current macports package structure, texinfo requires two packages: texlive-baxic and texlive-latex.

Why texlive-latex?

please don't leave things broken for months of thinking time.

It just fell off my radar. In the future, email macports-dev to alert developers about stagnant tickets.

comment:7 in reply to:  6 Changed 6 years ago by larryv (Lawrence Velázquez)

Replying to larryv@…:

Why texlive-latex?

Never mind, I didn’t look hard enough. The script uses at least latex and pdflatex.

comment:8 Changed 4 years ago by larryv (Lawrence Velázquez)

Cc: claudiopolis added

Has likely duplicate #52987.

comment:9 Changed 4 years ago by raimue (Rainer Müller)

Adding a texlive-* dependency to texinfo is quite heavy, especially when most dependents do not seem to need it. Maintainers of dependent ports should evaluate whether building documentation as DVI/PDF is actually useful. If so, add appropriate dependencies, otherwise disable building DVI/PDF.

comment:10 Changed 22 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: MarcusCalhoun-Lopez added

comment:11 Changed 22 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: wontfix
Status: assignedclosed

There was a consensus on the mailing list that it was the job of clients of texinfo (e.g. octave) to add the appropriate dependencies.
Unless someone comes up with a better solution, I believe this ticket can be closed.

comment:12 Changed 3 weeks ago by Schamschula (Marius Schamschula)

I just ran into this with texinfo @6.7_1 while trying to rev update to octave @5.2.0_5+accelerate+app+docs+gfortran+graphicsmagick+qt5+sound+sundials.

I ended up building octave with -doc.

Note: See TracTickets for help on using tickets.