トップページunix
1001コメント313KB

Cygwin使っている人いますか? その11

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
前スレ
http://pc.2ch.net/test/read.cgi/unix/1066042212/

地鎮祭、関連リンク、お約束は>>2-10あたり
0176名無しさん@お腹いっぱい。NGNG
Cygwinのpthreadってちっとはまともになったんだろうか。
まともに動かなかったからからあえてスレッド非対応でコンパイルした
とかありそうだけどねぇ。
configureで対応OS云々ってのは、GNUのftpサイトからconfig.guess
だったか拾ってくれば行けないかね。
0177名無しさん@お腹いっぱい。NGNG
>>175
Makefile嫁
0178名無しさん@お腹いっぱい。NGNG
超々基本的な質問ですが・・・
CygwinのX環境(XEmacsなど)とWindows環境(メモ帳など)
の間でカット&ペーストができないのですが、
うまくすればできるようになるのでしょうか?
できる/できない だけ教えていただければ結構です。
やり方は自分で調べます。
0179名無しさん@お腹いっぱい。NGNG
>>178
その精神はすばらしいと思うが、調べ方が甘い。
ttp://www.google.com/search?hl=ja&lr=lang_ja&q=Cygwin+XFree86+とある日本語
0180名無しさん@お腹いっぱい。NGNG
cygwin で fork したときに付く PID は 1 ずつ増えるんじゃ
なくて順番が適当みたいですけど、これは Windows の仕様
そのままなの?
0181名無しさん@お腹いっぱい。NGNG
>>178
ttp://x.cygwin.com/docs/ug/configure-cygwin-x-options.html
[-clipboard]
0182名無しさん@お腹いっぱい。NGNG
こんなのがでるんだね。
http://www.mlb.co.jp/linux/xf86win/

これはどうでもいいんだけど、mlbはこんなのを作ったらしい。
http://sourceforge.jp/projects/imeproxy/
esecannaのIME版のようだ。
0183名無しさん@お腹いっぱい。NGNG
>>180
NTだとWindowsのProcess IDそのまま、95系だとマイナスなので符号反転。
0184名無しさん@お腹いっぱい。NGNG
1.5.7-1ってどうです?
0185名無しさん@お腹いっぱい。NGNG
気違いのふりをする奴もまた気違い。
0186Linux歴10年NGNG
cygwin使って見たけど・・・・・。

もう少しって感じですかねぇ。sshで外部から入れるのは評価できる。
しかしコードが所詮SJISじゃあねぇ。Perlスクリプトも微妙に動かないし。
Linux専用機がこけた時のサブとして使えたらいいなあと思って
いたけど未だそうゆうレベルじゃないね。バックアップ専用機
が適任ですな。
0187名無しさん@お腹いっぱい。NGNG
>>186
> コードが所詮SJISじゃあねぇ
SJIS使わなきゃいいじゃん
0188162NGNG
>>186
> コードが所詮SJIS
さっぱり意味が分かりません
0189遙皇 ◆HEHARUKAoo NGNG
2ちゃんねるだってSJISだからなあ。
0190名無しさん@お腹いっぱい。NGNG
cygtermを使うと、Altが効かなくなります。原因は何でしょうか..
WIndwosの環境変数には、CYGWIN=ttyと設定していて、コマンドプロンプトだと正常です。
cygterm.cfgに何か設定が必要なのでしょうか。
ちなみに英語キーボードです。
0191名無しさん@お腹いっぱい。NGNG
>>183
ps叩くとPID != WINPIDな奴もいるけど。OSはWin2000SP4。
0192名無しさん@お腹いっぱい。NGNG
killで殺せないのがいるから(主にWindowsのアプリ)
TerminateProcess()にps -Wなpid渡して殺してるけど
おおむね死んでくれる。
0193名無しさん@お腹いっぱい。NGNG
ええと、/bin/kill -f PID を使うという事でいいすか?
0194名無しさん@お腹いっぱい。NGNG
>>188

