Thanks a lot for opensourcing indic text renderer code.
I tried using indic-text-renderer in my windows machine using cygwin. Followed steps in http://indic-text-renderer.googlecode.com/git/HowToBuild.txt document.
I got upto ./autogen.sh step successfully. After that while running make command I encountered the following issues. Please help to resolve this.
===================================================
$ make
GEN .gitignore
make all-recursive
make[1]: Entering directory /cygdrive/c/mugunth/projects/android/indic-text-ren derer/jni/harfbuzz-ng'
Making all in src
make[2]: Entering directory
/cygdrive/c/mugunth/projects/android/indic-text-ren derer/jni/harfbuzz-ng/src'
GEN hb-gobject-enums.cc
GEN hb-ot-shape-complex-indic-machine.hh
GEN .gitignore
make all-am
make[3]: Entering directory /cygdrive/c/mugunth/projects/android/indic-text-ren derer/jni/harfbuzz-ng/src'
CXX libharfbuzz_la-hb-blob.lo
In file included from hb-blob.cc:30:
hb-object-private.hh: In member function
int hb_reference_count_t::inc()':
hb-object-private.hh:57: error: __sync_fetch_and_add' undeclared (first use thi s function)
hb-object-private.hh:57: error: (Each undeclared identifier is reported only onc e for each function it appears in.)
hb-object-private.hh: In member function
int hb_reference_count_t::dec()':
hb-object-private.hh:58: error: __sync_fetch_and_add' undeclared (first use thi s function)
hb-blob.cc: In function
hb_bool_t _try_make_writable_inplace_unix(hb_blob_t*)':
hb-blob.cc:235: warning: converting of negative value -0x000000001' to
uintptr _t'
Makefile:689: recipe for target libharfbuzz_la-hb-blob.lo' failed
make[3]: *** [libharfbuzz_la-hb-blob.lo] Error 1
make[3]: Leaving directory
/cygdrive/c/mugunth/projects/android/indic-text-rend erer/jni/harfbuzz-ng/src'
Makefile:503: recipe for target all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory
/cygdrive/c/mugunth/projects/android/indic-text-rend erer/jni/harfbuzz-ng/src'
Makefile:424: recipe for target all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
/cygdrive/c/mugunth/projects/android/indic-text-rend erer/jni/harfbuzz-ng'
Makefile:335: recipe for target `all' failed
make: * [all] Error 2
Comment #1
Posted on Jun 15, 2012 by Helpful HorseHi Mugunth, Thank you for trying this out. I haven't seen this error before: error: `__sync_fetch_and_add' undeclared
Looks like a missing library, or could be because of some version incompatibility also. Are you having latest version of Cygwin (including gcc, make etc) on your machine?
Also, given that it is an error while building Harfbuzz-ng itself, we could report this error on Harfbuzz-ng mailing list as well and see if there is some help we can get there.
Comment #2
Posted on Jun 23, 2012 by Happy BirdThis is due to build environment does have all the build tools/libs. Kindly check out the same.
Comment #3
Posted on Jun 26, 2012 by Happy CamelMy bad. Pushed a fix to HarfBuzz master.
Comment #4
Posted on Jun 27, 2012 by Helpful HorseThank you Behdad for fixing this and letting us know.
Comment #5
Posted on Jun 28, 2012 by Grumpy HorseThanks Behdad, I pulled fresh version of the code from git and tried autogen.sh & make (after make clean ).
Now the make goes past that error. But hit with another error. hb-ot-map-private.hh:110: error: `typedef struct hb_ot_map_t::pause_callback_t hb_ot_map_t::pause_callback_t' is private hb-ot-map-private.hh:183: error: within this context
If you could help in this it would be great.
Here is the full error detail:
$ make
make all-recursive
make[1]: Entering directory /cygdrive/c/mugunth/projects/android/indic-text-renderer/jni/harfbuzz-ng'
Making all in src
make[2]: Entering directory
/cygdrive/c/mugunth/projects/android/indic-text-renderer/jni/harfbuzz-ng/src'
GEN hb-gobject-enums.cc
make all-am
make[3]: Entering directory /cygdrive/c/mugunth/projects/android/indic-text-renderer/jni/harfbuzz-ng/src'
CXX libharfbuzz_la-hb-blob.lo
hb-blob.cc: In function
hb_bool_t _try_make_writable_inplace_unix(hb_blob_t*)':
hb-blob.cc:235: warning: converting of negative value -0x000000001' to
uintptr_t'
CXX libharfbuzz_la-hb-buffer.lo
hb-buffer.cc: In function const uint8_t* hb_utf8_next(const uint8_t*, const uint8_t*, hb_codepoint_t*)':
hb-buffer.cc:810: warning: converting of negative value
-0x000000001' to unsigned int'
hb-buffer.cc:820: warning: converting of negative value
-0x000000001' to unsigned int'
hb-buffer.cc: In function
const uint16_t* hb_utf16_next(const uint16_t*, const uint16_t*, hb_codepoint_t*)':
hb-buffer.cc:858: warning: converting of negative value -0x000000001' to
unsigned int'
hb-buffer.cc: In member function bool hb_buffer_t::enlarge(unsigned int)':
hb-buffer.cc:104: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function
bool hb_buffer_t::make_room_for(unsigned int, unsigned int)':
hb-buffer.cc:122: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function void* hb_buffer_t::get_scratch_buffer(unsigned int*)':
hb-buffer.cc:132: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function
void hb_buffer_t::reset()':
hb-buffer.cc:162: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function void hb_buffer_t::add(hb_codepoint_t, hb_mask_t, unsigned int)':
hb-buffer.cc:181: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function
void hb_buffer_t::clear_output()':
hb-buffer.cc:194: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function void hb_buffer_t::clear_positions()':
hb-buffer.cc:206: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function
void hb_buffer_t::swap_buffers()':
hb-buffer.cc:231: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function void hb_buffer_t::merge_clusters(unsigned int, unsigned int)':
hb-buffer.cc:419: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function
void hb_buffer_t::replace_glyphs(unsigned int, unsigned int, const uint32_t*)':
hb-buffer.cc:253: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function void hb_buffer_t::output_glyph(hb_codepoint_t)':
hb-buffer.cc:264: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function
void hb_buffer_t::copy_glyph()':
hb-buffer.cc:274: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function void hb_buffer_t::replace_glyph(hb_codepoint_t)':
hb-buffer.cc:286: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function
void hb_buffer_t::next_glyph()':
hb-buffer.cc:305: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function void hb_buffer_t::set_masks(hb_mask_t, hb_mask_t, unsigned int, unsigned int)':
hb-buffer.cc:330: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function
void hb_buffer_t::reverse_range(unsigned int, unsigned int)':
hb-buffer.cc:358: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function void hb_buffer_t::reverse()':
hb-buffer.cc:367: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function
void hb_buffer_t::reverse_clusters()':
hb-buffer.cc:390: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function void hb_buffer_t::merge_out_clusters(unsigned int, unsigned int)':
hb-buffer.cc:447: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function
void hb_buffer_t::guess_properties()':
hb-buffer.cc:475: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function void hb_buffer_t::allocate_var(unsigned int, unsigned int, const char*)':
hb-buffer.cc:505: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function
void hb_buffer_t::deallocate_var(unsigned int, unsigned int, const char*)':
hb-buffer.cc:522: warning: visibility attribute not supported in this configuration; ignored
hb-buffer.cc: In member function void hb_buffer_t::deallocate_var_all()':
hb-buffer.cc:528: warning: visibility attribute not supported in this configuration; ignored
CXX libharfbuzz_la-hb-common.lo
hb-common.cc: In member function
void* hb_user_data_array_t::get(hb_user_data_key_t*, hb_mutex_t&)':
hb-common.cc:387: warning: visibility attribute not supported in this configuration; ignored
hb-common.cc: In member function void hb_user_data_array_t::finish(hb_mutex_t&)':
hb-common.cc:393: warning: visibility attribute not supported in this configuration; ignored
hb-common.cc: In member function
bool hb_user_data_array_t::set(hb_user_data_key_t*, void*, void ()(void), hb_bool_t, hb_mutex_t&)':
hb-common.cc:378: warning: visibility attribute not supported in this configuration; ignored
CXX libharfbuzz_la-hb-fallback-shape.lo
hb-fallback-shape.cc: In function hb_bool_t _hb_fallback_shape(hb_font_t*, hb_buffer_t*, const hb_feature_t*, unsigned int)':
hb-fallback-shape.cc:69: warning: visibility attribute not supported in this configuration; ignored
CXX libharfbuzz_la-hb-font.lo
In file included from hb-ot-shape-complex-private.hh:32,
from hb-ot-layout-private.hh:36,
from hb-font.cc:29:
hb-ot-map-private.hh:110: error:
typedef struct hb_ot_map_t::pause_callback_t hb_ot_map_t::pause_callback_t' is private
hb-ot-map-private.hh:183: error: within this context
In file included from hb-open-file-private.hh:32,
from hb-font.cc:33:
hb-open-type-private.hh: In function const Type& Null() [with Type = Tag]':
hb-open-type-private.hh:426: error: call of overloaded
CastP(const char[5])' is ambiguous
hb-open-type-private.hh:53: note: candidates are: const Type* CastP(const TObject*) [with Type = Tag, TObject = char]
hb-open-type-private.hh:56: note: Type* CastP(TObject*) [with Type = Tag, TObject = const char]
hb-open-type-private.hh: In function const Type& Null() [with Type = Index]':
hb-open-type-private.hh:435: error: call of overloaded
CastP(const char[3])' is ambiguous
hb-open-type-private.hh:53: note: candidates are: const Type* CastP(const TObject*) [with Type = Index, TObject = char]
hb-open-type-private.hh:56: note: Type* CastP(TObject*) [with Type = Index, TObject = const char]
hb-open-type-private.hh: In static member function static const Type* Sanitizer<Type>::lock_instance(hb_blob_t*) [with Type = OpenTypeFontFile]':
hb-font.cc:657: instantiated from here
hb-open-type-private.hh:322: error: call of overloaded
CastP(const char*&)' is ambiguous
hb-open-type-private.hh:53: note: candidates are: const Type* CastP(const TObject*) [with Type = OpenTypeFontFile, TObject = char]
hb-open-type-private.hh:56: note: Type* CastP(TObject*) [with Type = OpenTypeFontFile, TObject = const char]
hb-open-type-private.hh: In static member function static const Type* Sanitizer<Type>::lock_instance(hb_blob_t*) [with Type = head]':
hb-font.cc:802: instantiated from here
hb-open-type-private.hh:322: error: call of overloaded
CastP(const char*&)' is ambiguous
hb-open-type-private.hh:53: note: candidates are: const Type* CastP(const TObject*) [with Type = head, TObject = char]
hb-open-type-private.hh:56: note: Type* CastP(TObject*) [with Type = head, TObject = const char]
Makefile:717: recipe for target libharfbuzz_la-hb-font.lo' failed
make[3]: *** [libharfbuzz_la-hb-font.lo] Error 1
make[3]: Leaving directory
/cygdrive/c/mugunth/projects/android/indic-text-renderer/jni/harfbuzz-ng/src'
Makefile:505: recipe for target all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory
/cygdrive/c/mugunth/projects/android/indic-text-renderer/jni/harfbuzz-ng/src'
Makefile:424: recipe for target all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
/cygdrive/c/mugunth/projects/android/indic-text-renderer/jni/harfbuzz-ng'
Makefile:335: recipe for target `all' failed
make: * [all] Error 2
Status: New
Labels:
Type-Defect
Priority-Medium