setup.rb の設定を変更してみる

% pwd
/home/littlebuddha/local/lib/ruby/gem/gems/tmail-1.2.2
% ruby setup.rb config --prefix=$HOME/local
prefix               /home/littlebangkok/local
bindir               /home/littlebangkok/local/bin
libdir               /home/littlebangkok/local/lib
datadir              /home/littlebangkok/local/share
mandir               /home/littlebangkok/local/man
docdir               /home/littlebangkok/local/share/doc
sysconfdir           /home/littlebangkok/local/etc
localstatedir        /home/littlebangkok/local/var
libruby              /usr/local/lib/ruby
librubyver           /usr/local/lib/ruby/1.8
librubyverarch       /usr/local/lib/ruby/1.8/i386-freebsd6
siteruby             /usr/local/lib/ruby/site_ruby
siterubyver          /usr/local/lib/ruby/site_ruby/1.8
siterubyverarch      /usr/local/lib/ruby/site_ruby/1.8/i386-freebsd6
rbdir                /usr/local/lib/ruby/site_ruby/1.8
sodir                /usr/local/lib/ruby/site_ruby/1.8/i386-freebsd6
rubypath             /usr/local/bin/ruby18
rubyprog             /usr/local/bin/ruby18
makeprog             make
extconfopt           (none)
without_ext          no
without_doc          yes
shebang              ruby
doctemplate          html
testrunner           auto
installdirs          site
% ruby setup.rb setup
cc -I. -I/usr/local/lib/ruby/1.8/i386-freebsd6 -I/usr/local/lib/ruby/1.8/i386-freebsd6 -I/home/littlebuddha/local/lib/ruby/gem/gems/tmail-1.2.2/ext/tmailscanner/tmail  -fPIC -O2 -fno-strict-aliasing -pipe    -fPIC -D_FILE_OFFSET_BITS=64 -c tmailscanner.c
cc -shared -Wl,-soname,tmailscanner.so -L'/usr/local/lib' -Wl,-R'/usr/local/lib' -o tmailscanner.so tmailscanner.o  -Wl,-R -Wl,/usr/local/lib -L/usr/local/lib -L. -lruby18  -lcrypt -lm  -pthread  -lc
% gem install tmail
Building native extensions.  This could take a while...
ERROR:  While executing gem ... (Gem::Installer::ExtensionBuildError)
    ERROR: Failed to build gem native extension.

ruby extconf.rb install tmail
creating Makefile

make
cc -I. -I/usr/local/lib/ruby/1.8/i386-freebsd6 -I/usr/local/lib/ruby/1.8/i386-freebsd6 -I.  -fPIC -O2 -fno-strict-aliasing -pipe    -fPIC -D_FILE_OFFSET_BITS=64 -c tmailscanner.c
cc -shared -Wl,-soname,tmailscanner.so -L'/usr/local/lib' -Wl,-R'/usr/local/lib' -o tmailscanner.so tmailscanner.o  -Wl,-R -Wl,/usr/local/lib -L/usr/local/lib -L. -lruby18  -lcrypt -lm  -pthread  -lc

make install
/usr/bin/install -c -o root -g wheel -m 0755 tmailscanner.so /home/littlebuddha/local/lib/ruby/gem/gems/tmail-1.2.2/lib
install: /home/littlebuddha/local/lib/ruby/gem/gems/tmail-1.2.2/lib/tmailscanner.so: chown/chgrp: Operation not permitted
*** Error code 71

Stop in /home/littlebuddha/local/lib/ruby/gem/gems/tmail-1.2.2/ext/tmailscanner/tmail.


Gem files will remain installed in /home/littlebuddha/local/lib/ruby/gem/gems/tmail-1.2.2 for inspection.
Results logged to /home/littlebuddha/local/lib/ruby/gem/gems/tmail-1.2.2/ext/tmailscanner/tmail/gem_make.out
%

おそらく問題なのは、下記のエラーだと推測する。

make install
/usr/bin/install -c -o root -g wheel -m 0755 tmailscanner.so /home/littlebuddha/local/lib/ruby/gem/gems/tmail-1.2.2/lib
install: /home/littlebuddha/local/lib/ruby/gem/gems/tmail-1.2.2/lib/tmailscanner.so: chown/chgrp: Operation not permitted
*** Error code 71

しかし、Tmail の setup.rb には下記の記述がある。解決するには、root 権限が必要になるのだろうか?

# @all@ and @install@ may require root privileges.