[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 % 結束它 ( 好慘 )。基本上就先這樣了。



留言

這個網誌中的熱門文章

[Antergos] disable touchpad

[Editor] 入坑 Atom => Markdown 轉 PDF