[Racket] 安裝在 Cygwin 上真是 Wow
恩,正式使用之後會有更多內容。
目前記錄折騰過程。不排除會有更多問題。
為了更好融入 Cygwin ,所以採用手動編譯。 source 包 from GitHub 。
基本上 README 寫得算詳細,可是其中有段 make --unix ,我本機 GNU make 竟然沒有 --nuix 此 flag。
可能是這個原因,導致編譯時有些宏定義沒辦法起作用,所以我直接在 src 目錄的 .c 檔做 #define 的動作。
因為他寫的 Makefile 我看不太懂,不太敢動他 : P
首先是出現 fatal error libffi.xxxx 沒有安裝,找不到庫等等 ( 問題出在 forign 資料夾編譯時 )
To run `racket/draw' and `racket/gui' programs, you will need
Cairo, Pango, and GTk install. These libraries are not
distributed with Racket, and they are not needed for compilation,
except for building documentation that uses `racket/draw'. More
info about required libs is available at
http://docs.racket-lang.org/draw/libs.html and
http://docs.racket-lang.org/gui/libs.html.
The content of the "foreign" subdirectory may require GNU `make'
if no installed "libffi" is detected. If the build fails with
another variant of `make', please try using GNU `make'.
基本上把它說的 Cairo, Pango, and GTk 三個庫用 Cygwin 的套件管理 lib 找齊,即可排除。
再來就是硬上了。看哪不過改哪邊。非常想唱忐忑。
折騰兩個檔案就過了。
file.c
# define DIRENT_NO_NAMLEN//I added it on line 5486
string.c
# define SCHEME_PLATFORM_LIBRARY_SUBPATH "i386-cygwin" //I added it on 55
//https://stuff.mit.edu/afs/athena/system/i386_deb50/os/usr/include/plt/sconfig.h
// i386-cygwin 從這裡看來的宏定義,基本上可以說是亂搞。
過了,build 資夾 racketcgc 和 racket3m 可以用,不過就是不知道怎麼離開。
都 ctrl-z + kill % 結束它 ( 好慘 )。基本上就先這樣了。
留言
張貼留言