<div dir="ltr"><div><div><div><div>Because it doesn't work? Here I tested with the simplest possible program, from sample.py<br><br><span style="font-family:monospace,monospace">#!/usr/bin/python3.5<br># -*- coding: utf-8 -*-<br><br>import sys<br>import array<br><br>from os import environ<br>environ['LD_LIBRARY_PATH'] = '/usr/local/lib/girepository-1.0'<br>environ['GI_TYPELIB_PATH'] = '/usr/local/lib/girepository-1.0'<br><br>from gi.repository import HarfBuzz as hb<br>from gi.repository import GLib<br><br>fontdata = open(sys.argv[1], 'rb').read ()<br>text = sys.argv[2]<br># Need to create GLib.Bytes explicitly until this bug is fixed:<br># <a href="https://bugzilla.gnome.org/show_bug.cgi?id=729541">https://bugzilla.gnome.org/show_bug.cgi?id=729541</a><br>blob = hb.glib_blob_create (GLib.Bytes.new (fontdata))<br>face = hb.face_create (blob, 0)<br>del blob<br>font = hb.font_create (face)<br>upem = hb.face_get_upem (face)<br>del face<br>hb.font_set_scale (font, upem, upem)<br>hb.ot_font_set_funcs (font)<br><br>buf = hb.buffer_create ()<br>class Debugger(object):<br>    def message (self, buf, font, msg, data, _x_what_is_this):<br>        print(msg)<br>        return True<br>debugger = Debugger()<br>hb.buffer_set_message_func (buf, debugger.message, 1, 0)<br><br>hb.buffer_add_utf32 (buf, array.array('I', text.encode('utf-32')), 0, -1)<br><br>hb.buffer_guess_segment_properties (buf)<br><br>hb.shape (font, buf, [])<br>del font<br><br>infos = hb.buffer_get_glyph_infos (buf)<br>positions = hb.buffer_get_glyph_positions (buf)<br><br>for info,pos in zip(infos, positions):<br>    gid = info.codepoint<br>    cluster = info.cluster<br>    x_advance = pos.x_advance<br>    x_offset = pos.x_offset<br>    y_offset = pos.y_offset<br><br>    print("gid%d=%d@%d,%d+%d" % (gid, cluster, x_advance, x_offset, y_offset))</span><br><br></div>This works correctly when Harfbuzz is installed in <span style="font-family:monospace,monospace">usr/local/</span>.<br><br></div>However, if I <span style="font-family:monospace,monospace">sudo make uninstall</span>, run <span style="font-family:monospace,monospace">./configure --with-gobject --enable-introspection --prefix=/home/kelvin/HB</span>, and <span style="font-family:monospace,monospace">make install</span>, and change the environment variables to <br><br><span style="font-family:monospace,monospace">environ['LD_LIBRARY_PATH'] = '/home/kelvin/HB/lib/girepository-1.0'<br>environ['GI_TYPELIB_PATH'] = '/home/kelvin/HB/lib/girepository-1.0'</span><br><br></div>The script crashes like this:<br><br><span style="font-family:monospace,monospace">~$ ./hbt.py NocturnoDisplay-Bk.otf effectiveness<br>./hbt.py:11: PyGIWarning: HarfBuzz was imported without specifying a version first. Use gi.require_version('HarfBuzz', '0.0') before import to ensure that the right version gets loaded.<br>  from gi.repository import HarfBuzz as hb<br><br>** (process:7354): WARNING **: Failed to load shared library 'libharfbuzz-gobject.so.0' referenced by the typelib: libharfbuzz-gobject.so.0: cannot open shared object file: No such file or directory<br>Segmentation fault (core dumped)</span><br><br></div>And yes, <span style="font-family:monospace,monospace">libharfbuzz-gobject.so.o</span> is in the folder:<br><br><span style="font-family:monospace,monospace">~/HB/lib$ ls<br>girepository-1.0                  <a href="http://libharfbuzz.la">libharfbuzz.la</a><br><a href="http://libharfbuzz-gobject.la">libharfbuzz-gobject.la</a>            libharfbuzz.so<br>libharfbuzz-gobject.so            libharfbuzz.so.0<br>libharfbuzz-gobject.so.0          libharfbuzz.so.0.10200.7<br>libharfbuzz-gobject.so.0.10200.7  pkgconfig</span><br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 2, 2016 at 5:52 PM, Behdad Esfahbod <span dir="ltr"><<a href="mailto:behdad@behdad.org" target="_blank">behdad@behdad.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Tue, Aug 2, 2016 at 2:42 PM, Kelvin Ma <<a href="mailto:kelvinsthirteen@gmail.com">kelvinsthirteen@gmail.com</a>> wrote:<br>
> ok thanks, but when I rebuild and install into ~/HB using harfbuzz (and<br>
> changing the environment variables to the new directory) doesn't work. I get<br>
<br>
</span>"doesn't work" is never enough.  It sure works for me.  Works for a<br>
thousand other people.  Only you can debug it.  For example, is<br>
libharfbuzz-gobject.so.o in ~/HB/lib?  If yes, is your LD_LIBRARY_PATH<br>
correctly set, try strace, does it look there, etc.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
> ** (kt.py:15896): WARNING **: Failed to load shared library<br>
> 'libharfbuzz-gobject.so.0' referenced by the typelib:<br>
> libharfbuzz-gobject.so.0: cannot open shared object file: No such file or<br>
> directory<br>
><br>
> and sometimes a bunch of other errors after it<br>
><br>
> On Tue, Aug 2, 2016 at 5:31 PM, Behdad Esfahbod <<a href="mailto:behdad@behdad.org">behdad@behdad.org</a>> wrote:<br>
>><br>
>> "make uninstall"<br>
>><br>
>> On Tue, Aug 2, 2016 at 2:28 PM, Kelvin Ma <<a href="mailto:kelvinsthirteen@gmail.com">kelvinsthirteen@gmail.com</a>><br>
>> wrote:<br>
>> > I want to move my harfbuzz installation out of root space and into user<br>
>> > space, but I can't find uninstall info anywhere. How do I uninstall<br>
>> > harfbuzz?<br>
>> ><br>
>> > _______________________________________________<br>
>> > HarfBuzz mailing list<br>
>> > <a href="mailto:HarfBuzz@lists.freedesktop.org">HarfBuzz@lists.freedesktop.org</a><br>
>> > <a href="https://lists.freedesktop.org/mailman/listinfo/harfbuzz" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/harfbuzz</a><br>
>> ><br>
>><br>
>><br>
>><br>
>> --<br>
>> behdad<br>
>> <a href="http://behdad.org/" rel="noreferrer" target="_blank">http://behdad.org/</a><br>
><br>
><br>
<br>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
behdad<br>
<a href="http://behdad.org/" rel="noreferrer" target="_blank">http://behdad.org/</a><br>
</font></span></blockquote></div><br></div>