[Go to BBS]
All articles in a thread
Subjectcygwinインストール状況
Article No681
Date: 2008/11/22(Sat) 01:54:53
ContributorKentaro Harada
 2008年11月21日 GMT 16:00 の cygwin に対して、acsad4 から
main trunk を cvs で co し、展開してコンパイルした状況。
(日本語版 Windows XP、英語版 Windows XP 共通。バーチャル
マシン等ではなく、計算機上に直接インストールした場合です。)

1、sad.conf そのまま
make depend → make

gcc -o initda.o -c -g -O1 -Wall -std=c99 -pedantic-errors -mpreferred-stack-boundary=4 -I/home/fcn87523/sad_work/oldsad/src -I/home/fcn87523/sad_work/oldsad/arch/i386-CYGWIN_NT-5.11/include \
/home/fcn87523/sad_work/oldsad/src/initda.c
/home/fcn87523/sad_work/oldsad/src/initda.c: In function `initda_':
/home/fcn87523/sad_work/oldsad/src/initda.c:36: warning: int format, long int arg (arg 3)
/home/fcn87523/sad_work/oldsad/src/initda.c:36: warning: int format, long int arg (arg 3)
/home/fcn87523/sad_work/oldsad/src/initda.c: In function `execda_':
/home/fcn87523/sad_work/oldsad/src/initda.c:57: warning: implicit declaration of function `popen'
/home/fcn87523/sad_work/oldsad/src/initda.c:57: error: assignment makes pointer from integer without a cast
/home/fcn87523/sad_work/oldsad/src/initda.c:61: warning: implicit declaration of function `pclose'
make[2]: *** [initda.o] Error 1
make[2]: Leaving directory `/home/fcn87523/sad_work/oldsad/obj/i386-CYGWIN_NT-5.11'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/fcn87523/sad_work/oldsad'
make: *** [all] Error 2
69.971u 17.996s 0:49.92 176.2% 0+0k 0+0io 2290391pf+0w

2、生出さんが投稿された sad.conf を使った場合(USE_X11=YES、TclTk OFF)

 make depend → make

  コンパイルOK。

3、生出さんが投稿された sad.conf を使った場合(USE_X11=YES、USE_TCLTK=YES)

 make depend → make
 
grep: /home/ 中略 /oldsad/files/tcl/set-8.4.14: No such file or directory
grep: /home/ 中略 /oldsad/files/tk/set-8.4.14: No such file or directory
grep: /home/ 中略 /oldsad/files/tcl/set-8.4.14: No such file or directory
grep: /home/ 中略 /oldsad/files/tk/set-8.4.14: No such file or directory
 
  バージョン番号を変えて試すと、

例えば、

ifeq ($(OSTYPE),cygwin)
TCLTK_VERSION=8.4.19
endif

としてみると、

touch /home/ 中略 /oldsad/arch/libtai/.install_libtai-0.60+2008-12-31_done)
make[2]: *** No rule to make target `/home/ 中略 /oldsad/files/tcl/patch-generic?????tcl.h@8.4.14', needed by `/home/ 中略 /oldsad/contrib/tcl8.4.19/.extract_done'. Stop.
make[2]: Leaving directory `/home/ 中略 /oldsad/obj/i386-CYGWIN_NT-5.11'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/ 中略 /oldsad'
make: *** [all] Error 2

となり、コンパイル停止。
 
  なお、oldsad/files/tcl 下には、Linux などでは、

./ patch-tools:installData.tcl@8.5a5 patch-unix:configure.in@8.4.18 patch-unix:tcl.m4@8.5a6 set-8.5.2 set-8.6a2
../ patch-unix:configure@8.4.18 patch-unix:configure.in@8.5.1 set-8.4.19 set-8.5.3 set-8.6a3
CVS/ patch-unix:configure@8.5.1 patch-unix:configure.in@8.5b1 set-8.5.0 set-8.5.4 set-cvs
patch-generic:tcl.h@8.4.14 patch-unix:configure@8.5b1 patch-unix:tcl.m4@8.4.14 set-8.5.1 set-8.5.5

という、ファイル名に : を含むファイル群が展開されますが、ハードの上に直接インストール
された windows 上の cygwin では、

./ CVS/ patch-tools set-8.4.19 set-8.5.1 set-8.5.3 set-8.5.5 set-8.6a3
../ patch-generic patch-unix set-8.5.0 set-8.5.2 set-8.5.4 set-8.6a2 set-cvs

これだけになってしまいます。windows では、: のつくファイル名は許されておらず、cygwin でも
独自の拡張などは行われていないため、ファイル名に : が入っていると、そのファイルは作られません。
 
  mk や set-8.4.19 など、いろいろな部分で : を _ に変えてみるなどやってはみましたが、
うまくいきませんでした。(make file の中身をきちんと追って、sed などで何をしているのか
解読しないと解決できないのだろうと思いますが、力不足でそこまでできませんでした。)
 
  GUI なくとも特に支障ありませんので、SAD はこのままでも十分に役に立っています。
 
  では。

SubjectRe: cygwinインストール状況
Article No682
Date: 2008/11/22(Sat) 02:14:40
ContributorKentaro Harada
  できました。
 
1、Linux か Unix か、何でもいいので : が認められているファイル
  システム上でファイルを展開。
2、oldsad/file/tcl 下にある、: を含むファイル名を変える。
3、oldsad/files/tk 下にある、: を含むファイル名を変える。

  : を何でもいいから「5文字」に変えればよい。(mk が ????? になっているので!)
 
  例えば、

rename : _col_ *

などとすれば、

./ patch-unix_col_configure.in@8.5.1* set-8.5.1
../ patch-unix_col_configure.in@8.5b1* set-8.5.2
CVS/ patch-unix_col_configure@8.4.18* set-8.5.3
patch-generic patch-unix_col_configure@8.5.1* set-8.5.4
patch-generic_col_tcl.h@8.4.14* patch-unix_col_configure@8.5b1* set-8.5.5
patch-tools patch-unix_col_tcl.m4@8.4.14* set-8.6a2
patch-tools_col_installData.tcl@8.5a5* patch-unix_col_tcl.m4@8.5a6* set-8.6a3
patch-unix set-8.4.19 set-cvs
patch-unix_col_configure.in@8.4.18* set-8.5.0

のようになります。(元のファイルを上書きしてしまうので、コピーしてからやって下さい。)
 
  このように、別のファイルシステム上で : を _col_ と5文字に変えた
ファイルを、そのまま cygwin の
 
oldsad/file/tcl
oldsad/files/tk
 
にコピーします。これでOKです!
 
  生出さんの投稿された sad.conf で、バージョンは 8.4.19 に書き換えた状態で
試してOKでした。

  では。

Subjectちょっとしたアドバイス
Article No683
Date: 2008/11/22(Sat) 02:32:23
ContributorKentaro Harada
  そんな人いるのか?、というくらい初心者な人のために

・path の設定で、間にスペースが入った path は make depend では却下されます。
 (使っているシェルなどによると思いますが……)

  すなわち、path の途中に

 /cygdrive/c/Program Files/mad/mad8/:/cygdrive/c/Program Files/APS/Elegant/

 みたいなものがあると、スペースも path の区切りと解釈し、例えば

 Files/mad/mad8/:/cygdrive/c/Program というファイルはない、という警告で

 make depend

 が止まります。防止するには、cygwin 以外のファイルは一時的に path から抜く
 ことです。

・ネットワークでプロキシがあったりすると、ファイルのダウンロードが自動で
 始まりません。その場合は、ブラウザなどでファイルを手動でダウンロードして、

 oldsad/distfiles の下に置きましょう。必要なのは、

 libtai-0.60.tar.gz
 tcl8.4.19-src.tar.gz
 tk8.4.19-src.tar.gz
 
 の3種類です。
 
 それでは。

SubjectRe: cygwinインストール状況
Article No758
Date: 2009/12/24(Thu) 16:30:56
ContributorAkio Morita
> 3、生出さんが投稿された sad.conf を使った場合(USE_X11=YES、USE_TCLTK=YES)
>
>  make depend → make
>  
> grep: /home/ 中略 /oldsad/files/tcl/set-8.4.14: No such file or directory
> grep: /home/ 中略 /oldsad/files/tk/set-8.4.14: No such file or directory
> grep: /home/ 中略 /oldsad/files/tcl/set-8.4.14: No such file or directory
> grep: /home/ 中略 /oldsad/files/tk/set-8.4.14: No such file or directory
>  
>   バージョン番号を変えて試すと、
>
> 例えば、
>
> ifeq ($(OSTYPE),cygwin)
> TCLTK_VERSION=8.4.19
> endif
>
> としてみると、
>
> touch /home/ 中略 /oldsad/arch/libtai/.install_libtai-0.60+2008-12-31_done)
> make[2]: *** No rule to make target `/home/ 中略 /oldsad/files/tcl/patch-generic?????tcl.h@8.4.14', needed by `/home/ 中略 /oldsad/contrib/tcl8.4.19/.extract_done'. Stop.
> make[2]: Leaving directory `/home/ 中略 /oldsad/obj/i386-CYGWIN_NT-5.11'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/home/ 中略 /oldsad'
> make: *** [all] Error 2
>
> となり、コンパイル停止。
>  
>   なお、oldsad/files/tcl 下には、Linux などでは、
>
> ./ patch-tools:installData.tcl@8.5a5 patch-unix:configure.in@8.4.18 patch-unix:tcl.m4@8.5a6 set-8.5.2 set-8.6a2
> ../ patch-unix:configure@8.4.18 patch-unix:configure.in@8.5.1 set-8.4.19 set-8.5.3 set-8.6a3
> CVS/ patch-unix:configure@8.5.1 patch-unix:configure.in@8.5b1 set-8.5.0 set-8.5.4 set-cvs
> patch-generic:tcl.h@8.4.14 patch-unix:configure@8.5b1 patch-unix:tcl.m4@8.4.14 set-8.5.1 set-8.5.5
>
> という、ファイル名に : を含むファイル群が展開されますが、ハードの上に直接インストール
> された windows 上の cygwin では、
>
> ./ CVS/ patch-tools set-8.4.19 set-8.5.1 set-8.5.3 set-8.5.5 set-8.6a3
> ../ patch-generic patch-unix set-8.5.0 set-8.5.2 set-8.5.4 set-8.6a2 set-cvs
>
> これだけになってしまいます。windows では、: のつくファイル名は許されておらず、cygwin でも
> 独自の拡張などは行われていないため、ファイル名に : が入っていると、そのファイルは作られません。
>  
>   mk や set-8.4.19 など、いろいろな部分で : を _ に変えてみるなどやってはみましたが、
> うまくいきませんでした。(make file の中身をきちんと追って、sed などで何をしているのか
> 解読しないと解決できないのだろうと思いますが、力不足でそこまでできませんでした。)
>  
>   GUI なくとも特に支障ありませんので、SAD はこのままでも十分に役に立っています。
>  
Cygwin1.7にて
- Creating filenames with special DOS characters '"', '*', ':', '<', '>', '|' is supported.
だそうです
Ref: http://cygwin.com/cygwin-ug-net/ov-new1.7.html