On 2/17/19 1:38 PM, Pierre Labastie via blfs-dev wrote:
On 17/02/2019 19:56, Bruce Dubbs via blfs-dev wrote:
On 2/17/19 12:23 PM, Pierre Labastie via blfs-dev wrote:
On 17/02/2019 17:06, Bruce Dubbs via blfs-dev wrote:
On 2/17/19 7:35 AM, Pierre Labastie via blfs-dev wrote:
On 17/02/2019 00:16, bdubbs--- via blfs-book wrote:
Author: bdubbs
Date: Sat Feb 16 15:16:14 2019
New Revision: 21178
Log:
Add harfbuzz as an optional (circular) dependency of cairo.
[...]
Modified: trunk/BOOK/x/lib/cairo.xml
==============================================================================
--- trunk/BOOK/x/lib/cairo.xml Sat Feb 16 14:03:30 2019 (r21177)
+++ trunk/BOOK/x/lib/cairo.xml Sat Feb 16 15:16:14 2019 (r21178)
@@ -104,6 +104,7 @@
<xref linkend="gs"/>,
<xref linkend="gtk3"/> and <xref linkend="gtk2"/>,
<xref linkend="gtk-doc"/>,
+ <xref linkend="harfbuzz"/>,
<xref linkend="libdrm"/>,
<xref linkend="librsvg"/>,
<xref linkend="lzo"/>,
@@ -117,6 +118,10 @@
<ulink url="http://download.qt.io/archive/qt/4.8/">Qt4</ulink>.
</para>
+ <note><para>There is a circular dependency between cairo and harfbuzz.
+ If cairo is built before harbuzz, it is necessary to rebuild cairo
+ after harfbuzz in order to build pango.</para></note>
+
<para condition="html" role="usernotes">
User Notes: <ulink url="&blfs-wiki;/cairo"/>
</para>
Well, I'm not sure it has to be done this way: actually harfbuz is in the
"recommended" dependency chain of cairo: cairo recommends fontconfig, which
recommends freetype, which recommends harfbuzz...
I do not know whether you use jhalfs. If cairo got built before harfbuzz
using
jhalfs, this is most probably a bug in jhalfs, so please tell me.
I do not use jhalfs for BLFS (but it's critical for me in LFS). As I build
for a release I try to get most of the optional dependencies as sell as the
required and recommended. That does create some circular dependencies and it
bit me when I tried to build pango.
But that shouldn't happen, since harfbuzz is recommended (not directly, but it
is) for cairo. I'll do the following:
- on the harfbuzz page: note that the optional dep on cairo is circular, and
that it is recommended to build harfbuzz first
- on the cairo page: remove the optional dep on harfbuzz (it is already in the
recommended chain), which can only add confusion.
I thought we were only omitting deps in the required chain.
-- Bruce
Not sure I understand: if a dep is in the recommended chain, what does it
bring to put it in optional? Specially in this case, harfbuzz is useless for
cairo without freetype and fontconfig... And freetype needs cairo. I think
what I have put in the book at rev 21189 allows preventing the issue you had.
Of course, it would not the same, for example, if a dep were required, and
also in the recommended dependency chain... Then it would have to be mentioned
as required.
package pango
Recommended cairo (but needs harfbuzz first)
package cairo
Required pixman and libpng only
No mention of harfbuzz
harfbuzz X
Optional cairo
If you build the optional cairo before harfbuzz, you can't build pango
until cairo is rebuilt.
The latest changes you made are fine, but there was not enough
explanation before.
-- Bruce
--
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page