In response to my last Rakudu/Parrot post, daxim responded with a clear and concise answer, of which I am very greatful.
parrot_config is an executable, installed by default in $PREFIX/bin/parrot_config. Run parrot_config --dump to see interesting stuff.
I'm now watching Britains Best Dish - a fascinating show in which predominantly amateur cooks cook a single dish - either a starter, main or a dessert. This week is the finals, and today 6 or 7 main courses get whittled down to the final two. Its very british - game dishes and pies.
Anyway, I digress.
I now run:
perl Configure.pl --parrot_config=c:\Parrot-1.7.0\bin\parrot_config.exe
and
mingw32-make
and again have the previous error:
In file included from perl6_group.c:17:
mingw32-make: *** [src\pmc\perl6_group.dll] Error 1
That appears to be "libintl.h." perhaps it's related to the dependency on the ICU library mentioned at: http://rakudo.org/how-to-get-rakudo
Breaking now for the pub quiz.
Ok. back from pub quiz.
I attempted to install them by downloading the parrot win32 installer, and downloading the rakudo tar.gz installer. Then I got a little lost.
I believe I messed it up by not concentrating on the task in hand, and instead doing it in the background whilst watching a rather excellent film ( the Last King of Scotland ) for the first time.
So I think I have missed a dependency - the ICU library.
I visit the site and try ICU4C, downloading "Windows (win32 x86 32-bit) Visual Studio 9".
After a snooze and day at work I have another bash.
Rakudo docs at http://github.com/rakudo/rakudo/blob/master/README suggest:
In order to fully support Unicode, you'll also want to have the
ICU library installed (L<http://site.icu-project.org/>). Rakudo can run without ICU, but some Unicode-related features may not work properly.
which seems odd if the lack of ICU is causing the problem, and maybe I'm reading the following wrong, but to me the http://rakudo.org/how-to-get-rakudo site seems to be contradictory:
Building Rakudo from the sources requires Perl 5.8 or newer, a C compiler, a make utility, subversion, and the ICU library.
Turning to google again, this page turns up: http://cpansearch.perl.org/src/ARANDAL/parrot-1.0.0/README_win32.pod with some nice instructions on installing ICU - I install it and add it to path as it suggests. I download parrot 1.6 from parrot.org
\parrot-1.6.0>mingw32-make
"Compiling with:"
xx.c
Can't spawn "cmd.exe": No such file or directory at tools\dev\cc_flags.pl line 152, <$F> line 37.
mingw32-make: *** [flags_dummy] Error 255
The "Current developer release" on the parrot download page seems to point to 1.60, so I download 1.7 instead. I'll have a play with that.
C:\install\parrot-1.7.0>mingw32-make
"Compiling with:"
xx.c
Can't spawn "cmd.exe": No such file or directory at tools\dev\cc_flags.pl line 152, <$F> line 37.
mingw32-make: *** [flags_dummy] Error 255
So I try to run cmd - it fails - so lets try setting the appropriatte path and starting again:
set PATH=%PATH%;C:\WINDOWS\system32
Misconfigured system perhaps? Lets run configure again...
It was going so well...
Invoking Parrot to generate runtime\parrot\include\config.fpmc --cross your fing
ers
mingw32-make: *** [runtime\parrot\include\config.fpmc] Error -1073741515
with the popup:
miniparrot.exe - Unable to Locate Component
This application has failed to start because icuuc42.dll was not found. Re-installing the application may fix this problem.
Maybe I used the wrong arguments to configure - I'll try again
perl Configure.pl --icushared="C:\usr\lib\icu\lib\icudt.lib C:\usr\lib\icu\lib\icuuc.lib" --icuheaders="C:\usr\lib\icu\include"
Did I say I was watching Heston at the moment? He's back at Little Chef. This may be slightly lost to readers out of the UK. Right. Advert break. Time to grab some stilton and biscuits.
hmm. nice stilton. Goes suprisingly well with this glass of white. Anyway - back to it. that resulted in the same error. I'll do a sanity check on the arguments. Look ok, now I noticed I had installed ICU4C - i'll try the "ICU 4.2" download instead. Ahh. notice I am trying to use 4.2.1 rather than 4.2 - I'll try installing that instead. damn. I've run out of stilton.
Ahhhh! Me being an eeedjit! Configured the environmental variables after opening the window - re added set C:\usr\lib\icu\bin to %PATH% and bingo!
And lets see...
C:\install\rakudo-2009-10>perl Configure.pl --parrot-config=c:\Parrot\bin\parrot
_config.exe
Reading configuration information from c:\Parrot\bin\parrot_config.exe
Verifying Parrot installation...
===SORRY!===
I'm missing some needed files from the Parrot installation:
C:/Parrot/lib/parrot/1.7.0/languages/nqp/nqp.pbc
C:/Parrot/lib/parrot/1.7.0/tools/build/ops2c.pl
C:/Parrot/lib/parrot/1.7.0/tools/build/pmc2c.pl
C:/Parrot/src/parrot/1.7.0
C:/Parrot/src/parrot/1.7.0/pmc
C:/Parrot/include/parrot/1.7.0/pmc
(Perhaps you need to use Parrot's "make install-dev" or
install the "parrot-devel" package for your system?)
DOH! very nice error message though. I'll try install-dev.
That slipped in, and Configure.PL ran ok in the rakudo dir.
make ( well the mingw variant ) worked.... now running $make test
All tests successful.
Files=29, Tests=236, 146 wallclock secs ( 0.81 usr + 0.16 sys = 0.97 CPU)
Result: PASS
yay.
So it seems install. One thing left then.
I create a file, greet.pl, with the following content:
say "Hello world";
and lets try to run it ( making sure that perl6 is added to path this time
Agggh! our friend the icuuc42.dll alert!. I hadn't added C:\usr\lib\icu\bin; to the global %PATH%! Easily fixed.
And, finally, largely due to my distracted state!:
C:
Hello world
yay!
Conclusions:
libintl.h isn't from libicu (Score:1)
Interpretation: That header file does not belong to libicu, but to the C library instead. It feels strange to me that installing libicu fixed this dependency for you; can you explain that?
Re: (Score:1)
Thanks for the observation. The comment:
Was merely a wild stab in the dark, perhaps based on me assuming it might have something to do with unicode from a possible "intl" angle.
So - explain - no. A wild guess rather than a result of analysis, and not a particulary good one by the sounds of your studies. At some point after that, I gave up on the windows binary dist