Compiling sary-ruby is necessary in order to install <a href="http://taiyaki.org/prime/">Prime</a>.</p> <ul> <li>Download <a href="hoka/vebu/sary-ruby-1.2.0.tar.gz">the sary-ruby package</a> from <a href="http://sary.sourceforge.net">sary-ruby homepage</a>: <table bgcolor="#000000" border="1"><tr><td border="0"><font color="#FFFF00"><b>$ wget -c <a href="http://sary.sourceforge.net/sary-ruby-1.2.0.tar.gz">http://sary.sourceforge.net/sary-ruby-1.2.0.tar.gz</a></b></td></tr></table></li> <li>Unpack: <table bgcolor="#000000" border="1"><tr><td border="0"><font color="#FFFF00"><b>$ tar xzvf sary-ruby-1.2.0.tar.gz</b></td></tr></table></li> <li>Configure: <table bgcolor="#000000" border="1"><tr><td border="0"><font color="#FFFF00"><b>$ cd sary-ruby-1.2.0<br /> $ ruby extconf.rb</b></td></tr></table></li> </ul>

Trying to compile now will generate these errors: /cygdrive/g/compile/sary-ruby-1.2.0 $ make gcc -I. -I. -I/usr/lib/ruby/1.8/i386-cygwin -I. -DHAVE_SARY_H -g -O2 -D_REENTRANT -I/usr/local/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -c builder.c gcc -shared -s -L/usr/local/lib -lsary -lgthread-2.0 -lglib-2.0 -lintl -liconv -Wl,--enable-auto-image-base,--enable-auto-import,--export-all -L&quot;/usr/lib&quot; -o sary.so builder.o init.o searcher.o -lruby -lsary -ldl -lcrypt builder.o: In function `rsbuilder_initialize': /cygdrive/g/compile/sary-ruby-1.2.0/builder.c:84: undefined reference to `_g_strerror' builder.o: In function `rsb_sort': /cygdrive/g/compile/sary-ruby-1.2.0/builder.c:116: undefined reference to `_g_strerror' searcher.o: In function `rsearcher_initialize': /cygdrive/g/compile/sary-ruby-1.2.0/searcher.c:103: undefined reference to `_g_strerror' /usr/local/lib/libsary.a(builder.o): In function `sary_builder_new2': /cygdrive/g/compile/sary-1.2.0/sary/builder.c:73: undefined reference to `_g_assert_warning' /cygdrive/g/compile/sary-1.2.0/sary/builder.c:75: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/builder.c:81: undefined reference to `_g_strdup' /usr/local/lib/libsary.a(builder.o): In function `sary_builder_new': /cygdrive/g/compile/sary-1.2.0/sary/builder.c:60: undefined reference to `_g_strconcat' /cygdrive/g/compile/sary-1.2.0/sary/builder.c:63: undefined reference to `_g_free' /cygdrive/g/compile/sary-1.2.0/sary/builder.c:59: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(builder.o): In function `sary_builder_destroy': /cygdrive/g/compile/sary-1.2.0/sary/builder.c:94: undefined reference to `_g_free' /usr/local/lib/libsary.a(builder.o): In function `sary_builder_set_ipoint_func': /cygdrive/g/compile/sary-1.2.0/sary/builder.c:102: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(builder.o): In function `sary_builder_block_sort': /cygdrive/g/compile/sary-1.2.0/sary/builder.c:166: undefined reference to `_g_strconcat' /cygdrive/g/compile/sary-1.2.0/sary/builder.c:191: undefined reference to `_g_free' /usr/local/lib/libsary.a(builder.o): In function `sary_builder_set_block_size': /cygdrive/g/compile/sary-1.2.0/sary/builder.c:199: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(builder.o): In function `sary_builder_set_nthreads': /cygdrive/g/compile/sary-1.2.0/sary/builder.c:206: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(builder.o): In function `sary_builder_connect_progress': /cygdrive/g/compile/sary-1.2.0/sary/builder.c:215: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(builder.o): In function `sary_builder_destroy': /cygdrive/g/compile/sary-1.2.0/sary/builder.c:95: undefined reference to `_g_free' /usr/local/lib/libsary.a(searcher.o): In function `init_searcher_states': /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:529: undefined reference to `_g_free' /usr/local/lib/libsary.a(searcher.o): In function `sary_searcher_new2': /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:148: undefined reference to `_g_malloc' /usr/local/lib/libsary.a(searcher.o): In function `sary_searcher_new': /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:138: undefined reference to `_g_strconcat' /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:141: undefined reference to `_g_free' /usr/local/lib/libsary.a(searcher.o): In function `sary_searcher_destroy': /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:176: undefined reference to `_g_free' /usr/local/lib/libsary.a(searcher.o): In function `sary_searcher_search2': /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:191: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(searcher.o): In function `sary_searcher_isearch': /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:253: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(searcher.o): In function `sary_searcher_sort_occurrences': /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:494: undefined reference to `_g_malloc' /usr/local/lib/libsary.a(searcher.o): In function `search': /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:573: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(searcher.o): In function `icase_search': /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:671: undefined reference to `_g_array_append_vals' /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:674: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(searcher.o): In function `sary_searcher_icase_search2': /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:296: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:299: undefined reference to `_g_array_new' /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:311: undefined reference to `_g_free' /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:312: undefined reference to `_g_array_free' /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:289: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(searcher.o): In function `sary_searcher_get_next_tagged_region2': /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:428: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(searcher.o): In function `sary_searcher_get_next_context_lines2': /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:387: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(searcher.o): In function `sary_searcher_multi_search': /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:206: undefined reference to `_g_array_new' /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:815: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:818: undefined reference to `_g_strdup' /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:834: undefined reference to `_g_free' /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:836: undefined reference to `_g_free' /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:241: undefined reference to `_g_array_free' /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:226: undefined reference to `_g_array_append_vals' /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:210: undefined reference to `_g_assert_warning' /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:241: undefined reference to `_g_array_free' /usr/local/lib/libsary.a(searcher.o): In function `sary_searcher_destroy': /cygdrive/g/compile/sary-1.2.0/sary/searcher.c:177: undefined reference to `_g_free' /usr/local/lib/libsary.a(text.o): In function `sary_text_new': /cygdrive/g/compile/sary-1.2.0/sary/text.c:51: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/text.c:57: undefined reference to `_g_strdup' /cygdrive/g/compile/sary-1.2.0/sary/text.c:40: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(text.o): In function `sary_text_destroy': /cygdrive/g/compile/sary-1.2.0/sary/text.c:66: undefined reference to `_g_free' /usr/local/lib/libsary.a(text.o): In function `sary_text_goto_next_line': /cygdrive/g/compile/sary-1.2.0/sary/text.c:146: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(text.o): In function `sary_text_forward_cursor': /cygdrive/g/compile/sary-1.2.0/sary/text.c:166: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(text.o): In function `sary_text_backward_cursor': /cygdrive/g/compile/sary-1.2.0/sary/text.c:178: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(text.o): In function `sary_text_destroy': /cygdrive/g/compile/sary-1.2.0/sary/text.c:67: undefined reference to `_g_free' /usr/local/lib/libsary.a(writer.o): In function `sary_writer_new': /cygdrive/g/compile/sary-1.2.0/sary/writer.c:45: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/writer.c:51: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/writer.c:43: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(writer.o): In function `sary_writer_destroy': /cygdrive/g/compile/sary-1.2.0/sary/writer.c:63: undefined reference to `_g_free' /cygdrive/g/compile/sary-1.2.0/sary/writer.c:60: undefined reference to `_g_assert_warning' /cygdrive/g/compile/sary-1.2.0/sary/writer.c:64: undefined reference to `_g_free' /usr/local/lib/libsary.a(progress.o): In function `sary_progress_set_count': /cygdrive/g/compile/sary-1.2.0/sary/progress.c:81: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(progress.o): In function `sary_progress_new': /cygdrive/g/compile/sary-1.2.0/sary/progress.c:37: undefined reference to `_g_assert_warning' /cygdrive/g/compile/sary-1.2.0/sary/progress.c:39: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/progress.c:43: undefined reference to `_g_strdup' /usr/local/lib/libsary.a(progress.o): In function `sary_progress_destroy': /cygdrive/g/compile/sary-1.2.0/sary/progress.c:74: undefined reference to `_g_free' /cygdrive/g/compile/sary-1.2.0/sary/progress.c:68: undefined reference to `_g_assert_warning' /cygdrive/g/compile/sary-1.2.0/sary/progress.c:75: undefined reference to `_g_free' /usr/local/lib/libsary.a(sorter.o): In function `sary_sorter_new': /cygdrive/g/compile/sary-1.2.0/sary/sorter.c:77: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/sorter.c:86: undefined reference to `_g_strdup' /usr/local/lib/libsary.a(sorter.o): In function `sary_sorter_destroy': /cygdrive/g/compile/sary-1.2.0/sary/sorter.c:235: undefined reference to `_g_free' /cygdrive/g/compile/sary-1.2.0/sary/sorter.c:236: undefined reference to `_g_free' /cygdrive/g/compile/sary-1.2.0/sary/sorter.c:100: undefined reference to `_g_free' /usr/local/lib/libsary.a(sorter.o): In function `sary_sorter_sort_blocks': /cygdrive/g/compile/sary-1.2.0/sary/sorter.c:131: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/sorter.c:212: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/sorter.c:213: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/sorter.c:135: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/sorter.c:147: undefined reference to `_g_strerror' /cygdrive/g/compile/sary-1.2.0/sary/sorter.c:147: undefined reference to `_g_log' /cygdrive/g/compile/sary-1.2.0/sary/sorter.c:156: undefined reference to `_g_free' /cygdrive/g/compile/sary-1.2.0/sary/sorter.c:157: undefined reference to `_g_free' /usr/local/lib/libsary.a(sorter.o): In function `sary_sorter_set_nthreads': /cygdrive/g/compile/sary-1.2.0/sary/sorter.c:188: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(sorter.o): In function `sary_sorter_connect_progress': /cygdrive/g/compile/sary-1.2.0/sary/sorter.c:197: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(sorter.o): In function `sary_sorter_destroy': /cygdrive/g/compile/sary-1.2.0/sary/sorter.c:101: undefined reference to `_g_free' /usr/local/lib/libsary.a(ipoint.o): In function `sary_ipoint_char_eucjp': /cygdrive/g/compile/sary-1.2.0/sary/ipoint.c:97: undefined reference to `_g_log' /usr/local/lib/libsary.a(ipoint.o): In function `sary_ipoint_char_sjis': /cygdrive/g/compile/sary-1.2.0/sary/ipoint.c:134: undefined reference to `_g_log' /usr/local/lib/libsary.a(ipoint.o): In function `sary_ipoint_char_utf8': /cygdrive/g/compile/sary-1.2.0/sary/ipoint.c:183: undefined reference to `_g_log' /usr/local/lib/libsary.a(ipoint.o): In function `sary_ipoint_locale': /cygdrive/g/compile/sary-1.2.0/sary/ipoint.c:209: undefined reference to `_g_log' /usr/local/lib/libsary.a(str.o): In function `sary_str_seek_eol': /cygdrive/g/compile/sary-1.2.0/sary/str.c:51: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(str.o): In function `sary_str_seek_bol': /cygdrive/g/compile/sary-1.2.0/sary/str.c:65: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(str.o): In function `sary_str_get_region': /cygdrive/g/compile/sary-1.2.0/sary/str.c:82: undefined reference to `_g_assert_warning' /cygdrive/g/compile/sary-1.2.0/sary/str.c:84: undefined reference to `_g_malloc' /usr/local/lib/libsary.a(str.o): In function `sary_str_get_linelen': /cygdrive/g/compile/sary-1.2.0/sary/str.c:51: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(str.o): In function `sary_str_get_line': /cygdrive/g/compile/sary-1.2.0/sary/str.c:65: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(str.o): In function `sary_str_seek_lines_backward': /cygdrive/g/compile/sary-1.2.0/sary/str.c:65: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(str.o): In function `sary_str_seek_lines_forward': /cygdrive/g/compile/sary-1.2.0/sary/str.c:51: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(str.o): In function `sary_str_seek_pattern_forward2': /cygdrive/g/compile/sary-1.2.0/sary/str.c:200: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(str.o):/cygdrive/g/compile/sary-1.2.0/sary/str.c:171: more undefined references to `_g_assert_warning' follow /usr/local/lib/libsary.a(cache.o): In function `sary_cache_new': /cygdrive/g/compile/sary-1.2.0/sary/cache.c:40: undefined reference to `_g_hash_table_new' /usr/local/lib/libsary.a(cache.o): In function `sary_cache_destroy': /cygdrive/g/compile/sary-1.2.0/sary/cache.c:47: undefined reference to `_g_hash_table_foreach' /usr/local/lib/libsary.a(cache.o): In function `sary_cache_get': /cygdrive/g/compile/sary-1.2.0/sary/cache.c:60: undefined reference to `_g_hash_table_lookup' /usr/local/lib/libsary.a(cache.o): In function `sary_cache_add': /cygdrive/g/compile/sary-1.2.0/sary/cache.c:70: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/cache.c:71: undefined reference to `_g_malloc' /usr/local/lib/libsary.a(cache.o): In function `sary_cache_destroy': /cygdrive/g/compile/sary-1.2.0/sary/cache.c:48: undefined reference to `_g_hash_table_destroy' /usr/local/lib/libsary.a(cache.o): In function `sary_cache_add': /cygdrive/g/compile/sary-1.2.0/sary/cache.c:79: undefined reference to `_g_hash_table_insert' /usr/local/lib/libsary.a(cache.o): In function `destroy_element': /cygdrive/g/compile/sary-1.2.0/sary/cache.c:118: undefined reference to `_g_free' /usr/local/lib/libsary.a(bsearch.o): In function `sary_bsearch_first': /cygdrive/g/compile/sary-1.2.0/sary/bsearch.c:55: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(bsearch.o): In function `sary_bsearch_last': /cygdrive/g/compile/sary-1.2.0/sary/bsearch.c:103: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(mmap.o): In function `sary_mmap': /cygdrive/g/compile/sary-1.2.0/sary/mmap.c:149: undefined reference to `_g_assert_warning' /cygdrive/g/compile/sary-1.2.0/sary/mmap.c:140: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/mmap.c:158: undefined reference to `_g_free' /usr/local/lib/libsary.a(mmap.o): In function `sary_munmap': /cygdrive/g/compile/sary-1.2.0/sary/mmap.c:178: undefined reference to `_g_assert_warning' /cygdrive/g/compile/sary-1.2.0/sary/mmap.c:181: undefined reference to `_g_free' /usr/local/lib/libsary.a(merger.o): In function `sary_merger_new': /cygdrive/g/compile/sary-1.2.0/sary/merger.c:86: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/merger.c:87: undefined reference to `_g_strdup' /cygdrive/g/compile/sary-1.2.0/sary/merger.c:88: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/merger.c:91: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/merger.c:96: undefined reference to `_g_malloc' /cygdrive/g/compile/sary-1.2.0/sary/merger.c:84: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(merger.o): In function `sary_merger_destroy': /cygdrive/g/compile/sary-1.2.0/sary/merger.c:106: undefined reference to `_g_free' /cygdrive/g/compile/sary-1.2.0/sary/merger.c:107: undefined reference to `_g_free' /cygdrive/g/compile/sary-1.2.0/sary/merger.c:108: undefined reference to `_g_free' /cygdrive/g/compile/sary-1.2.0/sary/merger.c:109: undefined reference to `_g_free' /usr/local/lib/libsary.a(merger.o): In function `sary_merger_merge': /cygdrive/g/compile/sary-1.2.0/sary/merger.c:149: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(merger.o): In function `sary_merger_add_block': /cygdrive/g/compile/sary-1.2.0/sary/merger.c:118: undefined reference to `_g_assert_warning' /usr/local/lib/libsary.a(merger.o): In function `sary_merger_destroy': /cygdrive/g/compile/sary-1.2.0/sary/merger.c:110: undefined reference to `_g_free' collect2: ld returned 1 exit status make: *** [sary.so] Error 1</p> <ul> <li>According to <a href="hoka/vebu/cygwin-de-uim.html">this webpage</a> originally found at <a href="http://www.d1.dion.ne.jp/~irino/windows/cygwin-uim2.htm">http://www.d1.dion.ne.jp/~irino/windows/cygwin-uim2.htm</a> make the following change to <strong>Makefile</strong>:

