Export to GitHub

indic-text-renderer - issue #1

Make error in windows using cygwin


Posted on Jun 12, 2012 by Grumpy Horse

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 functionint 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 functionint 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 functionhb_bool_t _try_make_writable_inplace_unix(hb_blob_t*)': hb-blob.cc:235: warning: converting of negative value -0x000000001' touintptr _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 Horse

Hi 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 Bird

This 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 Camel

My bad. Pushed a fix to HarfBuzz master.

Comment #4

Posted on Jun 27, 2012 by Helpful Horse

Thank you Behdad for fixing this and letting us know.

Comment #5

Posted on Jun 28, 2012 by Grumpy Horse

Thanks 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 functionhb_bool_t _try_make_writable_inplace_unix(hb_blob_t*)': hb-blob.cc:235: warning: converting of negative value -0x000000001' touintptr_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 functionconst uint16_t* hb_utf16_next(const uint16_t*, const uint16_t*, hb_codepoint_t*)': hb-buffer.cc:858: warning: converting of negative value -0x000000001' tounsigned 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 functionbool 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 functionvoid 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 functionvoid 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 functionvoid 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 functionvoid 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 functionvoid 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 functionvoid 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 functionvoid 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 functionvoid 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 functionvoid 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 functionvoid 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 functionvoid* 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 functionbool 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 overloadedCastP(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 overloadedCastP(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 overloadedCastP(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 overloadedCastP(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