Cygwin使っている人いますか? その11
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNGhttp://pc.2ch.net/test/read.cgi/unix/1066042212/
地鎮祭、関連リンク、お約束は>>2-10あたり
0228名無しさん@お腹いっぱい。
NGNGWin32 APIに渡す前に/(実際は\だが)を1個取っちまうようなhackすれば?
って事だろ。
0229名無しさん@お腹いっぱい。
NGNGうーん、こういうhackできるぐらいだったら、
「何らかの理由」程度を簡単に回避してると思うけど…
ふつうはあんまり困ってないよね
0230名無しさん@お腹いっぱい。
NGNG0231先を越された
NGNG0232名無しさん@お腹いっぱい。
NGNG交ぜるな危険、なので現在のcygwinの実装では
'\' にそろえてから API に渡している。はず。
ついでに '/' が渡せるとゆーのも undocumented
でなかった?
0233名無しさん@お腹いっぱい。
NGNG0234名無しさん@お腹いっぱい。
NGNGhack すりゃいいとか、回避すりゃいいって問題じゃ
ないっしょ。
Cygwin 本体に手を入れたら自動アップデートが使えなく
なるんだから、設定で回避したいと思うのは当たり前だと
思うけどね。ま、面倒くさいのも事実だし。
0235名無しさん@お腹いっぱい。
NGNGc:\>dir c:\\winnt\system32
ネットワーク パスが見つかりません。
なんてのも(w
0236名無しさん@お腹いっぱい。
NGNG設定でどうにかできる問題じゃないから気を付けるかhackするしか
ないとゆー話になってるんだが。まぁ言わんとしてる事は分かるけど
ちったあスレの流れ嫁。
ついでに言えば、別にcygwin1.dll置き換えたからって別にsetup.exe
が使えなくなるわけじゃない。
updateする度に自分でmakeして置き換える手間が増えるだけ。
0237名無しさん@お腹いっぱい。
NGNG回避って「Makefileの中とか.bashrcの中とかで何とかする」という
意味なんじゃ
>>236
自動アップデートが使えなくなるってのはキミが言ってるのと同じ
意味で使ってるように見える
0238229
NGNGなどで困ること含めて、回避策はとれるのにね、という話のつもり。
>>233-234
よくあるの? 一般的な実例あればさらし希望。
configure系にはあまり無いと思うし、自分で書くのは気をつけるし、
もともと//になるのがダサくて、Cygwinとは無関係に昔からある話。
(ここでスクリプトの書き方話すつもりは無いが。
少なくともCygwin作ってるような人たちは困ってないと見える)
0239229
NGNG0240229
NGNG0241229
NGNG0242名無しさん@お腹いっぱい。
NGNG||・ω・||
ノ/ / >
ノ ̄ゝ
0243名無しさん@お腹いっぱい。
NGNGああ、automake 使うからってことかね。
autoconf だけで Makefile.in 手書きのパッケージ
だってたくさんある。
0244名無しさん@お腹いっぱい。
NGNGいうのは、まさか $PATH の先頭のことではなかろーね。
そーすると >>222 以降の話はすべてヨタ話にすぎなくて、
「221のドットファイルの中身がヘンだ」でFAではないか?
ls //server1/path/to/some/dir/ みたいに共有へ
アクセスできないと困るんで、現在の Cygwin の挙動は
正しいと思っているんだが。
0245名無しさん@お腹いっぱい。
NGNGのは当たり前。そういう問題じゃなくて OFF にする設定
ができたらいいのにね、って話でしょ。10 レスくらい嫁や。
0246229
NGNGのつもりで congigure系、と。Makefile.in が手書きかどうかは無関係。
ようするに、最近のautoconfをきちんと使ってるようなので、
//の回避の書き換えが難しいほどひどいものはあまり無いと思うが、と。
はしょってすまん。
で、configure系という言い方が変だというだけ?
233,243 では手書きの Makefile, Makefile.in のパッケージ
(自分のではなくて?)には、//が生じるのがたくさんあると言いたいの?
別にMakefileに限らないがさらし希望。皆無だといってるわけではないので。
0247名無しさん@お腹いっぱい。
NGNGこういうやつとかはそうっぽいな。
Makefile の字面上は $(DESTDIR)/$(prefix) と書くほうが気持ち
良いが、実行すると // になる。$(DESTDIR)$(prefix) にしないと
ダメ。でも Cygwin 以外ではほとんど上手くいくわけで、// のままに
する人がいるのも理解できる。
ここで Makefile 直せば良いじゃんというのは話がずれてる。
共有が不要な人にとってはそれが面倒だから OFF にできたらいい
なという話になるのであって。
0248名無しさん@お腹いっぱい。
NGNGWindowsでは c:\windows\system の代わりに \\c\windows\system という形で
パス名を指定できるUNCという表記方法があって、リモートのファイルも統一的に
\\ホスト名\フォルダ名\ファイル名 で指定できる。
だから、cygwinで //c/windows/system で c:\windows\system を指せたり、
//ホスト名/フォルダ名/ファイル名 でリモートのファイルにアクセスできるのは
Windowsアプリとして正しい動作だし、動作を変えたいならWindowsに文句を言うべき。
0249名無しさん@お腹いっぱい。
NGNGレス読めアホ。
0250名無しさん@お腹いっぱい。
NGNG0251名無しさん@お腹いっぱい。
NGNGcygwinに文句を言うのは筋違いだろ。
仮に、設定変更できるようにするにしても、Windowsの側で変更できるように
すべきでなのであって、cygwinの側で変更できるようにすべきではない。
おかしいのは//なんて書いてあるMakefileを作るアプリケーションの方なん
だから、原理原則を曲げて不自然なhackを加えるのは間違い。こういうhackを
加えようとするから、訳のわからない「仕様」が増えるんだよ。
0252名無しさん@お腹いっぱい。
NGNGおまいら文盲ですか?
0253名無しさん@お腹いっぱい。
NGNG> 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名無しさん@お腹いっぱい。
NGNG0255名無しさん@お腹いっぱい。
NGNG>>230で既出だが、ずっと昔から\だけでなく/でもアクセスできるようになって
いるのよ。だからWindowsでも/をパスの区切りに使うのはおかしくない。誰も
使わないだけ。
ls //c/windows
ができなくなる方が嫌だな。configureする度に設定変えるなんてまっぴらだ。
0256名無しさん@お腹いっぱい。
NGNG・設定でできないようにすることも可能
くらいできてもいいねと言ってるんだが・・・
結局読んでないんだな。
0257名無しさん@お腹いっぱい。
NGNG0258名無しさん@お腹いっぱい。
NGNGls: //c/windows/: No such file or directory
手元ではこうなるんだけど、これ俺だけ?
0260名無しさん@お腹いっぱい。
NGNGみんななるでしょ。ただ、ネットワーク探しに行くからエラーが出る
までにちょっとラグが出るけど。
0261遙皇 ◆HEHARUKAoo
NGNGという風に使うのですか?
0262229
NGNG話が通じてそうに無いけど補足。
もともと229は 228のような hackができる人なら、その hackが必要なことか
どうか判断して、それよりも //が生じないようにするだろう、たぶん、と言う事。
そういう機能設定で変えられるほうがいいかどうか、ましてや、Makefile等で//が
よくあるとか、書き換えが面倒、というのは別の話。
0263229
NGNG話が通じてそうに無いけど補足。
もともと229は 228のような hackができる人なら、その hackが必要なことか
どうか判断して、それよりも //が生じないようにするだろう、たぶん、と言う事。
そういう機能設定で変えられるほうがいいかどうか、ましてや、Makefile等で//が
よくあるとか、書き換えが面倒、というのは別の話。
0264229
NGNG気持ちが理解できない人も多いと思うが。
理解できるできない、上手くいくいかないは別として、portability
まずいのは明白なので、うっかり、と言う。
(動いてるから、って言ったって、POSIX的にも実装依存だったかで(未確認)、
まずいのはわかってますよね)
で、こういうのがたくさんあると言いたいのかな?
で、それらを含めて、245,247,256 は、//の機能ON/OFFあったほうがいい、と言ってる?
238,239, たぶん244 は、それらを考慮しても、特には必要ないだろ、
と言ってるだけで、別に両者の合意は必要ないのだが。
0265229
NGNG規格書手元にないので、
http://suke.mine.nu/gnujdoc/autoconf-2.53/autoconf-ja_10.html
の dirname の項をかわりに。ちょっと意外な話かも。
0266名無しさん@お腹いっぱい。
NGNG// が「明白に」まずいとは思わないがね。
現に /usr//local は平気なわけだから。
0267名無しさん@お腹いっぱい。
NGNG0268名無しさん@お腹いっぱい。
NGNG"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 準拠プラットフォームという観点から見れば相互運用性を
軽視したパッパラパーの出来損ないということで。
0269229
NGNGおお、ここで見られるのか。ありがとうございます。
>>266
うん、程度問題だと思ってそうゆうこと平気な人も少なくないのは
わかってるのよ。
それで不都合も出ているわけで、それを設定ON/OFFで回避したい、
という人がいてもいいし、それを必要と思わない人(一部とんでもない
理由の人は除く)も多いよ、ということで、多分、お互い合意は出ないし、
無くてもひっしになることじゃないですよね。
別にhackするのも開発者にお願いするのも停めるつもりはないし。
>>267
良い駄目が書いてあるのでは無いことは理解してもらってると思うが。
かつて//が特別扱いされたことがある、ていうのは瑣末で、
動作は実装依存よ、という事。
0270名無しさん@お腹いっぱい。
NGNG0271名無しさん@お腹いっぱい。
NGNGホストとドライブの一覧をゲットして
それらに該当しなければ先頭の//を/にする
0272名無しさん@お腹いっぱい。
NGNGとりあえずの仕様はそれでいいから、作業をはじめてくれ。
みなさん、仕様要望は271宛でお願いします。
ガンガレ!271。
0273名無しさん@お腹いっぱい。
NGNGいちいちホストの一覧取得してたら遅くなるから、
//ホスト機能のオフ機能をキボン
0274名無しさん@お腹いっぱい。
NGNG("//" を "/" に変換する必要があるよね)
0275名無しさん@お腹いっぱい。
NGNG自分で実装しろよ(w
>>273>>274
元々重複する/を取り除いて\にしてWin32に渡しているから遅くなることはないはず。
実体はwinsup/cygwin/path.ccのnormalize_win32_pathで、922行目のあたりを
コメントアウトすればいいんじゃないかな。そうすれば先頭の//を含め、重複する
スラッシュをすべて取り除いてくれるはず。
0276名無しさん@お腹いっぱい。
NGNGすまん、誰かpath.ccをちゃんと解析して。ここで/の処理をしているはず。
0277名無しさん@お腹いっぱい。
NGNGttp://cgi3.tky.3web.ne.jp/~yutakakn/windows/index.html
TeraTermに上記のホイール対応パッチを当てて
.emacsに以下のような設定を書き込みました。
(global-set-key [mouse-4] 'scroll-down)
(global-set-key [mouse-5] 'scroll-up)
一応ホイールは使えるものの、うまく動きません。
レスを下へ送るような操作ができないのです。
Cygwin+Navi2ch+Teratermでホイールを快適に使っている人っていますか
0278名無しさん@お腹いっぱい。
NGNG0279名無しさん@お腹いっぱい。
NGNG> 全然Cygwin関係ないやん。
なるほど。全然関係ないところまで、上の方へスクロールしてしまうのですよ。
$がある、一行目の上まで。
TeraTermの問題かあn
0280名無しさん@お腹いっぱい。
NGNGあらかじめレジストリに書いといてそれ読み込むってのは?
マウントしたの読むのとcygwin的にコストは変わらんと思うけど。
0281229
NGNG自分で実装しろよ(w
と言われちゃうぞ。
221,234,245,247,256,266 あたり手伝わないの?
そうか、延べ人数ならこれくらいいるのか開発要員。
来週にはできそうかな? setup.exeできないと嫌だそうだぞ。
開発元へアプローチするの? がんばれ。
0283名無しさん@お腹いっぱい。
NGNGいちおう221は聞いただけではじめから面倒って言ってるんで
意志を継ぐなら >>245 >>247 >>253 >>272 >>273 じゃないかなあ。
どれが違う人なのかさっぱりわかりませんが。
俺もはじめから入ってた設定なら、外せとは言わないから、
じゃあやはり欲しい人がhackするで投げて終了なのね。がんばれ。
0284名無しさん@お腹いっぱい。
NGNG全員「//を消す機能が欲しい」と思ってないようだけど?ちゃんと嫁。
以下要約
>>245 「OFFにする設定ができたらいいのにねって>>221が言ってる」と言ってるだけ。「って話でしょ」を飛ばすな
>>247 「共有が不要な人にとってはあったらいい」と言ってるだけ。
>>253 "//"の話に全然関係ない。>>251に対してレスしてるだけ。
>>272 >>271をからかってるだけ。
>>273 同上
0285名無しさん@お腹いっぱい。
NGNGでは>>221以外に欲しいと思ってる奴は挙手↓
いなかったら>>221が作る、で終了。
いたらそいつが作る、で終了。
0286名無しさん@お腹いっぱい。
NGNG0287283
NGNG言ってるのだが。読み取れよ。
はじめから、hack出来るぐらいの人ならそれいらないからね、って言ってんのに。
211 は「無いのか」って聞いてめんどくさがっただけで、
hackするしかない、ってのが気に入らなくてぐずったのが 234,245以下なだけ。
ようするに誰も、作らんのだろう。
0288名無しさん@お腹いっぱい。
NGNGhackすれスクリプト書き直せ、がずれてると言って気に入らない人
からかってただけなのだが、結局自分でやれ、まで長くなったこと。
0289名無しさん@お腹いっぱい。
NGNGどうせ暇なら hack してあげればいいじゃん。
0290229
NGNGこのつまらんhackだと暇つぶしにもならんし、
自分で気にしてる不具合は追い込むほど
力足りないんでみんなそんなもんだろ。
0291名無しさん@お腹いっぱい
NGNG直らなくなりました解決方法はありませんか?
0292名無しさん@お腹いっぱい。
NGNG0293名無しさん@お腹いっぱい
NGNGコマンドラインです
0294名無しさん@お腹いっぱい
NGNG0295名無しさん@お腹いっぱい。
NGNGマニュアルには普通に入力できるってかいてあるけど
俺だけできないのか・・・・
0296名無しさん@お腹いっぱい。
NGNGというか低機能なコンソールじゃなくCygTermつかおう。
0297名無しさん@お腹いっぱい。
NGNG起動はALT+半角全角しか受け付けなかったな。
0298名無しさん@お腹いっぱい。
NGNG% cat test.cc
#include <iostream>
int main(void){
std::cout << "Hello world" << std::endl;
return 0;
}
% g++ -c test.cc
% g++ -mno-cygwin -o test test.o
% ./test
Hello world
% objdump -p test.exe | grep 'DLL Name'
DLL Name: msvcrt.dll
DLL Name: msvcrt.dll
DLL Name: KERNEL32.dll
0299名無しさん@お腹いっぱい。
NGNGただ、それ用に色々細工してるのか、gcc 3.3.3を自分でmakeした奴だと
-mno-cygwinでC++は駄目だった。調べるの面倒だし、今のところあまり
必要性無いので放置してるけど。
0300名無しさん@お腹いっぱい。
NGNGSubversion の mod_dav_svn を入れてみたいんですが、静的にやるしかないんでしょうか。
0301名無しさん@お腹いっぱい。
NGNGnavi2chをconfigureすると
checking for a BSD-compatible intall... /usr/bin/install -c
cheching wehter build enviroment is sane... configure: error:
ls apperas to fail.
make sure there is not a broken alias in our enviromet
configure: erroer: newly created file is older than distributed files
Check your system clock
とでてきます
0302名無しさん@お腹いっぱい。
NGNG0303名無しさん@お腹いっぱい。
NGNG> で、あんたのPCの日付はどうなんだ?
もちろん、2004/03/23ですし、cygwinも今日インストールしたばっかりなのです
古いファイルがあるわけではないですし
cygwin自体が時刻を持っているわけではないですよね。
0304名無しさん@お腹いっぱい。
NGNG0305名無しさん@お腹いっぱい。
NGNG> 多分無意味だろうが、TimeZoneと言ってみる…
おっしゃるとおり無意味でした。
環境変数にTZ JST-9としても
.bashrcにexport TZ=JST09としても
0306名無しさん@お腹いっぱい。
NGNGってことあります?
0307名無しさん@お腹いっぱい。
NGNGそれが変だったら他の物でも色々困ると思うが。
ところでそのドライブFAT32だったりしないか?
FAT32は2秒単位でしかタイムスタンプ保持しないから、その辺で
なんかあったりなかったりするかも。
0308306
NGNG0309307
NGNG0310名無しさん@お腹いっぱい。
NGNGマウント先のマシンの時計が狂ってたおかげで
make に文句いわれまくったことがあるなぁ。
ネットワークディレクトリ上で make しようとしてて、
そのそのディレクトリを実際に持っているマシンの時計が狂ってるとか…
0311304
NGNGナニがおかしいのやら。(T_T)
WindowsXP NTFSで使っています。
cygwin.batを立ち上げてそこから作業しているのです。
0312名無しさん@お腹いっぱい。
NGNG単独で実行させたりして調べるしかないと思うが。
0313名無しさん@お腹いっぱい。
NGNGconfigure:1266: error: ls -t appears to fail. Make sure there is not a broken
alias in your environment
configure:1279: error: newly created file is older than distributed files!
Check your system clock
configureの該当部分を参照すると
1266: alias in your environment" >&5
1279: Check your system clock" >&5
やっぱり、時刻がおかしいというエラーみたいですね。
しかしながら、.bashrcにもexport TZ=JST09
システム環境変数にもTZ=JST09は設定してあるのです
やっぱり、トラブルが起こったときに対応できず。
自分の未熟さを思い知らされますね。
rpmというぬるま湯の中にいたので。
0314名無しさん@お腹いっぱい。
NGNG0315名無しさん@お腹いっぱい。
NGNG> JST09?
JST=9
JST=09
両方ともやりました
0317名無しさん@お腹いっぱい。
NGNG> >>315
> http://www.google.co.jp/search?q=TZ+JST
とりあえず、自分でいろいろやってみます〜
0318名無しさん@お腹いっぱい。
NGNG馬鹿であるため答えがわかりませんでした。
Windows システム環境変数 TZ=9
.bashrc export TZ=09
これ以上はわかりませんでした
0319名無しさん@お腹いっぱい。
NGNG> JST=09
> 両方ともやりました
export TZ=JST-09
だけ指定すれば良いんでないの。
0320名無しさん@お腹いっぱい。
NGNG無論、.bashrcだけとかwindows環境変数だけとかもやってみたのです
どうやっても無理なのでした。だめ人間でした。
alias ls='ls -F --color=auto --show-control-chars'
export TZ=JST-09
alias ll='ls -laF --color=auto --show-control-chars'
alias h='history 20'
alias rm='rm -i'
0321名無しさん@お腹いっぱい。
NGNGの指定もわからんのは、未熟どうこう以前の問題じゃないか?
時間があってるかどうかぐらい確認しろ。
date -u; date; touch foo; ls -l foo
しかも、313 のメッセージは「時刻がおかしい」以前に
「ls -t の結果がおかしい」と言ってだけなのだが。
おおかたlsの結果が色つきかなんかでは?
と書いてたら、そうだったみたいね。
0322名無しさん@お腹いっぱい。
NGNGご迷惑おかけしました
自分に自信がなくなりました。
0323名無しさん@お腹いっぱい。
NGNG努力をしたって、苦労をしたって、元々恵まれている人間からしたら、
そんなものは無駄なのです。
結局、人生なんて、その程度のものなのです。
0324名無しさん@お腹いっぱい。
NGNGまあ、せっかくここまでできたんだから地道に続ければ?
0325名無しさん@お腹いっぱい。
NGNG/bin
/usr/bin
/usr/local/bin
などといくつかありますが、どんなコマンドがどれに入っている(入れる)のか、
なにかルールみたいなものがあるのでしょうか?
シェルスクリプトが
#!/bin/sh
だったり、perlスクリプトが
#!/usr/local/bin/perl
だったりするんですけど、
根拠がわかんないので自分で書くときに困ってしまいます。
0326名無しさん@お腹いっぱい。
NGNGさるまねでOK!
0327名無しさん@お腹いっぱい。
NGNG> どんなコマンドがどれに入っている(入れる)のか、
> なにかルールみたいなものがあるのでしょうか?
Linux だと FHS ってのがある。(UNIX や BSD のことは知りません。)
ttp://www.google.co.jp/search?q=Filesystem+Hierarchy+Standard&ie=UTF-8&oe=UTF-8&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
> 自分で書くときに困ってしまいます。
自分で書くときには、実際にどこにあるかを調べてそれを書く。
perl が /usr/bin/perl にあれば #!/usr/bin/perl と書く。
■ このスレッドは過去ログ倉庫に格納されています