[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:03899] Re: [Q] lpr from Netscape
みやけ@富山大学です。
色々試行錯誤した結果、うまく行ったようなので、後の方で御報告します。
<199801201440.XAA29937@xxxxxxxxxxx>の記事において
kazuho@xxxxxxxxxxxさんは書きました。
+>// "[debian-users:03842] Re: [Q] lpr from Netscape" において、
+>// Atsuhito Kohda <kohda@xxxxxxxxxxxxxxxxxxxx> さんは書きました。
+>
+>> hamm で同じようになりました。~/.xsession-errors に
+>>
+>> sh: error in loading shared libraries
+>> /usr/lib/netscape/INSTALL/liblocale.so: undefined symbol: _Xsetlocale
+>>
+>> とか書かれていませんか。これだったら
+>
+>確にプリントの時にもエラーメッセージが残っていました.これも
+>libc の locale の実装がらみですかねぇ.残念.
この場合は、netscape-jaの v404-1.1の liblocale.soを使用した場合で、
/usr/lib/netscape/libc.so.5.2.18が存在しなかった場合こうなりました。
これは、liblocaleのXsetlocaleという関数が、Xlibにはないせいで、
localeの処理はglibc6にまかせて、Xの方では、感知しないというポリシーに
則って、削られたのが原因だと聞きました。
+>でもうちのマシンのはエラーメッセージがちょっと違って以下のよう
+>なものです.
+>
+>[~]$ sh: error in loading shared libraries
+>/usr/lib/netscape/INSTALL/liblocale.so:/usr/lib/netscape/libc.so.5.2.18:
+>cannot open shared object file: No such file or directory
+>
+>ファイルがないと言われているんですけど,実際にはちゃんとありま
+>す.これもまた不可解と言えば不可解…
これは、/usr/lib/netscape/libc.so.5.2.18を参照しないようにしたら、
出なくなりました。
#どうやら、libc.so.5.2.18を探そうとして、失敗している???
そこで、Debian GNU/Linux に関する Q & Aの 22.3章より、
netscape-ja_v404-1.1 の ソースを展開して、
liblocale.cを
char *setlocale (int c, const char *l){
char *dummy; /* <<<< add*/
if ((c == LC_ALL || c == LC_CTYPE) && l != NULL
&& !(*l == 'C' && l[1] == '\0')) {
XtSetLanguageProc(NULL, NULL, NULL);
l = NULL;
}
/* return _Xsetlocale(((c == LC_ALL || c == LC_CTYPE) ? 2 : 3), l); */
return dummy; /* <<<< add*/
}
として、コンパイルして得られたliblocale.soを、古いliblocale.soと
入れ換えたところ、/usr/doc/netscape-ja/XLC_LOCALE.patch
をあてた環境で、libc.so.5.2.18を使わなければ、動きました。
## bug fixし忘れているのか、(当方の勘違い??)
## それとも、偶然当方で動いただけなのか??
## return dummyでなくとも、return 0でも良いじゃないかという話も
## 聞いたような気が… (Bus errorの元を作っているかも)
以上、散文ですみませんが、何かのお役にたてれたら幸いです。
富山大学大学院博士課程後期 システム生産工学専攻 1年
|| パターン情報処理講座 ||
|| 三宅 一永 miyake@xxxxxxxxxxxxxxxxxxx ||
理論は単純を、構造は複雑を極め 人は最も人らしく