peschkaj has asked for the wisdom of the Perl Monks concerning the following question:

I'm trying to install HTTP::Parser on my cygwin system and it says that it cannot find perl. I'm running perl-5.8.0 with the latest modules on a cygwin (win2k) platform, and I get the error:
Do you want decoding on unicode entities? [no] Checking if your kit is complete... Looks good Writing Makefile for HTML::Parser cp lib/HTML/PullParser.pm blib/lib/HTML/PullParser.pm cp lib/HTML/Entities.pm blib/lib/HTML/Entities.pm cp Parser.pm blib/lib/HTML/Parser.pm cp lib/HTML/LinkExtor.pm blib/lib/HTML/LinkExtor.pm cp lib/HTML/TokeParser.pm blib/lib/HTML/TokeParser.pm cp lib/HTML/HeadParser.pm blib/lib/HTML/HeadParser.pm cp lib/HTML/Filter.pm blib/lib/HTML/Filter.pm /usr/bin/perl.exe /usr/lib/perl5/5.8.0/ExtUtils/xsubpp -typemap /usr/ +lib/perl5/5.8.0/ExtUtils/typemap -typemap typemap Parser.xs > Parser +.xsc && mv Parser.xsc Parser.c /usr/bin/perl.exe mkhctype >hctype.h /usr/bin/perl.exe mkpfunc >pfunc.h gcc -c -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -DUSEIMPORTLIB -O +2 -DVERSION=\"3.26\" -DXS_VERSION=\"3.26\" "-I/usr/lib/perl5/5.8.0 +/cygwin-multi-64int/CORE" -DMARKED_SECTION Parser.c Running Mkbootstrap for HTML::Parser () chmod 644 Parser.bs rm -f blib/arch/auto/HTML/Parser/Parser.dll LD_RUN_PATH="" ld2 -s -L/usr/local/lib Parser.o -o blib/arch/auto/HT +ML/Parser/Parser.dll /usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/li +bperl.dll.a i see no perl executable around there perl is required to build dynamic libraries go fetch one or build this one static make: *** [blib/arch/auto/HTML/Parser/Parser.dll] Error 1 /usr/bin/make -- NOT OK Running make test Can't test without successful make Running make install make had returned bad status, install seems impossible
Any help is appreciated.

Replies are listed 'Best First'.
Re: Problem building HTTP::Parser under 5.8/cygwin
by Courage (Parson) on Aug 11, 2002 at 18:00 UTC
    Probably you've downloaded perl binary and installed it, and trying to build some more modules.

    My guess is that your Config.pm do not exactly precisely reflects your current environment: some of paths to some of compiler/modules are wrong. Are those mentioned in error output libraries exist on your system?

    Courage, the Cowardly Dog

Re: Problem building HTTP::Parser under 5.8/cygwin
by peschkaj (Pilgrim) on Aug 12, 2002 at 01:11 UTC
    Correct, I am using a binary distribution of perl. I could not get perl 5.8.0 to build on my cygwin system, so i picked up the binary distribution. HTML::Parser is the only module, thus far, that I have had problems building under 5.8.0 binaries on cygwin. The biggest problem I can see are the lines that read:
    LD_RUN_PATH="" ld2 -s -L/usr/local/lib Parser.o -o blib/arch/auto/HT +ML/Parser/Parser.dll /usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/li +bperl.dll.a i see no perl executable around there perl is required to build dynamic libraries go fetch one or build this one static
    To me, that is the biggest concern: telling HTML::Parser that perl does in fact live at /usr/bin/perl.
      I do not know how much and how correctly installation process of binary distribution fills values for "Config.pm", but this must be one of your problems.

      But most tough place in your case is gcc compiler. Why you can't build perl on Cygwin? I assure you that, at first, Perl can be easily built if your system tuned correctly and, at second, compilation of modules is often more problematic that compilation of perl itself.

      Do you have gcc binary installed at all?

      And as a last point, you insist that HTML::Parser must find perl at /usr/bin/perl. Is it new 5.8.0 version? Is it one where HTML::Parser will be installed?

      Courage, the Cowardly Dog

        My errors are occuring during the "Making B (dynamic)" stage of compilation. I'm not entirely sure what is causing it. gcc 2.95.3-5 (cygwin special) is installed. Apart from those two facts, I couldn't tell you why I cna't build it.
      1. Looking at your output I can't realize why there is rm -f blib/.../Parser.dll. Mine try do not contain that. But this point is not such important as point two below.

      2. line next to it contains "ld2" command, which in fact is a script, in my case from .../cygwin/bin directory (which is /usr/bin or just /bin). It is it who makes your unsuccessfull building. Look at it and change to reflect your setting.

      Hope this helps,
      Courage, the Cowardly Dog