2013/02/10

vmware-player-5.0.1.894247が落ちる件について(curl)


ある日(今日だが)、突然vmware-playerが立ち上がらなくなっていた。vmware-player自体のversionを変更した覚えはない。
vmplayerのウィンドウが出ずに、zsh: abortとなって落ちる。segfaultっぽい。
おそらく日々のemergeでなんらかのパッケージが入れ替わったことによるのだろう。
しかしばらくvmwareを起動してなかったので原因パッケージは不明だった。
/tmp/vmware-metro/以下のログファイルを見ても、セグフォっている原因はいまいち不明だった。
gdbでトレースすることにした。

$ gdb vmplayer

(gdb) r
Starting program: /opt/vmware/bin/vmplayer
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe1112700 (LWP 7096)]

Program received signal SIGSEGV, Segmentation fault.
0x00007fffe8c1d997 in curl_multi_cleanup () from /usr/lib64/libcurl.so.4

どうやらcurlで落ちてる?ということでcurlのversionを1個前にもどした。
emerge -1 "=net-misc/curl-7.28.1"
vmplayerは無事立ち上がる。
curlをふたたび7.29.0に戻したところやはり落ちる。
どうやら、自分の環境ではnet-misc/curl-7.29.0との相性(笑)がよくないよう。
特にこれ以上の原因追求をする気にはなれず終了とした。
やっぱ困った時はgdbか。
やっぱ琴浦さん面白いわ。

2012/11/23

gentoo mediatomb-0.12.1-r4.ebuild compile error


uPnP serverのmediatombを最近使い始めたが、mediatomb-0.12.1-r4.ebuildでコンパイルできなくなった。
bugzillaを見るとこれに相当するか。https://bugs.gentoo.org/show_bug.cgi?id=442602
error: ‘CFG_SERVER_EXTOPTS_FFMPEGTHUMBNAILER_CACHE_DIR’ was not declared in this scope
で止まる。
config_mangager.hでは次のように。

typedef enum
{
// 途中略
#if defined(HAVE_FFMPEG) && defined(HAVE_FFMPEGTHUMBNAILER)
    CFG_SERVER_EXTOPTS_FFMPEGTHUMBNAILER_ENABLED,
    CFG_SERVER_EXTOPTS_FFMPEGTHUMBNAILER_THUMBSIZE,
    CFG_SERVER_EXTOPTS_FFMPEGTHUMBNAILER_SEEK_PERCENTAGE,
    CFG_SERVER_EXTOPTS_FFMPEGTHUMBNAILER_FILMSTRIP_OVERLAY,
    CFG_SERVER_EXTOPTS_FFMPEGTHUMBNAILER_WORKAROUND_BUGS,
    CFG_SERVER_EXTOPTS_FFMPEGTHUMBNAILER_IMAGE_QUALITY,
    CFG_SERVER_EXTOPTS_FFMPEGTHUMBNAILER_CACHE_DIR_ENABLED,
    CFG_SERVER_EXTOPTS_FFMPEGTHUMBNAILER_CACHE_DIR,
#endif
// 略
} config_option_t;

HAVE_FFMPEGTHUMBNAILERがないとCFG_SERVER_EXTOPTS_FFMPEGTHUMBNAILER_CACHE_DIRが宣言されずエラーになる模様。
最も簡単な解決法はUSE="thumbnail"とする事っぽかった。
ffmpegthumbnailerがインストールされ、無事mediatombとともにコンパイル終了。

GIRLS & PANZERすげえ面白いわ!!

2012/11/04

Gentooの/etc/make.conf

久しぶりにGentooの/etc/make.confの整理をした。
globalにおいとかなくてもいいUSE flagを削除しすっきりさせる方向で整理。例えば"python", "gnutls" use flagとかも現時点で必要がないので消した。

ACCEPT_KEYWORDS="~amd64"
CFLAGS="-O2 -march=core2 -mtune=core2 -pipe "

CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j8"
USE="X gnome gtk3 alsa pulseaudio cups crypt dbus dvd \
     ipv6 threads \
     mp3 ogg flac wma mad aac a52 vorbis cdda x264 xvid mpeg ffmpeg \
     jpeg png gif svg tiff pdf truetype \
     cjk unicode cairo \
     opengl nvidia xv ncurses xinerama \
     mmx mmxext sse sse2 sse3 ssse3 \
     -qt3support -qt -qt4 -kde -oss -arts -esd -canna"

INPUT_DEVICES="evdev joystick wacom"
VIDEO_CARDS="nvidia"
FEATURES="splitdebug"
SYNC="rsync://rsync.gentoo.org/gentoo-portage/"
ACCEPT_LICENSE="*"
PORTDIR_OVERLAY="/usr/local/portage \
/var/lib/layman/vmware"
PORTAGE_ECLASS_WARNING_ENABLE="0"
source /var/lib/layman/make.conf

今のところこんな感じ。もっとすっきりさせていきたい。

2012/10/21

sambaのパスワード


samba 3.xのpasswordの格納場所としてsmbpasswdファイルは推奨されないようだ。
確かにgentooにportageからsambaをインストールした時もシステムにsmbpasswdファイルは存在しなかった。
testparm -v | grep passで/var/lib/samba/private/smbpasswdとは出てくるがw。
実態はpassdb backend = tdbsamとなっており、ユーザ情報の格納にはtdbファイルが使用されている。
TDB(Trivial Database)というユーザ管理データベースだそうだ。
自分の環境では/var/lib/samba/private/passdb.tdbだった。
tdbファイルはバイナリファイルだが、tdbファイルの内容をdumpするtdbdumpというコマンドがあるため、中をのぞくことができる。
$ tdbdump /var/lib/samba/private/passdb.tdb
でOK。

