Opened 8 years ago
Closed 8 years ago
#1718 closed defect (fixed)
xxx-pass1 is built after xxx in some cases
| Reported by: | Pierre Labastie | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | 3.0 |
| Component: | ablfs | Version: | SVN |
| Severity: | major | Keywords: | |
| Cc: |
Description
Steps to reproduce: with no installed packages, select doxygen and optional deps only for the requested package. Then we get:
pierre@<host>:~/blfs_root$ ls scripts/*graphite* scripts/213-z-graphite2 scripts/238-z-graphite2-pass1
which is clearly wrong.
Change History (5)
comment:1 by , 8 years ago
comment:2 by , 8 years ago
Diagnostic 1: we have harfbuzz depends optionally on graphite2-pass1, which requires cmake. and doxygen requires cmake. So we arrive at harfbuzz through cmake, and a long and windy path. we therefore have the cycle:
cmake -...> harfbuzz -opt> graphite2 -req> cmake
and our algorithm to remove cycles is to break at the first optional dep (graphite2 here). Solution: transform any "first" dep into a required dep on pass1.
But trying to make graphviz a "first" dep of doxygen, I get:
pierre@<host>:~/blfs_root$ ls scripts/*graphv* scripts/237-z-graphviz scripts/238-z-graphviz-pass1
which is wrong again...
comment:3 by , 8 years ago
Looks like we have:
graphviz-pass1 -rec> freeglut -...-opt> graphviz -rec> freeglut
and our algorithm to remove cycles generates:
graphviz-pass1 -rec> freeglut -... broken just before graphviz
\
-opt> graphviz -rec> freeglut
so that graphviz-pass1 depends on graphviz. How wrong!
comment:4 by , 8 years ago
Well, the algorithm is not to blame. But a dependency of xxx, leading to xxx should be removed from xxx-pass1. The question is whether it should always be removed, depending on the respective weight (req, rec, opt) of deps.
comment:5 by , 8 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
r4032, r4033, r4034, and r4035 seem to fix the issue described in the description and comment:1. The issue described in comment:2 and comment:3 is not fixed. Maybe it is just wrong to put a random dep as "first"... And I must say it is wrong to recommend freeglut for graphviz: it cannot be used if other libraries, not in the book, are absent. But this is another story. Closing.

Worse, we have:
pierre@<host>:~/blfs_root$ ls scripts/{*harfbuzz*,*graphite*} scripts/039-z-harfbuzz scripts/213-z-graphite2 scripts/238-z-graphite2-pass1while graphite2-pass1 should be built before harfbuzz (as should be expected from graphite2 having role="first" as a dependency of harfbuzz). Note that we correctly get:
pierre@<host>:~/blfs_root$ ls scripts/{*harfbuzz*,*freety*} scripts/038-z-freetype2-pass1 scripts/039-z-harfbuzz scripts/040-z-freetype2