Fighting with perl6 HTTP::Daemon install

lilstevey on 2009-11-02T00:16:54

I found this useful Installation howto draft ( note to self - must spend more time studying the parrot.org site and documentation and rely less on google ).

An important consideration is that some of the scripts are perl 5 - I guess self hosting is some way off now. Unfortanately, the second run of proto doesn't look like it produces the desired result:

C:\perl6\development\proto>perl proto
'git' is not recognized as an internal or external command,
operable program or batch file.
'svn' is not recognized as an internal or external command,
operable program or batch file.
If you want rakudo in parrot it has to be in <PARROT_DIR>/languages/rakudo at proto line 94.

Curses. Maybe I should have added windows command line support when installing git. The directories probably need sorting sooner rather than later. Probably worth drawing up a todo list:

  1. re-install parrot and rakudo to conform with rakudo in parrot ( ie in <PARROT_DIR>/languages/rakudo )
  2. install svn command line client
  3. install git with command line support

Maybe time to momentarily chill and tolerate some more of battlefield earth.

Some sleep later. I start off the day by contemplating alternatives - Microsofts Virtual PC 2007 does not appear to run on windows, and "vmware player"'s download page appears to be down for maintenance. Arse.

I have a linux box (not connected to a monitor - I use it for svn and as a printer server) I'll pump for VNC Free edition. There appear to be a large set of instructions for configuring remote access to an ubuntu desktop at howto forge. This is where I run into problems - the linuxbox uses the tv as a monitor, and there is no way on this earth that the missus is going to let me disturb the Abu Dhabi grand prix.

In the mean time I'll re-install parrot and rakudo in a more standard layout. I have a c:/perl6 dir from my proto excursion, so I'll make a c:/perl6/install for the sources, and copy parrot to there, make a sub dir c:/perl6/install/parrot/languages and copy rakudo in there. I've renamed the source directories to parrot and rakudo - loosing date and version information

I already have strawberry perl and ICU installed so this should be straightforward. I won't go into detail as I would just be repeating myself.

A little while later and I have a more traditional layout. A quick perl6 Configure.pl and a mingw32-make gives us the same nasty error:

C:\ ... \httpd>mingw32-make
mingw32-make: *** No rule to make target `lib/HTTP/Daemon.pir', needed by `all'.
Stop.

Lamb Rogan on the sunday special at the local curry house. Was particulary pleasant. Relaxed and watched telly before trying to find out what stupid something was blocking my path. It looks like, for some reason, the Daemon.pir file had a trailing single quote after the .pir extension - I remove it and retry.

Configure.pm is preparing to make your Makefile.

PERL6 C:/perl6/install/parrot/languages/rakudo/perl6
Use of uninitialized value
PERL6LIB /lib
PERL6BIN /bin
RAKUDO_DIR C:/perl6/install/parrot/languages/rakudo

Makefile is ready, running 'make' on it.
Use of uninitialized value
'make' is not recognized as an internal or external command,
operable program or batch file.
Configure and 'make' have finished. Use 'make help' to view other options.


C:\ ... \httpd>mingw32-make
cc C:/perl6/install/parrot/languages/rakudo/perl6.o -o C:/perl6/install/parrot/languages/rakudo/perl6
process_begin: CreateProcess(NULL, cc C:/perl6/install/parrot/languages/rakudo/perl6.o -o C:/perl6/install/parrot/languages/rakudo/perl6, ...) failed. make (e=2): The system cannot find the file specified.
mingw32-make: *** [C:/perl6/install/parrot/languages/rakudo/perl6] Error 2

Largely out of frustration, I copy the Daemon.pm file into a subdir of my test dir, and knock up the test script in the docs.

The output of the script is:

C: ... \ex3>perl6 test.pl
see http://localhost:8888/

Browsing to the url mentioned gives:

This is root.
Go to pub

So thats a small step forwards. Leaves me wondering though - howcome there needs to be a perl6 Configure.pl step if this runs on a virtual machine - whats wrong with distributing either zipped up bytecode or perl6 sources? No doubt there is a good reason for this - I just need to find what it is... Unfortunately it's to late to "Go to pub". Perhaps Bed is more appropriatte.

I have to blog this. I've just been watching cable telly, and the host of a late night interactive gameshow reckons we are all going to get it in, in apocalyptic terms, in december 2012. Apparently a lot of things have been written about it and its all cyclic. Bizarre.