[FreeBSD-users-jp 94095] Re: uim-anthy はどこに?
8.x までの時には ports/japanese/uim-anthy というメタportsらしきものがあったのですが、 少し様子が変わっているようです。 みなさん、どのようにしていらっしゃるのでしょうか? svnweb で見ると japanese/uim-anthy はまだちゃんとあるようですが、 FreeBSD 9 では消えているのでしょうか(私はまだ 9 に移行していません) http://svnweb.freebsd.org/ports/head/japanese/uim-anthy/
[FreeBSD-users-jp 93977] Firefox がビルドできない問題
きしもとです 既に send-pr 済みですが、他に困っている方もいるかと思いポストします。 ( http://www.freebsd.org/cgi/query-pr.cgi?pr=170467 ) ports の heimdal がインストールされるなどしていて、 /usr/local/include/base64.h が存在していると、 ports の Firefox(先端版の Fx14、ESR 版の Fx10、共に失敗します)や、 libxul のビルドが、 error: 'BTOA_DataToAscii' was not declared in this scope というエラーで失敗します。 Firefox のビルド中の、インクルードファイルの探索順に問題があり、 Firefox のソースツリー中の base64.h をインクルードしなければ ならないのに、/usr/local/include にあるほうをインクルードして しまうためです( /usr/local/include のほうの base64.h を #error などでエラーが出るようにすると、そちらがインクルード されていることが確認できます)。 # いくつかのプロダクトで同様の問題を確認していて、経験では、 # 結構、修正してもらうまでにてこずっています。 ワークアラウンドとしては、Firefox のビルド中だけ一時的に、 /usr/local/include/base64.h を mv しておくなどすることで、 Firefox はビルドできます。 ( GNOME2 をメタポートで全部入れて使っている方は、いくつかの GNOME2 アプリが heimdal に依存しているので、この問題が起きる のではないかと思います。)
[FreeBSD-users-jp 93859] gcc のクラッシュで、 GTK+ 2.0 アプリケーションがビルドできないことがあるかもしれない、という現象
きしもとです。FreeBSD 8.3-STABLE を使っています。 以下のような、アプリのビルドに失敗する現象を確認しました。 もう少し煮詰めたあとで send-pr する予定ですが、他にお困りの方も いるかもしれないと思い投稿します。 まず、以下のようにして gcc を実行すると、異常終了します。 % touch hoge.c % gcc -Wmissing-include-dirs -I/no/such/dir hoge.c cc1: internal compiler error: Segmentation fault: 11 Please submit a full bug report, with preprocessed source if appropriate. See URL:http://gcc.gnu.org/bugs.html for instructions. -Wmissing-include-dirs を付けるのをやめるか、存在しない ディレクトリを -I オプションで指定しなければ回避できますので、 深刻な問題ではありません。 これは既知の問題で、 http://docs.freebsd.org/cgi/getmsg.cgi?fetch=120904+0+archive/2008/freebsd-current/20081026.freebsd-current にありますように、修正する差分は GPL3 下にある、という状態に なっています。 次に GTK+ 2.0 についてですが、FreeBSD の ports の GTK+ 2.0 ( x11-toolkits/gtk20 ) では patch-ak で $(libdir)/gtk-2.0/include というディレクトリは作らず使わず、$(prefix)/include/gtk-2.0 にヘッダファイルの置き場所を一本化するよう、パッチが当てられて います。 しかし、GTK+ 中に含まれる GDK の pkgconf 設定ファイルである gdk-2.0.pc ないし gdk-x11-2.0.pc の中で Cflags: -I${includedir}/gtk-2.0 -I${libdir}/gtk-2.0/include のように指定されるのがそのままであるため、GDK2(を含むGTK+2)の アプリケーションをビルドする際、pkg-config --cflags gdk-2.0 でコンパイルオプションを得ていると、存在しないディレクトリを 指定してしまうことになります。 この時 -Wmissing-include-dirs も指定されていると、前述した gcc の 異常終了を発生させます。問題が起きるものとして、ruby-gnome2 の バージョン 1.1.0 以降( ports ではバージョン 1.0.3 から上げられて いないので顕在化していません)でビルドできなくなっています。 特に extconf.rb によるコンフィギュレーション( configure スクリプトの実行に相当)中に、gcc のクラッシュがコンパイル失敗の 扱いになるので、まともに config ができていないのですが、その場では ビルドの失敗にならないため、原因を突き止めるまで手間取りました。
[FreeBSD-users-jp 93808] ibus-anthy での日本語入力
きしもとと申します 先日 [FreeBSD-users-jp 93489] で紹介しました、Skype で日本語入力が ( http://home.jp.freebsd.org/cgi-bin/showmail/FreeBSD-users-jp/93489 ) できるようにする設定ですが、パッケージをあれこれアップデートしている うちに、うまく動かなくなりました。 追いかけてみたところ、ibus-daemon を、 ibus-daemon -v -r -x のように実行して動作を確認してみると、インプットメソッドを起動しようと したタイミングで、 (ibus-daemon:21606): IBUS-WARNING **: 18:46:08.255350: Set context engine failed: Operation was cancelled Traceback (most recent call last): File /usr/local/share/ibus-anthy/engine/main.py, line 33, in module import factory File /export/local/share/ibus-anthy/engine/factory.py, line 29, in module import engine File /export/local/share/ibus-anthy/engine/engine.py, line 52, in module import jastring File /export/local/share/ibus-anthy/engine/jastring.py, line 26, in module import thumb File /export/local/share/ibus-anthy/engine/thumb.py, line 36, in module intern = Gdk.Atom.intern AttributeError: type object 'Atom' has no attribute 'intern' といった感じでエラーになっていました。 対処法については突き止めていませんが、取り急ぎ報告まで。
[FreeBSD-users-jp 93809] Re: ibus-anthy での日本語入力
きしもとと申します Traceback (most recent call last): File /usr/local/share/ibus-anthy/engine/main.py, line 33, in module import factory File /export/local/share/ibus-anthy/engine/factory.py, line 29, in module import engine File /export/local/share/ibus-anthy/engine/engine.py, line 52, in module import jastring File /export/local/share/ibus-anthy/engine/jastring.py, line 26, in module import thumb File /export/local/share/ibus-anthy/engine/thumb.py, line 36, in module intern = Gdk.Atom.intern AttributeError: type object 'Atom' has no attribute 'intern' といった感じでエラーになっていました。 対処法については突き止めていませんが、取り急ぎ報告まで。 この件ですが、ibus-anthy の ports ディレクトリを cvs の -D オプションで、 '2012-04-02 00:47:15 UTC' まで巻き戻して、make して強制アップデートして みたところ、おかしくならず入力ができました。 4 月 2 日のアップデートで、ibus-anthy が 1.4.99 系になっているのですが、 これは先進版系列のようで、他の依存している ibus や pygtk(?) などの ports が 安定版系列のため、うまくないようです。
[FreeBSD-users-jp 93643] Re: つぶやき もごもご nec....
V30 は 80186 互換 + 独自拡張だったと思います。後 8086 と違ってクロック のデューティー比が 1:1 なので回路組みやすかったような記憶が。 だいぶ忘れてしまいましたが、ピンコンパチという意味では 8086に(ほぼ)互換です。デューティー比の件は、確かに違ったと 思います。そのため、8087が使えませんでした。 それを解消するためのゲタも売ってましたね。 ソフトウェア的には8086の命令拡張+8080モードがあったかと 思います。 80186はハードウェア的には、確か何か周辺機能を取り込んだりしてたので、 V30は、ハードウェア的には8086に似てて、んで、ソフトウェア的には186と 同じ命令があったりしますね。 ↓検索してみたらなぜかドイツのページが出てきたり。 http://www.pageofmarco.de/v30.php
[FreeBSD-users-jp 93632] Re: 老人の戯言;-p
# 慣れればどうってことないんですが RedHat9 で本格的に Linux を使い始めた時、 (それまでは Slackware とかで「触った」ぐらいしか経験がなかった) 「この設定はこのテキストファイルをこういじれば変更できるんだろうけど、 GUI ツールでの管理と不整合を起こさないだろうか」というのを、かなり 気にしながらあれこれやってた記憶があります。
[FreeBSD-users-jp 93516] expr(1) の日本語マニュアルページの typo ( 誤変換)
きしもとです。要件のみ expr(1) コマンドの日本語マニュアルページ中、演算子が「演算氏」となっている 箇所があります。
[FreeBSD-users-jp 93507] Re: Ports のアプリを自作パッチ付きでビルド・更新するには
仮にsend-prしても採択までには時間がかかるので、当座はローカルパッチ として /usr/ports/distfilesに置いて、portupgradeでコンパイルするときに それを適用させたいのですが、その設定はどこにどのように書けばいいん でしょうか?/usr/ports/editors/emacs/の下に置いておくとportsnapが 消してしまいますし…。 pkgtools.confにはHOLD_PKGSという項目がありますが、これにport名を 書いておけばいいんでしょうか?それとももっとエレガントな方法が あるのでしょうか? files/patch-* という名前でパッチを置いておけば当ててくれるみたいですが、 どうでしょう。 私は ports ツリーは CVS で更新するという後ろ向きな解決法をとっているの ですが(もしかしてとってもよくないことだったりします?)、 portsnap に手を付けさせない、という設定は portsnap.conf (の REFUSE 行?) なのではないでしょうか? (使ってないので確実ではないですが) 余談っぽい気がしますが、私の pkgtools.conf の HOLD_PKGS はこんな感じです。 HOLD_PKGS = [ 'bsdpan-*', 'security/sudo', 'cad/parthenon', ]
[FreeBSD-users-jp 93491] 時間が 3 割ほど遅くなる
きしもとと申します sleep コマンドの実行時間が長くなり、再起動したら再発しない、という現象が 起きましたので、同じ現象が起きる人がいるかもと思いポストします。 8.2-STABLE の r223459 からビルドしたカーネルを使っています。 昨夜遅くに再起動した時からおかしくなっていたようなのですが、気づいたのは スクリプトの sleep 関数だったのですが、確かめてみると、普通のコマンドの sleep(1) でも起きており、指定時間よりも 3 割ほどよけいに時間がかかる、 (sleep 10 が 13 秒かかる)という現象が起きました。 時計のほうは ntpd が走ってはいたものの同期しておらず 130 秒ほど遅れて いたのですが、こちらは、たまたま起動時に名前解決ができない状態にあった ために起きたような気もするので関係があるかわかりません。 一時的なハードウェアの問題か、FreeBSD の問題かわかりませんが、再起動 したところ、再発しませんでした。 以上、報告まで。
[FreeBSD-users-jp 93489] Re: Skype 2.1 で日本語入力
きしもとです つい先日までチャットを使う機会がなかったので気づかなかったのですが、 ports の Skype の 2.1 以降で日本語入力ができなくなり困っております。 net-im/skype , net-im/skype-devel の両方とも試してみましたがダメでした。 Qt を使っているようなので uim-qt を入れて QT_IM_MODULE=uim を設定したりも してみましたがダメなようです Shift+Space(日本語入力切り替え)を操作した時に、特にエラーメッセージ などは出ず、単にスペースが入力されています ・AMD64 FreeBSD 8.2-STABLE ・日本語入力には uim-anthy を利用 といった環境です 他にも日本語入力ができなくなったアプリなどもあり、試行錯誤していたのですが、 どうも Skype の場合 XIM の向こう側にいるのが uim だとダメで ibus が必要、 (最近 Linux のディストリビューションで ibus を使うものが増えてるようですが) なのではないかという感を得たので、以下をやってみたところ、うまくいきました。 (1) ports の ibus-anthy を portinstall (2) ibus-daemon -r --xim で ibus-daemon を起動 (3) ibus-setup で Anthy を使うよう設定 ((2) と (3) は順序逆かもしれません) (4) 環境変数 XMODIFIERS='@im=ibus' を設定 このような状態から Skype を起動したところ、無事入力できるように なりました。日本語入力への切り替えは ibus-anthy のデフォルトのため Ctrl+Space になります。(XIM を使っているので、QT_IM_MODULE は 関係ありませんでした)
[FreeBSD-users-jp 93490] sylpheed のビルド中意図しないヘッダファイルがインクルードされてコンパイルが失敗する
きしもとと申します 手元の FreeBSD 環境 (Heimdal (Kerberos 5 の実装のひとつ) がインストール されています) で、ports の sylpheed-3.1.1 をビルドすると、以下のように コンパイルが失敗します(途中、長い行を継続にしています)。 if cc -DHAVE_CONFIG_H -I. -I. -I.. -DG_LOG_DOMAIN=\Sylpheed\ -D_THREAD_SAFE -D_REENTRANT -I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/atk-1.0 -I/usr/local/include/cairo -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/pango-1.0 -I/usr/local/include/gio-unix-2.0/ -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/include/pixman-1 -I/usr/local/include/freetype2-I/usr/local/include/gpgme -I/usr/local/include -I/usr/local/include -I../libsylph -DLOCALEDIR=\/usr/local/share/locale\ -DMANUALDIR=\/usr/local/share/doc/sylpheed/manual\ -DFAQDIR=\/usr/local/share/doc/sylpheed/faq\ -DPLUGINDIR=\/usr/local/lib/sylpheed/plugins\ -DTARGET_ALIAS=\amd64-portbld-freebsd8.2\ -DSYSCONFDIR=\/usr/local/etc\ -I/usr/local/include -O2 -pipe -fno-strict-aliasing -I/usr/local/include \ -D_THREAD_SAFE -D_REENTRANT -I/usr/local/include/gtkspell-2.0 -I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/atk-1.0 -I/usr/local/include/cairo -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/pango-1.0 -I/usr/local/include/gio-unix-2.0/ -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/include/pixman-1 -I/usr/local/include/freetype2 -D_REENTRANT -I/usr/local/include/dbus-1.0 -I/usr/local/include/dbus-1.0/include -I/usr/local/include/glib-2.0 -D_REENTRANT -I/usr/local/include/glib-2.0 -MT ldif.o -MD -MP -MF .deps/ldif.Tpo \ -c -o ldif.o `test -f 'ldif.c' || echo './'`ldif.c; \ then mv -f .deps/ldif.Tpo .deps/ldif.Po; \ else rm -f .deps/ldif.Tpo; exit 1; \ fi ldif.c: In function 'ldif_conv_base64': ldif.c:638: error: too many arguments to function 'base64_decode' gmake[4]: *** [ldif.o] Error 1 gmake[4]: Leaving directory `/export/ports/mail/sylpheed3/work/sylpheed-3.1.1/src' gmake[3]: *** [all-recursive] Error 1 gmake[3]: Leaving directory `/export/ports/mail/sylpheed3/work/sylpheed-3.1.1/src' gmake[2]: *** [all] Error 2 gmake[2]: Leaving directory `/export/ports/mail/sylpheed3/work/sylpheed-3.1.1/src' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/export/ports/mail/sylpheed3/work/sylpheed-3.1.1' gmake: *** [all] Error 2 *** Error code 1 Stop in /export/ports/mail/sylpheed3. *** Error code 1 Stop in /export/ports/mail/sylpheed3. 原因は、Heimdal をインストールすると作られる /usr/local/include/base64.h が存在するために、意図しない形でそちらが インクルードされてしまっているためです。 一時的に /usr/local/include/base64.h をリネームするなどするか、以下の パッチでインクルードファイルの探索順を変えて、回避して無事ビルド できました。しかし(続く) $ cat files/patch-src-Makefile.in --- src/Makefile.in.ORG 2011-08-17 13:13:09.0 +0900 +++ src/Makefile.in 2011-08-17 13:13:29.0 +0900 @@ -345,11 +345,11 @@ INCLUDES = \ -DG_LOG_DOMAIN=\Sylpheed\ \ + -I$(top_srcdir)/libsylph \ $(GTK_CFLAGS) \ $(GDK_PIXBUF_CFLAGS) \ $(GPGME_CFLAGS) \ - -I$(includedir) \ - -I$(top_srcdir)/libsylph + -I$(includedir) @NATIVE_WIN32_FALSE@SYLPHEED_RES = (続き)しかし、この Makefile の修正による回避が適切なものか、私には判断 できません。また、調べてみたところ Fedora のパッケージでは、基本的に /usr/local ではなく /usr 直下にインストールするためか、 /usr/include/ライブラリ名/なんとか.h という形でヘッダファイルは インストールするようになっており、このような事故は起きにくいように なっていました。そのように、ヘッダファイルのインストール側で解決する ほうがいいのかもしれません。 ともあれ、全く別のプログラムで他にも1例、全く同じパターンでビルドに 失敗する例を確認しており(未報告)、知識の共有のため、ということで ポストします。
[FreeBSD-users-jp 93484] IIJ4U から FreeBSD.org 宛にメールが送れない?
きしもとと申します IIJ4U を使っているのですが、FreeBSD.org なメールアドレスにメールを送ろうと すると、以下のようにエラーになります。 (これは send-pr した PR のフォローを送ろうとしたものがエラーになった例です) 同じようなことが起きてるかたとかいませんでしょうか? The original message was received at Tue, 2 Aug 2011 20:54:53 +0900 - The following addresses had permanent fatal errors - bug-follo...@freebsd.org (reason: 450 4.7.1 mfo.iij4u.or.jp: Helo command rejected: Host not found) - Transcript of session follows - ... while talking to mx1.freebsd.org.: DATA 450 4.7.1 mfo.iij4u.or.jp: Helo command rejected: Host not found bug-follo...@freebsd.org... Deferred: 450 4.7.1 mfo.iij4u.or.jp: Helo command rejected: Host not found 554 5.5.1 Error: no valid recipients Message could not be delivered for 1 day Message will be deleted from queue
[FreeBSD-users-jp 93483] Skype 2.1 で日本語入力
きしもとと申します つい先日までチャットを使う機会がなかったので気づかなかったのですが、 ports の Skype の 2.1 以降で日本語入力ができなくなり困っております。 net-im/skype , net-im/skype-devel の両方とも試してみましたがダメでした。 Qt を使っているようなので uim-qt を入れて QT_IM_MODULE=uim を設定したりも してみましたがダメなようです Shift+Space(日本語入力切り替え)を操作した時に、特にエラーメッセージ などは出ず、単にスペースが入力されています ・AMD64 FreeBSD 8.2-STABLE ・日本語入力には uim-anthy を利用 といった環境です なにかご教示ありましたらよろしくお願いします
[FreeBSD-users-jp 93025] Re: vim で (いわゆる)全角マイナスを テキスト中 に使おうとすると変になる
not_use_unicode_font=true にすると、vim 上で U+2012 辺りは扱えなく なるみたいですし、:set ambiwidth=double にすれば U+2010, U+2013, U+2014, U+2015, U+2500 辺りは正しくなるみたいですが、U+2212 はどう にもならないっぽいですね.. 色々試しながら、他にも全角半角で怪しい文字はあるのに、なんで U+2212 だけ、とか 思ったんですが、他は :set ambiwidth=double で救済されてたわけですね。 と、ここまで教えていただいたキーワードで検索してみたところ、ズバリのパッチが 見つかりました。 http://ujauja.ddo.jp/~kawamaco/MT/archives/2008/10/290006.html これ vim の上流で当ててもらえないんでしょうかねぇ? ちょっとそのあたりで聞いてみます。
[FreeBSD-users-jp 93032] Re: vim で (いわゆる)全角マイナスを テ キスト中に使おうとす ると変になる
ユーザ側での逃げ道としては、U+2212 の代わりに U+FF0D を使 うという手もありますけど、IME や iconv をなだめて何とかなり ませんかね? U+2212 に関してだけは、Unicode の バグじゃないかと思います。 Microsoft の変換は、CP932の−を「全角のハイフンマイナス」という なにがなんだかわかんないものに変換してますし...
[FreeBSD-users-jp 93034] Re: vim で (いわゆる)全角マイナスを テ キスト中に使おうとす ると変になる
ここだけのお話ですが、僕なんかはUTF-8ファイルで「全角マイナ ス」見かけたら %s/−/-/g しちゃいますけどね。(^^;) まさにそれをやるスクリプトを書いていて、この問題にぶち当たりました ;-)
[FreeBSD-users-jp 93023] Re: vim で (いわゆる)全角マイナスを テキスト中 に使おうとすると変になる
ちなみに、.mlterm/mainのnot_use_unicode_font=true をfalseにすると、ちゃんと(?)半角表示されるようになります。 試してみました。 フォントが綺麗でなくなるので普段は not_use_unicode_font=false にしているのですが、 not_use_unicode_font=true にすると半角で表示されて、編集では問題がでなくなりますね。 というかU+2212がそもそも全角か半角かよくわからないのが問題なのか...
[FreeBSD-users-jp 92942] Re: shmall
きしもとです sudo sysctl -w kern.ipc.shmall=32768 としたところ解決したのですが、 (変更前は 8192 だった)なぜ突然そうなったのかは、ざっと検索などしてみたのですが、 今のところわかっていません(デフォルト値の変更があったようでもないし、というか デフォルト値の設定は /sys/kern/sysv_shm.c の #define SHMMAXPGS 8192 で いいんでしょうか?)。 すいません。もうちょっと考えたら原因が発覚しました。 使っていなかった PostgreSQL が起動時に立ち上がるようになっていたせいでした。 お騒がせしました。
[FreeBSD-users-jp 92744] Re: hexdump -C を Linux でも使いたい
きしもとです しかしながら、このオプションはどのOSでも使えるというわけではない ようで、たとえばLinuxでは -C は使えません。 試してみたところ手元の CentOS 5.4 の util-linux の hexdump では -C が使えますけど、どのディストリビューションでしょう? (manpageは確認していません) 記憶にある限りでは、Linux に hd が無いというのは経験してますが、 hexdump -C ができなかった経験というのはないのですが。
[FreeBSD-users-jp 92691] Re: /usr/local/ 以下へのアクセス
setenv CFLAGS -I/usr/local/include -L/usr/local/lib (tcshの場合) こういうを、.cshrc (.tcshrc) に入れてると、たまに非常にハマルので、私は、*一人でなんでもできる人* 以外にはお勧めしないです。 同感です。特に、#include foo.h で探す対象のファイルがどこかご存じな い段階の方に勧めることではありません。 alias rm='rm -i' みたいな宗教論争になりそうですねぇ (自分の環境で便利ならいい vs そうじゃない環境とか特殊な場合にはまる)
[FreeBSD-users-jp 92685] Re: /usr/local/ 以下へのアクセス
#いままで、このように明示した記憶がないので、 これがデフォルトなのか迷っています。 今まで大丈夫だったとは、どういう状況で大丈夫だったのでしょうか? ご自分でMakefileを書かれていたのであれば/usr/local/配下のものを 参照せずに済む範囲だったのではないでしょうか。 余所からフリーソフトなどを持ってきてmakeしていて、それが /usr/local/を必要としていたのであればMakefileに/usr/local/が 追加されているんだと思います。 これまで、なんでもかんでも /usr 直下の /usr/* にインストールされる、 「ディストリビューション」をお使いだったとか。
[FreeBSD-users-jp 92682] Re: /usr/local/ 以下へのアクセス
# specsファイルのありかが分かれば早いのですが,残念ながら手元では # 見付けることができなかったので,そのへんの探しかたを詳しい方教えて # いただけるとありがたいです. /usr/src/contrib/gcc/config/freebsd-spec.h ですかね? それを見てもちょっと見当つきませんでしたが。
[FreeBSD-users-jp 92678] Re: *BSD を コンパイル時に判別する方法
きしもとです #ifdef __FreeBSD__ と #ifdef __unix の中間ぐらい、のような、 *BSD 全般を判別する方法はないものでしょうか。 たとえば Mac OS X のような場合は on でも off でもかまいません。 GNU Autoconf を使って可能でしょうか。 よろしくお願いします。 見つけました sys/param.h を include して、BSD というシンボルをチェックすればいいのですね。 http://www.freebsd.org/doc/ja_JP.eucJP/books/porters-handbook/porting-versions.html お騒がせしました。
[FreeBSD-users-jp 92676] Re: 不可 解な GCC の warning
きしもとです $ gcc -c foo.c $ gcc -c -O2 foo.c foo.c: In function 'bar': foo.c:6: warning: passing argument 1 of 'foo' discards qualifiers from pointer target type のように、-O2 を付けると不可解な warning が出ます。 (constを落とすキャストの問題はわかってます) 既に報告されている問題でしょうか? また、報告する場合は FreeBSD と GCC の どちらにすべきでしょうか? もうちょっと探してみたところ、GCC の Bugzilla にありました。 GCC 4.2 のバグで、GCC 4.3 では直ってるとのことでした。 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29478
[FreeBSD-users-jp 92677] *BSD をコ ンパイル時に判別する方法
きしもとと申します #ifdef __FreeBSD__ と #ifdef __unix の中間ぐらい、のような、 *BSD 全般を判別する方法はないものでしょうか。 たとえば Mac OS X のような場合は on でも off でもかまいません。 GNU Autoconf を使って可能でしょうか。 よろしくお願いします。
[FreeBSD-users-jp 92675] 不可解な GCC の warning
きしもとと申します $ uname -a FreeBSD norikura.localdomain 8.0-RC2 FreeBSD 8.0-RC2 #0 r198476: Mon Oct 26 12:06:24 JST 2009 ksmak...@norikura.localdomain:/usr/src/sys/amd64/compile/NORIKURA20091026 amd64 $ gcc --version gcc (GCC) 4.2.1 20070719 [FreeBSD] Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. このような環境で、以下のようなソース $ cat foo.c static void foo(int *p) { } void bar(void) { const int a; foo((int *)a); } をコンパイルすると、 $ gcc -c foo.c $ gcc -c -O2 foo.c foo.c: In function 'bar': foo.c:6: warning: passing argument 1 of 'foo' discards qualifiers from pointer target type のように、-O2 を付けると不可解な warning が出ます。 (constを落とすキャストの問題はわかってます) 既に報告されている問題でしょうか? また、報告する場合は FreeBSD と GCC の どちらにすべきでしょうか?
[FreeBSD-users-jp 92632] ports で 、 Moved Temporarily になる master site (Ruby/ChaSen)
きしもとと申します。どなたか力をお貸しください。 Ruby/ChaSen が 1.7 にバージョンアップしたので、 http://raa.ruby-lang.org/project/ruby-chasen/1.7 ports をバージョンアップさせようとしているのですが、 master site からの fetch ではまっています。 https://sites.google.com/a/ixenon.net/ruby-chasen/home/chasen1.7.tar.gz という URL から、wget -O chasen1.7.tar.gz でゲットできることは 確認したのですが、ports の Makefile に MASTER_SITES= https://sites.google.com/a/ixenon.net/ruby-chasen/home/ と書いても、ports が使う fetch からでは、 fetch: https://sites.google.com/a/ixenon.net/ruby-chasen/home/chasen1.7.tar.gz: Moved Temporarily となり、ゲットできません。 どうしたらよいでしょうか?
[FreeBSD-users-jp 92637] Re: ports で、 Moved Temporarily になる master site (Ruby/ChaSen)
きしもとです アドバイスありがとうございます。 On Fri, 04 Dec 2009 20:35:21 +0900 Dobashi.M md...@luna.wak2.jp wrote: At Fri, 4 Dec 2009 19:12:01 +0900, KISHIMOTO, Makoto wrote: という URL から、wget -O chasen1.7.tar.gz でゲットできることは 確認したのですが、ports の Makefile に fetch したファイルは /usr/ports/distfiles に置かれます。 ですから、ダウンしたファイルを、そこに[コピー|移動]でもすれば、いいの ではないでしょうか? 私が手元でビルドするぶんにはそれでいいわけですが、ports を更新して もらうのに、それではまずいわけで... ただ、MD5のチェックもあり、それがmakeされるかどうかは分かりません; distinfo も更新しないとダメですね。
[FreeBSD-users-jp 92638] Re: ports で、 Moved Temporarily になる master site (Ruby/ChaSen)
きしもとです アドバイスありがとうございます。 On Fri, 04 Dec 2009 22:03:02 +0900 Tsurutani Naoki turut...@scphys.kyoto-u.ac.jp wrote: KISHIMOTO, Makoto ksmak...@dd.iij4u.or.jp さん https://sites.google.com/a/ixenon.net/ruby-chasen/home/chasen1.7.tar.gz という URL から、wget -O chasen1.7.tar.gz でゲットできることは 確認したのですが、ports の Makefile に MASTER_SITES= https://sites.google.com/a/ixenon.net/ruby-chasen/home/ と書いても、ports が使う fetch からでは、 fetch: https://sites.google.com/a/ixenon.net/ruby-chasen/home/chasen1.7.tar.gz: Moved Temporarily となり、ゲットできません。 どうしたらよいでしょうか? 1. サイト管理者にお願いして、リダイレクトされない場所においてもらう (もしくはその場所を教えてもらう)。 確かにそういう方向もありですね。 2. FETCH_ARGS= -pRr をMakefileに追加する。 ただし、これが正しいことなのか、私には判断できません... 試してみたところ、うまくいきました。 というか、FETCH_ARGS= に何でも何か設定すれば(例えば-4)うまくいくようです。 workaround としてはいいですが、何か謎ですね。 man fetch を見ると、Moved を追うのを抑止するオプション -A はあるのですが、 逆のオプションはありません。中を追ってないのでわかりませんが、何も設定しないと -A が付くのかも... 調べてみます。
[FreeBSD-users-jp 92639] Re: ports で、 Moved Temporarily になる master site (Ruby/ChaSen)
きしもとです 2. FETCH_ARGS= -pRr をMakefileに追加する。 ただし、これが正しいことなのか、私には判断できません... 試してみたところ、うまくいきました。 というか、FETCH_ARGS= に何でも何か設定すれば(例えば-4)うまくいくようです。 workaround としてはいいですが、何か謎ですね。 man fetch を見ると、Moved を追うのを抑止するオプション -A はあるのですが、 逆のオプションはありません。中を追ってないのでわかりませんが、何も設定しないと -A が付くのかも... 調べてみます。 FETCH_ARGS は、明示的に指定しないと -ApRr になっていました。 fgrep FETCH_ARGS -r /usr/ports すると、FETCH_ARGS=-pRr としているportsがいくつか見つかりますので、これでよさそうです。 ありがとうございました。
[FreeBSD-users-jp 92280] Re: xorg-server after 09/1/23
岸本です ということは、xorg-7.4かどうかは分かりませんが、そちらの環境では動い て…って必ずしもfunction keyとか使っている訳ではないのか。 ですね。キーボードの関係もあってファンクションキーを使うような設定には していません。 日本語入力まわりはだいぶ前にuimに移行させてますのでkinput2まわりで なにかあってもわかりませんし... ディスプレイドライバはATIでportsはupdateしてますが今動いてるXサーバを 立ち上げたのはいつだったか...twmが原因か確かめてませんが、なんか描画に ゴミが残るという現象が起きてます。実害がないようなので無視して使って ますが。そういえば。
[FreeBSD-users-jp 92270] Re: xorg-server after 09/1/23
#もう、twmとか使っているひとはいないのかなぁ。 そろそろGNOME環境に乗り換えるかなぁとか思いつつ使っています。
[FreeBSD-users-jp 91921] Re: Trouble in msdosfs UTF-8 conversion of japanese filename
岸本です 不具合の原因は、文字コード変換バッファ長が内部で固定されおり、 自動では可変してくれないことによるもの、とのこと。 漢字1文字はSJIS/EUC等では2bytesで、UTF-8は2byteじゃ収まりませんね? ですね。3バイトになります。 検索ワードとしては、kiconv msdosfsで情報収集が可能です。 対応の総本山と思われるimuraさんページ情報から http://people.freebsd.org/~imura/kiconv/ 当方は 7.0-STABLE(@2008-07くらい)にてハンドパッチを実施し SJISなWin共有をUTF-8へ変換し、fsはALL-UTF-8にて運用しております。 手元マシンで一番最後にbuildした時のソースツリー([#x30E1;#x30FC;#x30EB;#x30A2;#x30C9;#x30EC;#x30B9;#x4FDD;#x8B77;]) を確認すると、imuraさんパッチのうち、コミット済みの一部ファイル (1,2,4-1,4-2)は不要と、当時の作業記録が語っております。 個別対応中で、フィードバックは途中ということですね。 今回のkiconv&UTF-8とは直接関係ないのですが、 6.x以前のFreeBSD-SA-06:16.smbfsは2bytes目が'\'[0x5c]な漢字 (ソ[835c]等)を[含む]だったか[終わる]だったかの条件のディレクトリ名が、 使用できなかった記憶があります。 関係あるかどうかわからないのですが、「表」が955cで\を含んでいます。 これは気になっていました。 現在のRelease向けの真っ当な対応法は、把握出来ておりません。 参考になれば幸いです。 参考になりました。 以下のようにサマリにして、FreeBSD QandA に投稿しようかと思います。 コメントがあればよろしくお願いします>all Q cd9600 msdosfs ntfs などの CP932 なファイルシステムで 日本語を含むファイルがある場合、UTF-8 に変換して mount する (たとえば # mount_msdosfs -L ja_JP.UTF-8 ) と、日本語を 含むファイルへのアクセスがおかしいようです。 A カーネル内部のコード変換が、バイト数が変化する変換に完全にはまだ 対応できていないためです( UTF-8 では漢字は 3 バイト)。EUC への 変換で回避するか、imuraさんによる kiconv enhancement パッチ http://people.freebsd.org/~imura/kiconv/ を自分で当てて、対応したカーネルを作成する必要があります。
[FreeBSD-users-jp 91916] Trouble in msdosfs UTF-8 conversion of japanese filename
岸本と申します。 msdosfs で、日本語を含むファイル名をUTF-8に変換させるとおかしいようです。 バグでしょうか? 具体的な感じとしては以下のようになります。 # mdconfig -a -t vnode -f img144.bin md1 # mount_msdosfs -D CP932 -L ja_JP.SJIS /dev/md1 /mnt # ls -l /mnt | nkf -Sw total 0 -rwxr-xr-x 1 root wheel 0 Dec 1 19:54 正誤表01.txt # umount /mnt # mount_msdosfs -D CP932 -L ja_JP.eucJP /dev/md1 /mnt # ls -l /mnt | nkf -Ew total 0 -rwxr-xr-x 1 root wheel 0 Dec 1 19:54 正誤表01.txt # umount /mnt # mount_msdosfs -D CP932 -L ja_JP.UTF-8 /dev/md1 /mnt # ls -l /mnt ls: ???01.txt: Invalid argument total 0