hns - 日記自動生成システム - Version 2.19.9

先月 2004年10月 来月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2004年10月01日(金) 旧暦 [n年日記]

更新: "2004/10/02 00:23:04"

#1 [NetBSD]

userland 20040128
kernel   20040822 2.0G
な機械で:
db> trace
at panic+1b4
at remrunqueue+8c
at schedcpu+220
at softclock+238
at do_pending_int+128
at ext_intr+188
at setfault+80c
at ADBDevTable+3ec88c
at lcsplx+c
at cpu_switchto+40
at mi_switch+158
at sa_switch+178
at ltsleep+3fc
at biowait+54
at uvm_swap_io+200
at uvm_swap_get+4c
at uvmfault_anonget+3c8
at uvm_fault+4a0
at trap+398
at setfault+5a0
db> 

#2 [pkgsrc] devel/darts/ を作るところで

checking size of char... configure: error: cannot compute sizeof (char), 77
See `config.log' for more details.
*** Error code 1
config.log を見ると
configure:3477: ./conftest
/usr/lib/libgcc_s.so.1: Unsupported relocation type 10 in non-PLT relocations
こんな字が出ている。 とりあえず、libgcc_s* を作り直して見る
153  10:21   cd ./lib/libgcc3/libgcc_s
158  10:21   sudo rm obj/libgcc*
167  10:23   sudo env TOOLDIR=/export/20040925-1/checkout/src/tooldir.NetBSD-2.0G-powerpc make
これで *.so から libgcc* を作ってくれる。が、もう一つ前に行く必要あり ?
177  10:31   sudo rm obj/*.so
178  10:31   sudo make
179  10:31   sudo env TOOLDIR=/export/20040925-1/checkout/src/tooldir.NetBSD-2.0G-powerpc make
これで全ての obj/*.so を作り直す。例えば
# compile libgcc_s/unwind-dw2.so
/export/20040925-1/checkout/src/tooldir.NetBSD-2.0G-powerpc/bin/powerpc--netbsd-gcc -O2 -fno-strict-aliasing -Werror -I/export/20040925-1/checkout/src/gnu/lib/libgcc3/libgcc_s -I/export/20040925-1/checkout/src/gnu/usr.bin/gcc3/arch/powerpc -DIN_GCC -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I/export/20040925-1/checkout/src/gnu/dist/gcc/gcc -I/export/20040925-1/checkout/src/gnu/dist/gcc/gcc/. -I/export/20040925-1/checkout/src/gnu/dist/gcc/gcc/config -I/export/20040925-1/checkout/src/gnu/dist/gcc/gcc/../include -I/export/20040925-1/checkout/src/gnu/dist/gcc/gcc/config/rs6000 -I/export/20040925-1/checkout/src/gnu/dist/gcc/gcc/cp -I/export/20040925-1/checkout/src/gnu/lib/libstdc++-v3/arch/powerpc -I. -nostdinc -isystem /usr/include -c -fPIC -DPIC -fexceptions -o unwind-dw2.so /export/20040925-1/checkout/src/gnu/dist/gcc/gcc/unwind-dw2.c
*.c から いきなり *.so が作れる ?
作られているものと、入っているものに差がある ?
ttyp1:makoto@st4200  10:43:28/041001(...libgcc3/libgcc_s)> ls -l /usr/lib/libgcc_s* 
lrwxr-xr-x  1 root  wheel     15 Sep 29 20:22 /usr/lib/libgcc_s.so@ -> libgcc_s.so.1.0
lrwxr-xr-x  1 root  wheel     15 Sep 29 20:22 /usr/lib/libgcc_s.so.1@ -> libgcc_s.so.1.0
-r--r--r--  1 root  wheel  42988 Sep 29 20:08 /usr/lib/libgcc_s.so.1.0
ttyp1:makoto@st4200  10:43:55/041001(...libgcc3/libgcc_s)> ls -l obj/libgcc_s*
lrwxr-xr-x  1 root  wheel     15 Oct  1 10:31 obj/libgcc_s.so@ -> libgcc_s.so.1.0
lrwxr-xr-x  1 root  wheel     15 Oct  1 10:31 obj/libgcc_s.so.1@ -> libgcc_s.so.1.0
-rwxr-xr-x  1 root  wheel  42988 Oct  1 10:31 obj/libgcc_s.so.1.0*
-rw-r--r--  1 root  wheel  79194 Oct  1 10:31 obj/libgcc_s_pic.a
_pic.a って、.so を作る時に必要なだけか。

libgcc_s.so.1.0 を作るところ:

やはりこちらが問題か
# build libgcc_s/libgcc_s.so.1.0
rm -f libgcc_s.so.1.0
/export/20040925-1/checkout/src/tooldir.NetBSD-2.0G-powerpc/bin/powerpc--netbsd-gcc -Wl,-nostdlib -B/usr/lib/ -B/usr/lib/ -Wl,-rpath-link,/lib:/usr/lib -L/lib -Wl,-x
-shared
-Wl,-soname,libgcc_s.so.1 -nodefaultlibs
-Wl,--version-script=/export/20040925-1/checkout/src/gnu/lib/libgcc3/libgcc_s/obj/libgcc.map -o libgcc_s.so.1.0
-Wl,--whole-archive libgcc_s_pic.a -Wl,--no-whole-archive -L/usr/lib
ln -sf libgcc_s.so.1.0 libgcc_s.so.1.tmp
mv -f libgcc_s.so.1.tmp libgcc_s.so.1
ln -sf libgcc_s.so.1.0 libgcc_s.so.tmp
mv -f libgcc_s.so.tmp libgcc_s.so
9/26 日の覚え と比べると .. あるいは src/gnu/dist/gcc/gcc/config/t-slibgcc-sld と比べても微妙に違う ?
SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
        -Wl,-h,$(SHLIB_SONAME) -Wl,-z,text -Wl,-z,defs \
        -Wl,-M,$(SHLIB_MAP) -o $(SHLIB_NAME) \
        @multilib_flags@ $(SHLIB_OBJS) -lc && \
        rm -f $(SHLIB_SOLINK) && \
        $(LN_S) $(SHLIB_NAME) $(SHLIB_SOLINK)
src/gnu/lib/libgcc3/arch/powerpc.mk に注目 ?

入っている gcc が使えないなら:

  • /usr/local/bin に gcc-3.3.4 を入れる
  • /etc/mk.conf に CC=/usr/local/bin/gcc としておく
  • そのままだと、何故か gcc-2.8.0 以上が必要と言って pkgsrc から入れようとするので /etc/mk.conf に
    USE_NATIVE_GCC=YES
    
    と書いておく。これで問題は避けて通ることが出来る。

mail/smtpfeed:

まだおこっている
===> Building for smtpfeed-1.18
gcc -DINET6 -O2  -c address.c
In file included from common.h:70,
                 from address.c:41:
/usr/include/signal.h:68: error: parse error before "int"
In file included from address.c:42:
extern.h:75: warning: conflicting types for built-in function `log'
*** Error code 1
gcc は以前に作ったものなので、作り直し。 と思ったら、同じことを言われて作れない。
65 #if (_POSIX_C_SOURCE - 0L) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \
66     defined(_NETBSD_SOURCE)
67 int     pthread_sigmask __P((int, const sigset_t *, sigset_t *));
68 int     pthread_kill __P((pthread_t, int));
69 #endif

