rakudo on cygwin
As with every rakudo star release I try to compile it on cygwin. So far, I could never do it. Today, I run into the same problems again as before. This time, i try to write down what happens.
Manifest test tells me that t/tools/install/testlib/phony.exe is missing. The file is actually mentioned in the MANIFEST, but it is missing in my unpacked rakudo star folder.
I search the internet and http://www.mail-archive.com/parrot-commits@lists.parrot.org/msg01774.html tells me that I just copy phony to phony.exe to get this file.
Afterwards the MANIFEST test passes.
Uninstalling parrot with several unnecessary detours
I do have parrot 2.6.0 installed from regular cygwin package if I remember. That violates the README instructions. So I guess, I will uninstall the old package first. Uninstall seems to fail. After it, I can still execute parrot --version, so I copy libparrot.dll.a and cygparrot.dll to ~. Now parrot finally fails. I start configure.pl again. Is that good enough? Now, I don't get the warning anymore that I have a older parrot library installed. Ok. Let's proceed then.
At some point I run into a stack trace, so I do a rebaseall. Just in case:
from cmd start ash and run
/bin/rebaseall
Now I get rebase errors that I cannot fix (some which actually exists rebaseall says to be nonexistent). I should not have moved those files! Moving them back does not resolve my rebase problem. Maybe this solves the rebaseall? Uninstall the complete icu package (whose dll give me the rebaseall error message), then run rebaseall again (successfully), then install icu again. No! I can run rebaseall successfully when icu is uninstalled, but not when it is reinstalled again. In the end, I fix this issue by removing all affected links from /usr/lib and link them again manually to corresponding files in /bin. There must be a better way, but it should work now. Rebaseall works now. That's clear.
By now, I figured out why cygwin installer didn't uninstall parrot the first time. I had some dependency still on. Likely it was rakudo. If you don't uncheck the box which automatically installs dependencies OR also uninstall all dependencies, setup does not let you uninstall a pacakge. Not perfect, but it works.
Compiling parrot separately from rakudo star
Since I run into so many problems, I guess it might help if I compile parrot separately. So I enter into the parrot dir which is part of rakudo star (currently 2.10.1) and try to compile that. So far all the attempts did not test successfully, but now I think I did everything as I was told. So, I configure, make and test... Let's see if it works this time.
Apparently, I need to copy manually cygparrot2_10_1.dll and libparrot.dll.a to /bin or /usr/lib (or similar path) respecitvely.
BTW: make test fails, but doesn't look bad. So I continue
Compiling rakudo
works fairly well now, but make install fails to cp documentation, so I comment it out in the Makefile. Not elegant, but seems to work. Let's see if this will be eaiser with the next rakudo star....
Blizkost...
First time I am able to compile rakudo star! success!
By the way, if you can live with old version, use rakudo as packaged with cygwin. It's not fun, but it works...
- Maurice's blog
- Login to post comments
Printer-friendly version
