From: SATOH K. <ken...@a3...> - 2002-06-01 04:03:33
|
はじめまして、さとうと申します。 早速ですが、Mac OS X で mlterm を利用していますが、make 時に -lc、-lm オプションが付かないようにしたいと苦戦しています。 簡易的には、libtool の build_libtool_need_lc を no とする事で -lc は取れたのですが、-lm に関しては gtk-config、imlib-config が返して来る -lm を取り去っても残っています。 環境としては Darwin Kernel Version 5.4 XFree86 4.2.0 glib-1.2.9 GTK+-1.2.9 tiff-v3.5.7 jpegsrc-v6b zlib-1.1.3 libpng-1.2.1 libungif-4.1.0b1 imlib-1.9.14 東風フォント を導入した後、--enable-imlib --enable-anti-alias オプションを 付けて mlterm を導入しています。 -lc、-lm オプションを取り去る良い方法はありますか? ξ 佐藤 謙( SATOH Ken ) □P ken...@a3... |
From: MINAMI H. <mi...@ch...> - 2002-06-03 05:58:08
|
南です。 On Sat, 1 Jun 2002 13:03:24 +0900 SATOH Ken <ken...@a3...> wrote: > 早速ですが、Mac OS X で mlterm を利用していますが、make 時に > -lc、-lm オプションが付かないようにしたいと苦戦しています。 > > 簡易的には、libtool の build_libtool_need_lc を no とする事で > -lc は取れたのですが、-lm に関しては gtk-config、imlib-config > が返して来る -lm を取り去っても残っています。 > -lc、-lm オプションを取り去る良い方法はありますか? 試せる環境がないので推測ですが、 autoconf/ltmain.sh の if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-pw32* | *-*-beos*) # These systems don't actually have a C or math library (as such) continue ;; あたりが、libc,libm のないシステム用の迂回処理のような気がします。 ここの条件に Mac OS X での $host を追加すると、 -lm, -lc を無視できたりしませんか? |
From: Seiichi S. <ss...@sh...> - 2002-06-03 06:49:15
|
On Mon, Jun 03, 2002 at 02:57:45PM +0900, MINAMI Hirokazu wrote: > 試せる環境がないので推測ですが、 > autoconf/ltmain.sh の > > if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then > case $host in > *-*-cygwin* | *-*-pw32* | *-*-beos*) > # These systems don't actually have a C or math library (as such) > continue > ;; > あたりが、libc,libm のないシステム用の迂回処理のような気がします。 > ここの条件に Mac OS X での $host を追加すると、 > -lm, -lc を無視できたりしませんか? 同じく推測ですが、 libtool-1.4d (Alpha Release)の ltmain.sh では直ってるみたいです。 if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; the case $host in : [snip] : *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework deplibs="$deplibs -framework System" continue esac これと autoconf/ltmain.sh を置き換えてみるというのはどうでしょうか? 佐藤精一 |
From: SATOH K. <ken...@a3...> - 2002-06-06 01:49:59
|
こんにちは、さとうです。 # mlterm と直接関係の無い所でお騒がせしてすみません。 南さん、佐藤さんのアドバイスに従いまして、当該部分に 修正を加えて試してみました。 $host は powerpc-apple-darwin5.* となりますので if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in powerpc-apple-darwin5.*) continue ;; *-*-cygwin* | *-*-pw32* | *-*-beos*) # These systems don't actually have a C or math library (as such) continue ;; といった具合の修正です。 しかし、変化はありませんでした。 # $ make >make.log 2>&1 といった具合に修正の有り無しでログを取り、 # 両者の diff を取った結果です。 ltmain.sh を解析してみようと考えておりますが、他にお気付きの点 などありましたら、アドバイスの程、よろしくお願い致します。 ξ 佐藤 謙( SATOH Ken ) □P ken...@a3... |
From: Seiichi S. <ss...@sh...> - 2002-06-10 04:11:35
|
sourceforge.net のコンパイル環境で試したところ、current cvs と 2.4.0 が 修正することなく Mac OS X で make できました。 # --enable-imlib や --enable-anti-alias は試していません。 # オプションなしで ./configure しただけです。 以下に 2.4.0 のログを置いておきます。 http://www.sh.rim.or.jp/~ssato/tmp/mlterm-2.4.0-on-darwin-configure.log http://www.sh.rim.or.jp/~ssato/tmp/mlterm-2.4.0-on-darwin-make.log もしよかったら、参考にしてみてください。 -- 佐藤精一 |
From: SATOH K. <ken...@a3...> - 2002-06-16 14:33:36
|
こんばんは、さとうです。 On 2002.06.10, at 13:14, Seiichi SATO wrote: > sourceforge.net のコンパイル環境で試したところ、current cvs と 2.4.0 が > 修正することなく Mac OS X で make できました。 ありがとうございます。m(__)m と同時に私が舌足らずで申し訳ありませんでした。 Mac OS X(Darwin) での mlterm ですが、先日示しました環境で、 幾つかの点を除いて、私の利用している範囲では問題なく動作しています。 -lc や -lm の問題は locale に関する問題です。 mlterm の話題から離れてしまいますが、お話します。 まず、Darwin は次のようにシステムライブラリを構成しています。 $ ls -l /usr/lib|grep libSystem.dylib lrwxr-xr-x 1 root wheel 17 Jun 5 08:55 libSystem.dylib -> libSystem.B.dylib lrwxr-xr-x 1 root wheel 15 Jun 5 08:55 libc.dylib -> libSystem.dylib lrwxr-xr-x 1 root wheel 15 Jun 5 08:55 libcurses.dylib -> libSystem.dylib lrwxr-xr-x 1 root wheel 15 Jun 5 08:55 libinfo.dylib -> libSystem.dylib lrwxr-xr-x 1 root wheel 15 Jun 5 08:55 libkvm.dylib -> libSystem.dylib lrwxr-xr-x 1 root wheel 15 Jun 5 08:55 libm.dylib -> libSystem.dylib lrwxr-xr-x 1 root wheel 15 Jun 5 08:55 libpthread.dylib -> libSystem.dylib 御覧頂いて分かるように、libc、libm 等が libSystem にシンボリックリンク されています。つまりそれらを libSystem の一部として持っています。また、 libSystem は暗黙にリンクされますので、-lc や -lm を取り去っても害にな りません。 さて、locale を操作する関数は libc が持っていますが、実装に不備があり、 正しく動作しません。その為、X_LOCALE を利用するか、libxpg4 を利用する のが現在の解決策としてネット上で解説されています。 このうち、X_LOCALE は XFree86 4.2.0 では正しく動作しないため、libxpg4 を私は利用しています。 ネット上の解説では libxpg4 を利用するときには、それを、実行するプログ ラムに先だって読み込む事で libxpg4 中の関数を優先させる手法(Linux で は PRELOAD(?)でしたか…)が解説されていますが、この手法は setuid され たプログラム([xk]term など)に対しては無効なため、私はそれを XFree86 に組み込んでいます。 その為か libkik 作成時に libxpg4 が自動的に参照されています。このため -lc や -lm が無くなると locale 関数の競合が無くなり具合が良いのです。 # 一番具合が良いのは locale 関数が正しく libc に実装されることですが。 なんにしても、Mac 上で作成した日本語フォルダ名がそのまま使えたり、いろ ものと解説されていますがホイールマウスでスクロールできたり、mlconfig という設定ツールが使えたりで、mlterm、とても気に入っています。 いつか来た道と感じる方もいらっしゃるかも知れませんが、locale が解決で きれば mlconfig に日本語が表れてくれそうですので、現在自分の導入したラ イブラリ群の見直しを含めて進めています。 次回は locale をクリアして、現在幾つか気になっている所を質問したいと 思いますので、今後ともよろしくお願い致します。 ξ 佐藤 謙( SATOH Ken ) □P ken...@a3... |