# FreeBSD $B$G(B ruby-mecab $B$N%i%$%V%i%j;2\>H$NIT6q9g(B

**URL:** <https://www.ruby-forum.com/t/freebsd-b-g-b-ruby-mecab-b-n-i-v-i-j-2-h-nit6q9g-b/171535>\
**Category:** Development\
**Created:** [July 4, 2009, 8:30am UTC](https://www.ruby-forum.com/t/freebsd-b-g-b-ruby-mecab-b-n-i-v-i-j-2-h-nit6q9g-b/171535 "2009-07-04T08:30:50Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![KISHIMOTOS\_Makoto](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/8baadc/32.png) [@KISHIMOTOS\_Makoto](https://www.ruby-forum.com/u/KISHIMOTOS_Makoto)\
**Post date:** [July 4, 2009, 8:30am UTC](https://www.ruby-forum.com/t/freebsd-b-g-b-ruby-mecab-b-n-i-v-i-j-2-h-nit6q9g-b/171535/1 "2009-07-04T08:30:50Z")

</div>

e$B$-$7$b$H$G$9e(B

FreeBSD7.2 (RELENG\_7) e$B$G!"e(BCVS e$B$+$i\<h$C$F$-$?e(B ports  
e$B$r;H$C$F$$$^$9!#e(B  
Ruby e$B$N%P!\<%8%g%s$Oe(B  
$ ruby --version  
ruby 1.8.7 (2009-04-08 patchlevel 160) [amd64-freebsd7]  
e$B$H$J$C$F$$$^$9!#e(B

ruby-mecab e$B$N%S%k%I$G!"e(B

[/usr/ports/japanese/ruby-mecab]$ make configure  
===\> ja-ruby18-mecab-0.97 depends on file: /usr/local/bin/ruby18 -  
found  
===\> ja-ruby18-mecab-0.97 depends on shared library: mecab.1 - found  
===\> Configuring for ja-ruby18-mecab-0.97  
===\> Running extconf.rb to configure  
checking for main() in -lmecab… no  
checking for main() in -lstdc++… yes  
checking for mecab.h… yes  
creating Makefile

e$B$H!“e(BMeCab  
e$B$N%7%’%”!\<%I%i%$%V%i%j$OF~$C$F$$$k$N$G$9$,!"e(Bextconf.rb  
e$B$+$i$Oe(B  
e$B8+$($F$_$i$:!"%S%k%I$O@.8y$9$k$N$G$9$,!"e(Bmecab  
e$B$r;H$_$&$H$9$k$H!"e(B

$ ruby test.rb  
0.97  
/libexec/ld-elf.so.1:  
/usr/local/lib/ruby/site\_ruby/1.8/amd64-freebsd7/MeCab.so: Undefined  
symbol “\_ZN5MeCab12createTaggerEPKc”

e$B$N$h$&$K!"%@%$%J%_%C%/%j%s%/$K\<:GT$7$^$9!#e(BLD\_LIBRARY\_PATH=/usr/local/lib  
e$B$re(B  
e$BIU$1$F$_$^$7$?$,JQ2=$"$j$^$;$s$G$7$?!#e(B

e$BB\>$N3HD%%b%8%e!\<%k$G$b5/$-$k$N$+$I$&$+$o$+$j$^$;$s$,!"3NG’$7$?$H$3$m$NJs9p$^$G!#e(B

---

<div class="post-metadata">

**Author:** ![KISHIMOTOS\_Makoto](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/8baadc/32.png) [@KISHIMOTOS\_Makoto](https://www.ruby-forum.com/u/KISHIMOTOS_Makoto)\
**Post date:** [July 4, 2009, 11:45am UTC](https://www.ruby-forum.com/t/freebsd-b-g-b-ruby-mecab-b-n-i-v-i-j-2-h-nit6q9g-b/171535/2 "2009-07-04T11:45:24Z")

</div>

e$B?\F#$G$9!#e(B

In [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
“[ruby-dev:38731] FreeBSD e$B$Ge(B ruby-mecab  
e$B$N%i%$%V%i%j;2\>H$NIT6q9ge(B” on Sat, 4 Jul 2009 15:30:04 +0900,  
“KISHIMOTO, Makoto” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> FreeBSD7.2 (RELENG\_7) e$B$G!"e(BCVS e$B$+$i\<h$C$F$-$?e(B ports e$B$r;H$C$F$$$^$9!#e(B  
> Ruby e$B$N%P!\<%8%g%s$Oe(B  
> $ ruby --version  
> ruby 1.8.7 (2009-04-08 patchlevel 160) [amd64-freebsd7]  
> e$B$H$J$C$F$$$^$9!#e(B

i386e$B$G$9$,!"\<j85$G$OF0$$$F$$$k$h$&$K8+$($^$9!#e(B  
e$B!Je(Btest.rbe$B$NCf?H$,$o$+$i$J$$$N$G;n$7$+$?$,0c$&$H;W$$$^$9$,!#!Ke(B

% ruby -v  
ruby 1.8.7 (2009-04-08 patchlevel 160) [i386-freebsd7]

> $ ruby test.rb  
> 0.97  
> /libexec/ld-elf.so.1: /usr/local/lib/ruby/site\_ruby/1.8/amd64-freebsd7/MeCab.so: Undefined symbol “\_ZN5MeCab12createTaggerEPKc”
> 
> e$B$N$h$&$K!“%@%$%J%_%C%/%j%s%/$K\<:GT$7$^$9!#e(BLD\_LIBRARY\_PATH=/usr/local/lib e$B$re(B  
> e$BIU$1$F$_$^$7$?$,JQ2=$”$j$^$;$s$G$7$?!#e(B

e$B$3$N7k2L$O$I$&$J$j$^$9$+!)e(B

% strings /usr/local/lib/ruby/site\_ruby/1.8/amd64-freebsd7/MeCab.so |  
grep \_ZN5MeCab  
% strings /usr/local/lib/libmecab.so.1 | grep \_ZN5MeCab12  
% mecab-config --version

---

<div class="post-metadata">

**Author:** ![KISHIMOTOS\_Makoto](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/8baadc/32.png) [@KISHIMOTOS\_Makoto](https://www.ruby-forum.com/u/KISHIMOTOS_Makoto)\
**Post date:** [July 4, 2009, 1:27pm UTC](https://www.ruby-forum.com/t/freebsd-b-g-b-ruby-mecab-b-n-i-v-i-j-2-h-nit6q9g-b/171535/3 "2009-07-04T13:27:38Z")

</div>

test.rb e$B$Oe(B ruby-mecab e$B$NG[I[J\*$NCf$Ne(B test.rb e$B$G$9e(B

> e$B$3$N7k2L$O$I$&$J$j$^$9$+!)e(B
> 
> % strings /usr/local/lib/ruby/site\_ruby/1.8/amd64-freebsd7/MeCab.so | grep \_ZN5MeCab  
> % strings /usr/local/lib/libmecab.so.1 | grep \_ZN5MeCab12  
> % mecab-config --version

$ strings /usr/local/lib/ruby/site\_ruby/1.8/amd64-freebsd7/MeCab.so |  
grep \_ZN5MeCab  
\_ZN5MeCab6Tagger6createEiPPc  
\_ZN5MeCab6Tagger6createEPKc  
\_ZN5MeCab12createTaggerEPKc  
\_ZN5MeCab14getTaggerErrorEv  
\_ZN5MeCab6Tagger7versionEv

$ strings /usr/local/lib/libmecab.so.1 | grep \_ZN5MeCab12  
\_ZN5MeCab12progress\_barEPKcmm  
\_ZN5MeCab12CharPropertyD0Ev  
\_ZN5MeCab12CharProperty5closeEv  
\_ZN5MeCab12CharPropertyD1Ev  
\_ZN5MeCab12FeatureIndexD0Ev  
\_ZN5MeCab12StringBufferD1Ev  
\_ZN5MeCab12FeatureIndexD1Ev  
\_ZN5MeCab12FeatureIndexD2Ev  
\_ZN5MeCab12FeatureIndex19buildUnigramFeatureEP20mecab\_learner\_path\_tPKc  
\_ZN5MeCab12FeatureIndex8calcCostEP20mecab\_learner\_node\_t  
_ZN5MeCab12FeatureIndex18buildBigramFeatureEP20mecab\_learner\_path\_tPKcS4_  
\_ZN5MeCab12FeatureIndex8calcCostEP20mecab\_learner\_path\_t  
\_ZN5MeCab12CharProperty4openERKNS\_5ParamE  
\_ZN5MeCab12CharProperty11set\_charsetEPKc  
_ZN5MeCab12CharProperty7compileEPKcS2\_S2_  
\_ZN5MeCab12StringBuffer5writeEPKcm  
\_ZN5MeCab12StringBuffer5writeEc  
\_ZN5MeCab12StringBuffer5writeEPKc  
\_ZN5MeCab12StringBufferD0Ev  
\_ZN5MeCab12StringBufferD2Ev  
\_ZN5MeCab12StringBuffer7reserveEm  
\_ZN5MeCab12scoped\_arrayIN5Darts15DoubleArrayImplIchijNS1\_6LengthIcEEE16result\_pair\_typeEED0Ev  
\_ZN5MeCab12scoped\_arrayIN5Darts15DoubleArrayImplIchijNS1\_6LengthIcEEE16result\_pair\_typeEED1Ev  
\_ZN5MeCab12scoped\_arrayIcED0Ev  
\_ZN5MeCab12scoped\_arrayIcED1Ev  
\_ZN5MeCab12CharProperty4openEPKc  
\_ZN5MeCab12createTaggerEPKc  
\_ZN5MeCab12createTaggerEiPPc  
\_ZN5MeCab12FeatureIndex9set\_alphaEPKd  
\_ZN5MeCab12FeatureIndex6strdupEPKc  
\_ZN5MeCab12FeatureIndex8getIndexEPPcS2\_m  
\_ZN5MeCab12FeatureIndex12openTemplateERKNS\_5ParamE

$ mecab-config --version  
0.97

---

<div class="post-metadata">

**Author:** ![KISHIMOTOS\_Makoto](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/8baadc/32.png) [@KISHIMOTOS\_Makoto](https://www.ruby-forum.com/u/KISHIMOTOS_Makoto)\
**Post date:** [July 4, 2009, 10:44pm UTC](https://www.ruby-forum.com/t/freebsd-b-g-b-ruby-mecab-b-n-i-v-i-j-2-h-nit6q9g-b/171535/4 "2009-07-04T22:44:52Z")

</div>

e$B$;$$$1$G$9!#e(B

# e$B4D6-$b0c$$$^$9$7!“$H$j$”$($:\>pJs$@$1$NDs6!$G$9!#e(B

FreeBSD i386e$B$G:#F|e(BMeCabe$B4X78$O%$%s%9!\<%k$7$?$N$G$9$,!"e(B  
e$BF0$$$F$$$k$h$&$G$9!#e(Bamd64e$B$NLdBj$G$7$g$&$+!)e(B

e$B%$%s%9%H!\<%k$7$?e(Bportse$B$O0J2\<$G$9!#e(B  
ja-mecab-0.97  
ja-mecab-ipadic-2.7.0.20070801  
ja-ruby18-mecab-0.97

# uname -a

FreeBSD [rx.seike.org](http://rx.seike.org) 7.2-STABLE FreeBSD 7.2-STABLE #0: Sun Jul 5  
02:58:46 JST 2009\<e$B\>JN,e(B\>

# ruby -v

ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-freebsd7]

# nm /usr/local/lib/libmecab.so.1|grep \_ZN5MeCab12create

0004f020 T \_ZN5MeCab12createTaggerEPKc  
0004f390 T \_ZN5MeCab12createTaggerEiPPc

# nm /usr/local/lib/ruby/site\_ruby/1.8/i386-freebsd7/MeCab.so |grep

\_ZN5MeCab12create  
U \_ZN5MeCab12createTaggerEPKc

# ldd /usr/local/lib/ruby/site\_ruby/1.8/i386-freebsd7/MeCab.so

/usr/local/lib/ruby/site\_ruby/1.8/i386-freebsd7/MeCab.so:  
libruby18.so.18 =\> /usr/local/lib/libruby18.so.18 (0x28300000)  
libstdc++.so.6 =\> /usr/lib/libstdc++.so.6 (0x283db000)  
libmecab.so.1 =\> /usr/local/lib/libmecab.so.1 (0x284d0000)  
libcrypt.so.4 =\> /lib/libcrypt.so.4 (0x28199000)  
libm.so.5 =\> /lib/libm.so.5 (0x281b2000)  
libc.so.7 =\> /lib/libc.so.7 (0x28089000)  
libgcc\_s.so.1 =\> /lib/libgcc\_s.so.1 (0x281c7000)  
libthr.so.3 =\> /lib/libthr.so.3 (0x281d2000)  
libiconv.so.3 =\> /usr/local/lib/libiconv.so.3 (0x28613000)

# ldd /usr/local/lib/libmecab.so.1

/usr/local/lib/libmecab.so.1:  
libiconv.so.3 =\> /usr/local/lib/libiconv.so.3 (0x28443000)  
libstdc++.so.6 =\> /usr/lib/libstdc++.so.6 (0x28538000)  
libm.so.5 =\> /lib/libm.so.5 (0x2818c000)  
libc.so.7 =\> /lib/libc.so.7 (0x28089000)  
libgcc\_s.so.1 =\> /lib/libgcc\_s.so.1 (0x281a1000)

# ruby /usr/local/share/examples/ruby18/mecab/test.rb

0.97  
…  
filename: /usr/local/lib/mecab/dic/ipadic/sys.dic  
charset: euc-jp  
size: 392126  
type: 0  
lsize: 1316  
rsize: 1316  
version: 102

At Sat, 4 Jul 2009 20:26:51 +0900,

---

<div class="post-metadata">

**Author:** ![KISHIMOTOS\_Makoto](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/8baadc/32.png) [@KISHIMOTOS\_Makoto](https://www.ruby-forum.com/u/KISHIMOTOS_Makoto)\
**Post date:** [July 5, 2009, 12:59pm UTC](https://www.ruby-forum.com/t/freebsd-b-g-b-ruby-mecab-b-n-i-v-i-j-2-h-nit6q9g-b/171535/5 "2009-07-05T12:59:26Z")

</div>

e$B$-$7$b$H$G$9e(B

ports  
e$B$Ne(B6e$B7ne(B19e$BF|$NJQ990J9\_$G%@%a$K$J$C$F$$$k$3$H$,$o$+$j$^$7$?!#e(B

e$BDI$$$+$1$F$\_$?7k2L!"e(B

6e$B7ne(B19e$BF|$Ne(B ports/lang/ruby18/Makefile e$B$NJQ99"-$Ge(B  
[http://www.freebsd.org/cgi/cvsweb.cgi/ports/lang/ruby18/Makefile.diff?r1=1.142;r2=1.143;f=h](http://www.freebsd.org/cgi/cvsweb.cgi/ports/lang/ruby18/Makefile.diff?r1=1.142;r2=1.143;f=h)

LDFLAGS+= ${PTHREAD\_LIBS}

e$B$,:o$i$l$F$$$k$3$H!J:G?7HG$K$3$N9T$rDI2C$9$l$PF0$/!K$He(B

[http://www.freebsd.org/cgi/cvsweb.cgi/ports/lang/ruby18/files/patch-configure.in?annotate=1.1](http://www.freebsd.org/cgi/cvsweb.cgi/ports/lang/ruby18/files/patch-configure.in?annotate=1.1)

e$B$3$N%Q%C%A$K$h$j!"e(BMakefile e$BCf$Ge(B -lpthread e$B$,e(B LIBS  
e$B$G$O$J$/e(B MAINLIBS e$B$Ke(B  
e$B@\_Dj$5$l$k$h$&$K$J$C$F$$$k$3$H!J$=$&$J$i$J$$$h$&$K%Q%C%A$r=$@5$9$k$HF0$/!Ke(B

e$B0J\>e!J$N$I$A$i$+!&N\>J}!K$,860x$G$"$k$H3NG’$7$^$7$?!#e(B  
ruby e$B$NLdBj$H$$$&$h$j$O!"e(Bports e$B$NLdBj$G$9$N$G!"e(Bruby-dev  
e$B$X$NJs9p$O!"e(B  
e$BFC$K2?$+$J$1$l$P$3$l$G:G8e$K$7$?$$$H;W$$$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![KISHIMOTOS\_Makoto](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/8baadc/32.png) [@KISHIMOTOS\_Makoto](https://www.ruby-forum.com/u/KISHIMOTOS_Makoto)\
**Post date:** [July 5, 2009, 5:33am UTC](https://www.ruby-forum.com/t/freebsd-b-g-b-ruby-mecab-b-n-i-v-i-j-2-h-nit6q9g-b/171535/6 "2009-07-05T05:33:08Z")

</div>

e$B$-$7$b$H$G$9e(B

mkmf.log e$B$r8+$?$H$3$m!"$3$s$J46$8$G$7$?!#e(B

have\_library: checking for main() in -lmecab… -------------------- no

"cc -o conftest -I. -I/usr/local/lib/ruby/1.8/amd64-freebsd7 -I. -O2  
-fno-strict-aliasing -pipe -fPIC conftest.c -L. -L/usr/local/lib  
-Wl,-R/usr/local/lib -L. -rdynamic -lruby18-static -lmecab -lrt  
-lcrypt -lm -rpath=/usr/lib:/usr/local/lib "  
/usr/local/lib/libmecab.so: undefined reference to `pthread\_create’  
checked program was:  
/\* begin _/  
1: /top/  
2: int main() { return 0; }  
3: int t() { void ((volatile p)()); p = (void (()()))main; return 0; }  
/_ end \*/

"cc -o conftest -I. -I/usr/local/lib/ruby/1.8/amd64-freebsd7 -I. -O2  
-fno-strict-aliasing -pipe -fPIC conftest.c -L. -L/usr/local/lib  
-Wl,-R/usr/local/lib -L. -rdynamic -lruby18-static -lmecab -lrt  
-lcrypt -lm -rpath=/usr/lib:/usr/local/lib "  
/usr/local/lib/libmecab.so: undefined reference to `pthread\_create’  
checked program was:  
/\* begin _/  
1: /top/  
2: int main() { return 0; }  
3: int t() { main(); return 0; }  
/_ end \*/

libmecab e$B$Ne(B pthread\_create  
e$B$,2r7h$G$-$J$$$N$,860x$N$h$&$G$9!#e(B  
trunk e$B$+$iF~$l$F$"$k!“e(Bruby19  
e$B$G$O$&$^$/$$$/$N$G!”$=$l$H$\*$b$o$l$ke(B  
e$BAj0cE@$r$5$,$7$?$H$3$m!“e(B-lthr  
e$B$,%3%^%s%I%i%$%s$K$”$k$+$I$&$+$N:9$G$7$?!#e(B

extconf.rb e$B$Ke(B

$LIBS = '-lthr ’ + $LIBS

e$B$H$$$&9T$rDI2C$7$F$\_$?$H$3$m!"$&$^$/F0$/$h$&$K$J$j$^$7$?!#e(B  
e$B$J$\<;d$N4D6-$G$@$15/$-$F$$$k$N$+Ff$G$9$,e(B…