馬鹿は書き込まない方がいいと思いますよ。
0195名無しさん@お腹いっぱい。NGNG
>>186みたいに10年経っても初心者の人間はCygwin使わない方が
いい、といういいサンプルですね。
0196名無しさん@お腹いっぱい。NGNG
>>190
cygtermを通した時だけ効かなくなるの?
とりあえず使っているターミナルソフトとcygterm.cfgを晒してみたらどうかな。
ターミナル依存の問題のような。
0197名無しさん@お腹いっぱい。NGNG
そりゃ、ふつうWinのアプリはAltをWinの操作用に使ってるしょ。
cygtermのせいじゃない。
TeraTermなどの端末側がAltを使う設定を調べれば?
Setup -> Keyboard -> Meta Key
0198名無しさん@お腹いっぱい。NGNG
>>196,197さん
レスありがとうございました。
思いっきり197さんの言うとおりでした。
Meta Keyをオンにして、望み通り動きました。

言われてみれば、全くその通りでした。恥ずかしい初心者でした。






0199名無しさん@お腹いっぱい。NGNG
国際化されてないけどEUCで使ってる人多いよ。
そもそもLinuxのかわりと思うのがかん違いの人。
そっち方面には別のがいくつかあるのは既出。
何の為の10年だか。
0200名無しさん@お腹いっぱい。NGNG
個人的には190は恐縮するほどはずかしとは見えない。
けっして他にもっと痛いの見ちゃったからではなくてさ。
0201名無しさん@お腹いっぱい。NGNG
それに比べて>>186は…
0202名無しさん@お腹いっぱい。NGNG
Linux歴が10年あっても、
Windows は初めて って人かも。(笑)

# まぁ、学習能力がなければ何年使ってても同じ。
0203名無しさん@お腹いっぱい。NGNG
結局186って、DOS窓(って言い方でいいんだっけ)の表示コードを
cygwinのコード(?)と思ったってこと?
こういう人ってちょくちょく見かけるけど、UNIX使いなら
端末とその上で動くアプリケーションが別のものってことは
よくわかってるはずなのに、勘違いする人が後を絶たないのは
ちょっと不思議な気もする。
「しょせんWindows上の紛い物だからこんなもんか」という意識が
働いてしまうんだろうか。気持ちはわからんではないが。
0204名無しさん@お腹いっぱい。NGNG
まあついうっかりは誰でもあるだろうけど。
でもlocale周りの事や、利用者しだいなのをわかって
るか疑問に見えるし、それなのに10年なんて煽ってるから、
いつまでたっても厨は厨、とからかわれる。
釣りにしてもなぁ。気持ちはわからんです。
0205遙皇 ◆HEHARUKAoo NGNG
cygwinで/usr/localを削除してから

$ ln -d /usr /usr/local

ってやると「権限がない」って怒られるんですが
ディレクトリのハードリンクって作れないんですかね?
シンボリックリンクなら作れるみたいですけど。
0206名無しさん@お腹いっぱい。NGNG
ホスト Linux, ターゲット Windows のクロスコンパイル環境を
構築しようとしているのですが, gcc のコンパイルが
stdio.h が見つからないというエラーで失敗してしまいます.
Web 上のあちこちのページを参考にして,
1. cygwin-1.5.7-1.tar.bz2 の展開
2. binutils-20030901-1src.tar.bz2 のコンパイルとインストール
3. gcc-core-3.3.1-3-src.tar.bz2, gcc-g++-3.3.1-3-src.tar.bz2 の
コンパイルとインストール
という手順は分かっています. cygwin を展開した時のディレクトリ構成と,
gcc のコンパイル時にヘッダファイルを探す位置が合ってないためにエラーが
発生していると想像しているのですが, どのようにそれぞれのファイルを
展開, コンパイル, インストールすればいいのか分からなくて困っています.
どなたか, アドバイスを頂けないでしょうか.