#3 [URL] FPGA で PC8001 を作る

中山さん のところから。本当にすごい。

#4 Wanderlust BTS

これも中山さんのところから。
  • kill-buffer がときどきおかしくなる (しっぽは全くつかんでいません)。
  • M-w が kill-ring-save でなく他の機能に割当てられている
なんて bug と言えるのかな。

#5 [Unix] パスを通すってどういうことでしょうか

最近、パスを通すってどういうことでしょうか で検索したら、この日記しか見つからなかったのに、 そこから接続している先が 404 になってしまっていた。 そこで web.archive につないでおくことにする。
  • パス(PATH)というのは経路です。道です。途(みち)です。
  • 何の道かというと、Unix のファイルにたどりつける道です。
これが大前提。
  • 次に何か操作(作業)をしたいとします。
  • 例えば list directory で ls を知ってい たとします。ls は /bin/ls にあることを知っていたとします。 その時には、
    % /bin/ls
    と入力すると目的が達せます。
  • 次に ssh したいとします。これは /usr/bin/ssh にあることを知っていたとします。 すると、
    % /usr/bin/ssh hostname
    とすると ssh を起動するという目的は達せられます。
そんなのやってられないよね。 一つ一つ覚えておくなんて。 で、 ls とか ssh とか入力したら、適当に探して欲しい。 探すところを設定しておこう。 例えば、
/bin と /usr/bin の中で探してよ
とか設定したい。 という時には次のようにすればいい。
% set path = ( /bin /usr/bin )
$ export PATH=/bin:/usr/bin
でもこの通りに入力すると、 その次に使えるものが減ってしまうかも知れないので、新たに窓を作って試すこと。 いま設定されているものを見るには、次のようにします。 csh/tcsh の時
% echo $path
sh/bash の時
# echo $PATH
つまり path や PATH という名前のシェル変数に、探す先のディレクトリ を設定しておけばいい。その中に、/usr/local/bin があると、 「/usr/local/bin にパスが通っている」 という言い方をする。

つまり、最初に書いたパスの意味とは少し違って、 「操作の名前を探すみち」= 「コマンドを探すディレクトリ一覧」 に、自分の必要なものが入れるという 意味で 「パスを通す」と言うのです。




最近の日記
2024年03月10日
停電 (瞬電)
2024年03月03日
the second try on bare-metal
useradd
2024年02月29日
opendkim and senmail
2024年01月24日
chat/iam 0.0.8
2024年01月21日
uselocale vs setlocale (textproc/R-readxl)
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)