Change the line reading: &lt;codeLIBS = $(LIBRUBYARG_SHARED) -lsary -ldl -lcrypt&lt;/code&gt;</p>

to

&lt;codeLIBS = $(LIBRUBYARG_SHARED) -lsary -ldl -lcrypt -lglib-2.0 -lintl -liconv&lt;/code&gt;</li> <li>Now you can compile: <table bgcolor="#000000" border="1"><tr><td border="0"><font color="#FFFF00"><b>$ make</b></td></tr></table></li> <li>And install: <table bgcolor="#000000" border="1"><tr><td border="0"><font color="#FFFF00"><b>$ make install</b></td></tr></table></li> </ul> <!— Page published by Emacs Muse ends here —> </div> <i>To send me feedback about this page, use the below email.</i><br /> <b>&copy; sumoudou.org 2010</b><br /> <img style="border:0" alt="sumoudou.org" src="email.gif" width="129" height="10" /><br /> <a href="http://www.gnu.org/" style="text-decoration: none;"><img style="border:0" alt="GNU" src="powered-by-gnu.png" />]] <a href="http://www.gnu.org/software/emacs/emacs.html" style="text-decoration: none;"><img style="border:0" alt="GNU Emacs" src="made-with-emacs.png" />]] <a href="http://hcoop.net/" style="text-decoration: none;"><img style="border:0" alt="HCoop" src="hcoop-proud-member.png" />]] <a href="http://hcoop.net/" style="text-decoration: none;"><img style="border:0" alt="HCoop" src="hosted-by-hcoop.png" />]] <a href="http://mwolson.org/projects/EmacsMuse.html" style="text-decoration: none;"><img style="border:0" alt="Emacs Muse" src="made-with-muse.png" />]] <a href="http://mwolson.org/projects/EmacsMuse.html" style="text-decoration: none;"><img style="border:0" alt="Emacs Muse" src="powered-by-muse.png" />]] <br /> <a href="http://www.fsf.org/resources/formats/playogg" style="text-decoration: none;"><img style="border:0" alt="Ogg" src="play-ogg.png" />]] <a href="http://www.catb.org/hacker-emblem/" style="text-decoration: none;"><img style="border:0" alt="Glider" src="glider.png" />]] <a href="http://ubuntu.com/" style="text-decoration: none;"><img style="border:0" alt="Ubuntu" src="ubuntu.png" />]] <a href="http://validator.w3.org/check?uri=referer" style="text-decoration: none;"><img style="border:0" alt="Valid XHTML 1.0 Strict!" src="valid-xhtml10-blue.png" />]] <a href="http://jigsaw.w3.org/css-validator/check/referer" style="text-decoration: none;"><img style="border:0" alt="Valid CSS!" src="valid-css-blue.png" />]] <br />Last updated November 6, 2009

</div> <br />. </body> </html>

.