ちなみに mingw (http://www.mingw.org) は binutils と gcc をインストールする先を prefix とすると,
mingw-runtime と w32api を $prefix 以下に展開すれば, binutils, gcc ともに
コンパイル, インストールがうまくいくことを確認しています..
02071/2NGNG
>>206
クロスビルドの仕方は その8 の最後で詳しく書かれてたんだけど、dat落ちで
見れないようなので手元の保存ログにあったのを貼ってみる。
漏れは内容についてはよく分からないのであしからず。

/usr/local/cygwin以下にインストールする場合

<< いるもの >>
binutils-20030307-1-src.tar.bz2
gcc-3.2-3-src.tar.bz2 (普通のgcc-3.3.tar.bz2でもいけた)
w32api-2.3-1.tar.bz2
cygwin-1.3.22-1.tar.bz2

<< 下準備 >>
# mkdir /usr/local/cygwin; cd /usr/local/cygwin
# bzip2 -dc cygwin-1.3.22-1.tar.bz2 | tar xf -
# bzip2 -dc w32api-2.3-1.tar.bz2 | tar xf -
# mv usr/* .; rm -rf usr
# mkdir i686-pc-cygwin; cd i686-pc-cygwin
# ln -s ../include .; ln -s ../lib .

<< ここまでのディレクトリ構成 >>
/usr/local/cygwin
       bin
       include
       lib
       i686-pc-cygwin
         include -> ../include
         lib -> ../lib
02082/2NGNG
<< cross binutilsのmake & install >>
$ bzip2 -dc binutils-20030307-1-src.tar.bz2 | tar xf -
$ cd binutils-20030307-1
$ mkdir build; cd build
$ ../configure --prefix=/usr/local/cygwin --target=i686-pc-cygwin
$ gmake
$ su
# gmake install

<< gccビルド時にcross binutilsを使うのでPATHを通しておく >>
$ PATH=/usr/local/cygwin/bin:$PATH; export PATH

<< cross gccのビルド >>
$ bzip2 -dc gcc-3.2-3-src.tar.bz2 | tar xf -
$ cd gcc-3.2-3
$ mkdir build; cd build
$ ../configure --prefix=/usr/local/cygwin --target=i686-pc-cygwin --enable-languages=c,c++ --disable-nls
$ gmake
$ su
# gmake install

<< テスト >>
$ cat > hello-win.c
#include <windows.h>
int main(void) { MessageBox(NULL, "hello, world", "hello-win", MB_OK); return 0; }
<CTRL-D>
$ i686-pc-cygwin-gcc -o hello-win.exe hello-win.c
できたhello-win.exeをWinで実行できたらOK
0209名無しさん@お腹いっぱい。NGNG
あ、こんなのもあったわ。
http://xfree86.cygwin.com/docs/cg/prog-build-cross.html
0210名無しさん@お腹いっぱい。NGNG
>>結局186って

IDが付かないのを良いことに延々と自作自演を続けて
楽しいですか(爆。

読んでいる人は100%気が付いていますよ(激藁。
0211名無しさん@お腹いっぱい。NGNG
悲し過ぎる210が居るスレはここですよ。
0212名無しさん@お腹いっぱい。NGNG
試していたので, 遅くなりました. >>207 >>208 でうまくいきました.
ありがとうございました.
w32api-2.3-1.tar.bz2 と「下準備」が足りませんでした.

>>209 のページも見てたのですが, cygwin-lib.tgz, cygwin-include.tgz を
見つけられなかったので, 放置してました.

0213名無しさん@お腹いっぱい。NGNG
>>212
いやちょっと待て、みつけられないもなにも
cd /
tar czf cygwin-lib.tgz lib/
で自分で作るんだろ。
0214206 = 212NGNG
>>213
本当だ. よく見たらちゃんと書いてあるじゃん...
大変失礼しました.
0215名無しさん@お腹いっぱい。NGNG
今まで Win98 で Cygwin を使っていた時は、Cygwin を起動すると
/home/ユーザ名 がホームディレクトリになって起動したのに
Win2000にしたらプロンプトには bash-2.05b$ と出るだけで上記のようなディレクトリが
作られないのですが何か設定が要るのでしょうか?
起動はインストール時に作られたデスクトップアイコンからしてます。
OS は Win2000 SP4、Cygwin の setup.exe は ver 2.416 です。
0216本7NGNG
>>215
邪道だが
コントロールパネル→システム→詳細設定→環境変数で
PS1というシステム環境変数を新規で作って
[\u@\h \W] $
という値を入れてみ?
RedHat風になるから。
0217遙皇 ◆HEHARUKAoo NGNG
>>215
とりあえず/etc/profileをチェックしてみるとか。
0218本7NGNG
>>216は勘違いだな。
以下をbash上で入力してみ。
それっぽく動くようになるから。

echo CYGWIN=binmode ntsec tty >> /etc/profile
echo export CYGIWN >> /etc/profile
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
chmod 600 /etc/passwd
chmod 600 /etc/group
mkdir /home
chmod 755
if [ ! -e /home ]; then
cp -r /etc/skel /home/$USERNAME
chown -R $USERNAME:Users /home/$USERNAME
fi
0219名無しさん@お腹いっぱい。NGNG
半端なことばっか教えんでもいいだろうに。
>>215
正しい状態ならそんな事にはならないから、自分の環境を疑え。
余計な設定をやっている可能性のほうが大きい。
初心者なら、ちゃんと素直に書籍等の手順に従うほうが吉。
環境変数やHOMEの値を調べるのは基本なんだから、一度くらい勉強しよう。
そもそもユーザ名は漢字にするな、とか基本的なFAQネタは大丈夫なのか?
0220215NGNG
みなさんレスありがとうございます
どうやら環境変数HOMEが原因のようでした
0221名無しさん@お腹いっぱい。NGNG
質問です。Cygwin 環境ではパスの先頭で //usr/local のように
/ がだぶっていると Windows ネットワークを先に見に行って
しまうようですが、これを無効にすることはできないのでしょうか?
0222名無しさん@お腹いっぱい。NGNG
>>221
Windowsの仕様
0223名無しさん@お腹いっぱい。NGNG
つまり、Cygwin サブシステムの一番プリミティブなところより
下のレイヤの仕様ってことですか・・・鬱陶しいなあ
0224名無しさん@お腹いっぱい。NGNG
>>223
hack すれば?
0225名無しさん@お腹いっぱい。NGNG
へ?Windows の仕様でできないんでしょ?
それともやっぱりできるのに Cygwin レイヤでやってないの?
調べるの面倒くさいなー
0226名無しさん@お腹いっぱい。NGNG
>>225
「Windows ネットワークを先に見に行ってしまうから、
パスの先頭で / をだぶらせないように気をつけよう」
って、思うだけじゃダメなの?
パスの先頭の // に何か必要性があるの?
0227224NGNG
>>225
過去に、そのコードが無効にされた時期があったはずでつ。
つーかでつね、「調べるの面倒」なのは誰でも同じことでつよ。

>>226
何らかの理由で、// がダブることがあると思うけどね。
0228名無しさん@お腹いっぱい。NGNG
>>225
Win32 APIに渡す前に/(実際は\だが)を1個取っちまうようなhackすれば?
って事だろ。
0229名無しさん@お腹いっぱい。NGNG
//に別の仕様があったのは本家のFAQぐらい見るよろし
うーん、こういうhackできるぐらいだったら、
「何らかの理由」程度を簡単に回避してると思うけど…
ふつうはあんまり困ってないよね
0230名無しさん@お腹いっぱい。NGNG
スレちがいだけど、int21hの時代からAPIへはスラッシュのままでおけー。
0231先を越されたNGNG
(いっそ/cygnet/host1/c/〜みたいになったほうが美しいとは思う)
0232名無しさん@お腹いっぱい。NGNG
>>230
交ぜるな危険、なので現在のcygwinの実装では
'\' にそろえてから API に渡している。はず。
ついでに '/' が渡せるとゆーのも undocumented
でなかった?
0233名無しさん@お腹いっぱい。NGNG
Makefile で // がダブルことはよくありますね
0234名無しさん@お腹いっぱい。NGNG
>>228-229
hack すりゃいいとか、回避すりゃいいって問題じゃ
ないっしょ。
Cygwin 本体に手を入れたら自動アップデートが使えなく
なるんだから、設定で回避したいと思うのは当たり前だと
思うけどね。ま、面倒くさいのも事実だし。
0235名無しさん@お腹いっぱい。NGNG
更にスレ違いだが、

c:\>dir c:\\winnt\system32
ネットワーク パスが見つかりません。

なんてのも(w
0236名無しさん@お腹いっぱい。NGNG
>>234
設定でどうにかできる問題じゃないから気を付けるかhackするしか
ないとゆー話になってるんだが。まぁ言わんとしてる事は分かるけど
ちったあスレの流れ嫁。

ついでに言えば、別にcygwin1.dll置き換えたからって別にsetup.exe
が使えなくなるわけじゃない。
updateする度に自分でmakeして置き換える手間が増えるだけ。
0237名無しさん@お腹いっぱい。NGNG
>>234
回避って「Makefileの中とか.bashrcの中とかで何とかする」という
意味なんじゃ
>>236
自動アップデートが使えなくなるってのはキミが言ってるのと同じ
意味で使ってるように見える
0238229NGNG
当然、設定では変更できないし、それ以前に、Makefileや.bashrc,スクリプト
などで困ること含めて、回避策はとれるのにね、という話のつもり。
>>233-234
よくあるの? 一般的な実例あればさらし希望。
configure系にはあまり無いと思うし、自分で書くのは気をつけるし、
もともと//になるのがダサくて、Cygwinとは無関係に昔からある話。
(ここでスクリプトの書き方話すつもりは無いが。
少なくともCygwin作ってるような人たちは困ってないと見える)
0239229NGNG
というか、//の仕様を殺す設定が必要、という声はあまりないんじゃないかな。
0240229NGNG
というか、//の仕様を殺す設定が必要、という声はあまりないんじゃないかな。
0241229NGNG
あれ? 悪い。2度打ちなってる打。
0242名無しさん@お腹いっぱい。NGNG
   /二二ヽ
   ||・ω・||
   ノ/  / >
   ノ ̄ゝ
0243名無しさん@お腹いっぱい。NGNG
configure は関係無いだろう。
ああ、automake 使うからってことかね。
autoconf だけで Makefile.in 手書きのパッケージ
だってたくさんある。
0244名無しさん@お腹いっぱい。NGNG
ふと思ったんだがね、>>221 が言っている「パスの先頭」と
いうのは、まさか $PATH の先頭のことではなかろーね。
そーすると >>222 以降の話はすべてヨタ話にすぎなくて、
「221のドットファイルの中身がヘンだ」でFAではないか?

ls //server1/path/to/some/dir/ みたいに共有へ
アクセスできないと困るんで、現在の Cygwin の挙動は
正しいと思っているんだが。
0245名無しさん@お腹いっぱい。NGNG
使い方や場面が変われば困ッたり困らなくなったりする
のは当たり前。そういう問題じゃなくて OFF にする設定
ができたらいいのにね、って話でしょ。10 レスくらい嫁や。
0246229NGNG
いや、automake じゃなくて、GNU configure を使ってinstallするようなもの、
のつもりで congigure系、と。Makefile.in が手書きかどうかは無関係。
ようするに、最近のautoconfをきちんと使ってるようなので、
//の回避の書き換えが難しいほどひどいものはあまり無いと思うが、と。
はしょってすまん。

で、configure系という言い方が変だというだけ?
233,243 では手書きの Makefile, Makefile.in のパッケージ
(自分のではなくて?)には、//が生じるのがたくさんあると言いたいの?
別にMakefileに限らないがさらし希望。皆無だといってるわけではないので。
0247名無しさん@お腹いっぱい。NGNG
http://www.yudit.org/download/yudit-2.7.6/Makefile.in
こういうやつとかはそうっぽいな。

Makefile の字面上は $(DESTDIR)/$(prefix) と書くほうが気持ち
良いが、実行すると // になる。$(DESTDIR)$(prefix) にしないと
ダメ。でも Cygwin 以外ではほとんど上手くいくわけで、// のままに
する人がいるのも理解できる。

ここで Makefile 直せば良いじゃんというのは話がずれてる。
共有が不要な人にとってはそれが面倒だから OFF にできたらいい
なという話になるのであって。
0248名無しさん@お腹いっぱい。NGNG
Cygwinの問題ではなくWindowsのUNCの仕様でしょ?

Windowsでは c:\windows\system の代わりに \\c\windows\system という形で
パス名を指定できるUNCという表記方法があって、リモートのファイルも統一的に
\\ホスト名\フォルダ名\ファイル名 で指定できる。

だから、cygwinで //c/windows/system で c:\windows\system を指せたり、
//ホスト名/フォルダ名/ファイル名 でリモートのファイルにアクセスできるのは
Windowsアプリとして正しい動作だし、動作を変えたいならWindowsに文句を言うべき。
0249名無しさん@お腹いっぱい。NGNG
>>248
レス読めアホ。
0250名無しさん@お腹いっぱい。NGNG
春ですね
0251名無しさん@お腹いっぱい。NGNG
Windowsが//でネットワークにアクセスするのはWindowsの仕様なんだから、
cygwinに文句を言うのは筋違いだろ。

仮に、設定変更できるようにするにしても、Windowsの側で変更できるように
すべきでなのであって、cygwinの側で変更できるようにすべきではない。

おかしいのは//なんて書いてあるMakefileを作るアプリケーションの方なん
だから、原理原則を曲げて不自然なhackを加えるのは間違い。こういうhackを
加えようとするから、訳のわからない「仕様」が増えるんだよ。
0252名無しさん@お腹いっぱい。NGNG
>>248>>251
おまいら文盲ですか?
0253名無しさん@お腹いっぱい。NGNG
>>251
> Windowsが//でネットワークにアクセスするのはWindowsの仕様なんだから、
> cygwinに文句を言うのは筋違いだろ。

Cygwin は Windows の便利 CUI であるとともに UNIX tool
のエミュレーションなんだから Windows の仕様を隠せるように
するのは全然おかしくないんじゃ?

パスのセパレータが \ なのは Windows の仕様ですが、既にこれを
/ でもアクセスできるように "仕様" をひん曲げてるでしょ?
なんで // だけ UNC がそうだからって理由で変更できちゃいけないんだ?

> 仮に、設定変更できるようにするにしても、Windowsの側で変更できるように
> すべきでなのであって、cygwinの側で変更できるようにすべきではない。

逆でしょー。

> おかしいのは//なんて書いてあるMakefileを作るアプリケーションの方なん

おかしくないよ。その Makefile は UNIX 向けにかかれたもので、
Cygwin は UNIX 向けに書かれたプログラムを Windows 上でも動か
せるように努力してるんだから差異を吸収するとしたら Cygwin 側。

> だから、原理原則を曲げて不自然なhackを加えるのは間違い。こういうhackを
> 加えようとするから、訳のわからない「仕様」が増えるんだよ。

それを言ったら、Cygwin 自体が既に Windows の原則を曲げた hack なんですけど・・・
0254名無しさん@お腹いっぱい。NGNG
「原理原則を曲げたhack」ってCygwin全体がまさにそれなんだがw
0255名無しさん@お腹いっぱい。NGNG
>>253
>>230で既出だが、ずっと昔から\だけでなく/でもアクセスできるようになって
いるのよ。だからWindowsでも/をパスの区切りに使うのはおかしくない。誰も
使わないだけ。

ls //c/windows
ができなくなる方が嫌だな。configureする度に設定変えるなんてまっぴらだ。
0256名無しさん@お腹いっぱい。NGNG
 ・default では // で共有にアクセスできる
 ・設定でできないようにすることも可能

くらいできてもいいねと言ってるんだが・・・
結局読んでないんだな。
0257名無しさん@お腹いっぱい。NGNG
レスを曲解して反論するのが趣味のようですw
0258名無しさん@お腹いっぱい。NGNG
cygwin:~$ ls //c/windows/
ls: //c/windows/: No such file or directory

手元ではこうなるんだけど、これ俺だけ?
0259遙皇 ◆HEHARUKAoo NGNG
>>258
%WINDIR%がC:\WINNTだったりしそう
0260名無しさん@お腹いっぱい。NGNG
>>258
みんななるでしょ。ただ、ネットワーク探しに行くからエラーが出る
までにちょっとラグが出るけど。
0261遙皇 ◆HEHARUKAoo NGNG
ls //127.0.0.1/c$

という風に使うのですか?
0262229NGNG
なんかすさまじくとんでもない人は放置。

話が通じてそうに無いけど補足。
もともと229は 228のような hackができる人なら、その hackが必要なことか
どうか判断して、それよりも //が生じないようにするだろう、たぶん、と言う事。

そういう機能設定で変えられるほうがいいかどうか、ましてや、Makefile等で//が
よくあるとか、書き換えが面倒、というのは別の話。
0263229NGNG
なんかすさまじくとんでもない人は放置。

話が通じてそうに無いけど補足。
もともと229は 228のような hackができる人なら、その hackが必要なことか
どうか判断して、それよりも //が生じないようにするだろう、たぶん、と言う事。

そういう機能設定で変えられるほうがいいかどうか、ましてや、Makefile等で//が
よくあるとか、書き換えが面倒、というのは別の話。
0264229NGNG
prefix=/usr/local とかなのに $(prefix) の前に / をつける人の
気持ちが理解できない人も多いと思うが。

理解できるできない、上手くいくいかないは別として、portability
まずいのは明白なので、うっかり、と言う。
(動いてるから、って言ったって、POSIX的にも実装依存だったかで(未確認)、
まずいのはわかってますよね)

で、こういうのがたくさんあると言いたいのかな?
で、それらを含めて、245,247,256 は、//の機能ON/OFFあったほうがいい、と言ってる?

238,239, たぶん244 は、それらを考慮しても、特には必要ないだろ、
と言ってるだけで、別に両者の合意は必要ないのだが。
0265229NGNG
う、重ね重ね…

規格書手元にないので、
http://suke.mine.nu/gnujdoc/autoconf-2.53/autoconf-ja_10.html
の dirname の項をかわりに。ちょっと意外な話かも。
0266名無しさん@お腹いっぱい。NGNG
portability なんて程度問題でしょ。
// が「明白に」まずいとは思わないがね。
現に /usr//local は平気なわけだから。
0267名無しさん@お腹いっぱい。NGNG
/// は良くて // がダメというのも変な話だこと
0268名無しさん@お腹いっぱい。NGNG
http://www.opengroup.org/onlinepubs/007904975/xrat/xbd_chap04.html
"Pathname Resolution" によると POSIX 準拠システムにおいては

Application developers should avoid generating pathnames that start
with "//" . Implementations are strongly encouraged to avoid using
this special interpretation since a number of applications currently
do not follow this practice and may inadvertently generate "//..." .

- アプリケーションは "//" で始まるようなパスを生成すべきで無い
- POSIX システムは "//" を特別扱いすべきでない

変なパスを生成する Makefile も Cygwin の現在の仕様も
POSIX 準拠プラットフォームという観点から見れば相互運用性を
軽視したパッパラパーの出来損ないということで。
0269229NGNG
>>268
おお、ここで見られるのか。ありがとうございます。
>>266
うん、程度問題だと思ってそうゆうこと平気な人も少なくないのは
わかってるのよ。
それで不都合も出ているわけで、それを設定ON/OFFで回避したい、
という人がいてもいいし、それを必要と思わない人(一部とんでもない
理由の人は除く)も多いよ、ということで、多分、お互い合意は出ないし、
無くてもひっしになることじゃないですよね。
別にhackするのも開発者にお願いするのも停めるつもりはないし。
>>267
良い駄目が書いてあるのでは無いことは理解してもらってると思うが。
かつて//が特別扱いされたことがある、ていうのは瑣末で、
動作は実装依存よ、という事。
0270名無しさん@お腹いっぱい。NGNG
ということで、暇な人は実装して patch きぼん。
0271名無しさん@お腹いっぱい。NGNG
grepでパスをAPIに渡すとこを探して
ホストとドライブの一覧をゲットして
それらに該当しなければ先頭の//を/にする
0272名無しさん@お腹いっぱい。NGNG
おぉ〜、ありがとう、271。
とりあえずの仕様はそれでいいから、作業をはじめてくれ。
みなさん、仕様要望は271宛でお願いします。
ガンガレ!271。
0273名無しさん@お腹いっぱい。NGNG
>>271
いちいちホストの一覧取得してたら遅くなるから、
//ホスト機能のオフ機能をキボン
0274名無しさん@お腹いっぱい。NGNG
"//" をCygwin側で始末したら遅くなるってことはないの?
("//" を "/" に変換する必要があるよね)
0275名無しさん@お腹いっぱい。NGNG
>>270>>272
自分で実装しろよ(w

>>273>>274
元々重複する/を取り除いて\にしてWin32に渡しているから遅くなることはないはず。

実体はwinsup/cygwin/path.ccのnormalize_win32_pathで、922行目のあたりを
コメントアウトすればいいんじゃないかな。そうすれば先頭の//を含め、重複する
スラッシュをすべて取り除いてくれるはず。
■ このスレッドは過去ログ倉庫に格納されています