2012/10/15

samba備忘録

今更だが、自宅でsambaを利用することにした。メインのデスクトップPCのファイルに他の端末からもアクセスできれば便利だ。
sambaの設定は/etc/samba/のsmb.confというファイルに記述して行う。
全体的な設定は[global]というところに書き、共有する部位ごとに[share]などとエントリを作っていく形式らしい。
設定項目についてまとめてみる。

[global]
workgroup = WORKGROUP # 通常はWORKGOURP?windowsの設定にもよるか
server string = Samba Server # コメントらしい
netbios name = Gentoo # NetBIOSでの名前。大文字になるようだ
browseable = Yes # 外からみえるようにするか、らしい。
os level = 35 # 各workgroupにはmaster browserある。そのなりやすさのpriority
preferred master = Yes # local master browserになろうとする

# security
security = user # ユーザ認証にする。
encrypt passwords = true
hosts allow = 192.168.0. 127. # アクセスできるホストを制御
invalid users = root # rootにはさせない
map to guest = Never # ゲストユーザは許さない方針。
guest ok = No

#
load printers = no # プリンタはなし。
log file = /var/log/samba/log.%m
max log size = 100 # (kb)

# codings
unix charset = UTF-8 # 日本語可にするにはこうしろ、とのこと。
display charset = UTF-8
dos charset = CP932

#
# Directories
#
[share]
comment = My Sharing Stuff
path = /path/to/dir
read only = No
create mode = 0777
directory mode = 0777
valid users = myname # 許可するユーザを設定。

設定を見たい場合はtestparmコマンドを使う。
詳細を見たい場合はtestparm -vでOK。
nfsとかにしようかとも迷ったが、CIFSならLinux、Windows両方からアクセスしやすいので、sambaにした。
使い始める時、sambaのユーザを追加する必要があるが、
# pdbedit -a -u myname でOK。-aはadd、-uはユーザ名。この後passwdを設定して終了。
削除するときは
# pdbedit -x -u myname でよい。
samba快適だわ。





2012/01/01

mozc.el導入

今年初投稿!

ibus-mozcを使ってるが、emacs上でibusがどうもうまく動かない。
なんか特別な設定がいるのか?前uimを使ってたときはuimは動いてたけど。

どうしてもわからないので放置していたが、このたびemacs上でも日本語を使いたいと思って
mozc.elを導入することにした。
gentooの場合は、ibus-mozcというパッケージにemacsフラグがあるので、
# USE=emacs emerge ibus-mozc
としてmozc.elをインストール。

次にmozc.elに説明があるように.emacsとかに

(require 'mozc)
(set-language-environment "Japanese")
(setq default-input-method "japanese-mozc")

と書いておく。こうするとtoggle-input-methodで切り替えができるようになる。
Shift+spaceで切り替えをしてほしいので、

(global-set-key [?\S-\ ] 'toggle-input-method) ;; shift + space

とも書いておく。

これで導入終了。やっぱりディストリビューションのサポートがあるといいわー。

2011/12/31

Linux(Gentoo)でWacom Intuos 4を使う。

自分の環境は、OSはGentoo Linux、1920x1200のモニタのデュアルディスプレイ(nVidiaのTwinView使用)
画像を作るときはGIMPかmypaintで作ってる。
このたび、Intuos 4を購入した。

まずカーネルのCONFIG_TABLET_USB_WACOM=yにする。
Device Drivers -> Input device support -> Generic input layer -> tabletsにある。
Say Y here if you want to use the USB version of the Wacom Intuos or Graphire tablet.とあるので
これでいいのだろう。USBとかEvent interfaceとかにもチェックしておく必要があるらしい。

次にX用のwacomのドライバをインストール
# emerge xf86-input-wacom
でインストールできる。楽チン。で、マシンを再起動する(カーネルも変えてるし。)
ワコム用のツールもダウンロードしておくといい。
# emerge xsetwacom
# emerge xinput

こうすればもう使えるようになってる。
だが、スクリーンが3840x1200扱いなのでIntuosの横がモニタ2枚ぶんにマッピングされてて
少々使いづらい。
お絵かきは左のきれいなモニターでやれればいいや、という事でIntuosの横幅を左のモニタにマッピングする
方法を探したら、xinputでできるらしい。

# emerge xinput

まず、
$ xinput list とすると現在つながってる入力デバイスの一覧が。Wacom Intuos4もちゃんと出てる。
Wacom Intuos4 6x9 stylus                  id=11   [slave  pointer  (2)]
Wacom Intuos4 6x9 eraser                  id=12   [slave  pointer  (2)]
Wacom Intuos4 6x9 cursor                  id=13   [slave  pointer  (2)]
Wacom Intuos4 6x9 pad                     id=14   [slave  pointer  (2)]

これをマッピングしたい。
http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Dual_and_Multi-Monitor_Set_Up
このリンクを参考にし、wacom-settings.shというファイルを作成。
#!/bin/sh

xinput set-prop "Wacom Intuos4 6x9 stylus" --type=float "Coordinate Transformation Matrix" 0.5 0 0 0 1 0 0 0 1
xinput set-prop "Wacom Intuos4 6x9 cursor" --type=float "Coordinate Transformation Matrix" 0.5 0 0 0 1 0 0 0 1
xinput set-prop "Wacom Intuos4 6x9 pad"    --type=float "Coordinate Transformation Matrix" 0.5 0 0 0 1 0 0 0 1
xinput set-prop "Wacom Intuos4 6x9 eraser" --type=float "Coordinate Transformation Matrix" 0.5 0 0 0 1 0 0 0 1

これを実行すればタブレットと1枚目のモニタが対応していい感じになった。
あとは絵の書き方を学ぶだけかな。。。。