HOME / 日記 / OpenSolaris 2009.06から2010.03previewへのアップデートメモ
Date: 2010/02/17 | | Tags: OpenSolaris, HowTo, dev, 2009.06, 2010.03
メモなのでこのエントリはしばしば更新されていきます。
自分の環境ではまった物だけメモしてあります。
見て置いた方がいいもの
はまりポイント
こんな感じでつくっておく。
cat >>/usr/bin/firefox <EOL #!/bin/sh env LD_BIND_NOW=1 /opt/sfw/bin/firefox $* EOL chmod +x /usr/bin/firefox
keycode 117 = Insert keycode 106 = Multi_key remove Lock = Caps_Lock keycode 66 = Control_L add Control = Control_L !!keysym Caps_Lock = Control_L
VirtualBoxが起動しない。下記の様にtrussで追っかけても、/usr/sfw/lib以下にあるはずのlibstdc++.so.6が見つからない。
% truss -fa -t open,chroot /opt/VirtualBox/amd64/VirtualBox truss: cannot trace set-id or unreadable object file: /opt/VirtualBox/amd64/VirtualBox kohju@hadriel(10171)% truss -fa -t open,chroot /opt/VirtualBox/VirtualBox 19904: execve("/opt/VirtualBox/VirtualBox", 0x08047840, 0x08047848) argc = 1 19904: argv: /opt/VirtualBox/VirtualBox 19904: open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT 19904: open("/usr/lib/librt.so.1", O_RDONLY) = 3 19904: open("/usr/lib/libsocket.so.1", O_RDONLY) = 3 19904: open("/usr/sfw/lib/libstdc++.so.6", O_RDONLY) = 3 19904: open("/usr/lib/libm.so.2", O_RDONLY) = 3 19904: open("/usr/sfw/lib/libgcc_s.so.1", O_RDONLY) = 3 19904: open("/usr/lib/libc.so.1", O_RDONLY) = 3 19904: open("/usr/lib/libnsl.so.1", O_RDONLY) = 3 19904: open("/proc/self/auxv", O_RDONLY) = 3 19904: execve("/opt/VirtualBox/amd64/VirtualBox", 0x08047840, 0x08047848) 19904: *** cannot trace across exec() of /opt/VirtualBox/amd64/VirtualBox *** ld.so.1: VirtualBox: fatal: libstdc++.so.6: open failed: No such file or directory
AMD64用として追っかけても見つからない。
% pfexec truss -fa -t open,chroot /opt/VirtualBox/amd64/VirtualBox 19878: execve("/opt/VirtualBox/amd64/VirtualBox", 0xFFFFFD7FFFDFF738, 0xFFFFFD7FFFDFF748) argc = 1 19878: argv: /opt/VirtualBox/amd64/VirtualBox 19878: open("/var/ld/64/ld.config", O_RDONLY) Err#2 ENOENT 19878: open("/lib/64/librt.so.1", O_RDONLY) = 3 19878: open("/lib/64/libsocket.so.1", O_RDONLY) = 3 19878: open("/usr/lib/locale/C/opt/VirtualBox/VirtualBox/LC_MESSAGES/SUNW_OST_SGS.mo", O_RDONLY) Err#2 ENOENT 19878: open("/usr/lib/locale/C/opt/VirtualBox/VirtualBox/LC_MESSAGES/SUNW_OST_OSLIB.mo", O_RDONLY) Err#2 ENOENT ld.so.1: VirtualBox: fatal: libstdc++.so.6: open failed: No such file or directory
どういうわけか、SUNWgccruntimeだけではダメで、/usr/lib以下にインストールされる、libstdc++.so.6.0.10ではうまくいく。
pfexec pkg install -v pkg:/developer/gcc/gcc-runtime-432
なぜか(笑
pfexec pkg fix SUNWfreetype2
で治る。
これはlibstdc++.so.6などを、sfw/lib/64で参照しているため。
cd /usr/sfw/lib && ln -s amd64 64
でも治ると思うが・・・。
111から132へのアップデート時に誰かが消すのだと思われる。SUNWfreetype2をfixして治るのは、たまたまfreetype2にだけ64へのシンボリックリンクがパッケージ化しているから。
本来、これらはamd64以下のsoを含む全てが64へのシンボリックリンクを張ることが望ましいですね。