FAQ
Hi. I'm not sure if this is the correct place for getting help with
Strawberry Perl but it seems to be mentioned on the Strawberry Perl web
site so I'm guessing it might be.

Earlier this year I installed Strawberry Perl on a Windows 7 machine
which I use for C++ programming (with MSVC). Things have worked pretty
well up to now. However, my development environment is moving to
Windows 8 so I've re-installed everything onto a new, Windows 8
computer. I've been very careful to set everything up the same - same
version of Strawberry Perl, same version of MSVC, same versions of
Python / M4 / Git and all my other development tools.

One of the libraries I need to build is called "glibmm". I'm building
the exact same MSVC project that I previously used with Windows 7
(literally the same project because it's on a shared drive). When I try
to build the project I see this error message:-


          Can't locate XML/Parser.pm in @INC
                  (@INC contains:
F:\+GTK-SOURCES\gnu-windows\src\MB3Glibmm/tools/pm
                  /usr/lib/perl5/5.8.8/msys
                  /usr/lib/perl5/5.8.8
                  /usr/lib/perl5/site_perl/5.8.8/msys
                  /usr/lib/perl5/site_perl/5.8.8
                  /usr/lib/perl5/site_perl

          etc, etc

I'm assuming that "@INC" refers to an environment variable and the paths
listed must be paths that get searched to find a file called
"'XML/Parser.pm'. As you can see, they're mostly Linux style paths so
they wouldn't be relevant on my Windows 8 machine. To check this, I
went back to my Win7 machine and temporarily renamed any file called
"Parser.pm" (i.e. so that it wouldn't get found). As you can imagine,
that gave me exactly the same build error - except that this time, the
paths listed were Windows style paths and they included the path that
contains 'XML/Parser.pm'

I then searched my Windows 8 system for any file that contains the
strings "site_perl", "INC" and "5.8.8". The only one I could find was:-

          C:\strawberry\perl\lib\CPANPLUS\Config.pm

So my best guess is that this is some kind of Perl configuration error.
When I installed Strawberry Perl on my new Windows 8 box, should I have
run some kind of config utility so that it would learn the relevant
paths for my new machine?

John

Search Discussions

  • Jeremy Nicoll - ml perl for windows at Dec 7, 2013 at 3:00 pm

    John Emmas wrote:

    Can't locate XML/Parser.pm in @INC
    (@INC contains:
    F:\+GTK-SOURCES\gnu-windows\src\MB3Glibmm/tools/pm
    /usr/lib/perl5/5.8.8/msys
    /usr/lib/perl5/5.8.8
    /usr/lib/perl5/site_perl/5.8.8/msys
    /usr/lib/perl5/site_perl/5.8.8
    /usr/lib/perl5/site_perl

    etc, etc

    I'm assuming that "@INC" refers to an environment variable
    Isn't it an array or some such, in perl?

    (I know almost nothing about perl, but have Strawberry Perl installed on my
    XP system to run an app someone else wrote). Searching the Strawberry Perl
    folders for "@INC" I find hits all over the place, but the ones in the most
    basic libs are in eg \perl\bin ... which is where I'd expect to see anything
    that defines 'includes' that the rest of perl will use.

    and the paths listed must be paths that get searched to find a file called
    "'XML/Parser.pm'. As you can see, they're mostly Linux style paths so
    they wouldn't be relevant on my Windows 8 machine.
    I wonder if perl modules refer to all the folders & subfolders within perl
    using linux-style names, and that something else in a Windows install
    converts those to Windows style folder names when needed. If that's correct
    it would mean that modules could be written in a more or less
    platform-agnostic way.

    So maybe those @INC values are correct, but for some reason haven't been
    cosmetically tweaked into a windows format.



    I then searched my Windows 8 system for any file that contains the
    strings "site_perl", "INC" and "5.8.8". The only one I could find was:-

    C:\strawberry\perl\lib\CPANPLUS\Config.pm
    But that's surely only relevant to CPANPLUS, whereas I'd expect the core
    definition of @INC to be elsewhere. Surely @INC (if it is what I think it
    is) needs to be defined even before one installs CPANMINUS?


    So my best guess is that this is some kind of Perl configuration error.
    When I installed Strawberry Perl on my new Windows 8 box, should I have
    run some kind of config utility so that it would learn the relevant
    paths for my new machine?
    Don't know; when I installed SP in my XP machine there was no config step to
    run. I installed SP itself, then CPANMINUS, then used cpanm to install
    other modules.

    Looking at my install notes, I wasn't originally sure whether to use the MSI
    installer or ZIP or PortableZIP one. I looked at the latter two (originally
    wondering if I could install once into a shared drive and then run perl from
    there on every machine). For those installs there do seem to be scripts
    that need run after one's unzipped stuff. I ran the MSI installer.

    --
    Jeremy Nicoll - my opinions are my own.
  • John Emmas at Dec 7, 2013 at 5:05 pm

    On 07/12/2013 14:59, Jeremy Nicoll - ml perl for windows wrote:
    I wonder if perl modules refer to all the folders & subfolders within perl
    using linux-style names, and that something else in a Windows install
    converts those to Windows style folder names when needed. If that's correct
    it would mean that modules could be written in a more or less
    platform-agnostic way.
    Thanks Jeremy. I can see how that seems plausible but to be honest, I
    think that's doubtful. On the system which works correctly, the paths
    don't look anything like the ones I see in 'Config.pm' - so I think they
    must be getting calculated at run time somehow (either by Perl itself or
    by whatever program happens to be driving it). OTOH the paths I see in
    Config.pm definitely DO look like the ones I'm seeing on the non-working
    machine so my guess is that those paths are some kind of fallback option.

    Just like you, I don't have any recollection of ever having to run a
    'configure' stage for Strawberry Perl - which brings the question....
    are there any known issues between Strawberry Perl and Windows 8.1?
    According to Control Panel I've installed Strawberry Perl ver
    5.16.2001. I don't mind updating if there's a later version that's
    known to work with Win 8.1.

    John
  • Alexandr Ciornii at Dec 7, 2013 at 10:55 pm
    Hello

    Do you have directory_where_git_is_installed\git\bin in your PATH?
    Run 'perl -V'. Which version of perl it is? It lists @INC. Does it has
    git directories in @INC?

    2013/12/7 John Emmas <johne53@tiscali.co.uk>:
    Hi. I'm not sure if this is the correct place for getting help with
    Strawberry Perl but it seems to be mentioned on the Strawberry Perl web site
    so I'm guessing it might be.

    Earlier this year I installed Strawberry Perl on a Windows 7 machine which I
    use for C++ programming (with MSVC). Things have worked pretty well up to
    now. However, my development environment is moving to Windows 8 so I've
    re-installed everything onto a new, Windows 8 computer. I've been very
    careful to set everything up the same - same version of Strawberry Perl,
    same version of MSVC, same versions of Python / M4 / Git and all my other
    development tools.

    One of the libraries I need to build is called "glibmm". I'm building the
    exact same MSVC project that I previously used with Windows 7 (literally the
    same project because it's on a shared drive). When I try to build the
    project I see this error message:-


    Can't locate XML/Parser.pm in @INC
    (@INC contains:
    F:\+GTK-SOURCES\gnu-windows\src\MB3Glibmm/tools/pm
    /usr/lib/perl5/5.8.8/msys
    /usr/lib/perl5/5.8.8
    /usr/lib/perl5/site_perl/5.8.8/msys
    /usr/lib/perl5/site_perl/5.8.8
    /usr/lib/perl5/site_perl

    etc, etc

    I'm assuming that "@INC" refers to an environment variable and the paths
    listed must be paths that get searched to find a file called
    "'XML/Parser.pm'. As you can see, they're mostly Linux style paths so they
    wouldn't be relevant on my Windows 8 machine. To check this, I went back to
    my Win7 machine and temporarily renamed any file called "Parser.pm" (i.e. so
    that it wouldn't get found). As you can imagine, that gave me exactly the
    same build error - except that this time, the paths listed were Windows
    style paths and they included the path that contains 'XML/Parser.pm'

    I then searched my Windows 8 system for any file that contains the strings
    "site_perl", "INC" and "5.8.8". The only one I could find was:-

    C:\strawberry\perl\lib\CPANPLUS\Config.pm

    So my best guess is that this is some kind of Perl configuration error.
    When I installed Strawberry Perl on my new Windows 8 box, should I have run
    some kind of config utility so that it would learn the relevant paths for my
    new machine?

    John


    --
    Alexandr Ciornii, http://chorny.net
  • John Emmas at Dec 10, 2013 at 10:56 am

    On 08/12/2013 00:52, sisyphus1@optusnet.com.au wrote:
    msys's own perl is being found first - and is therefore being used
    instead of Strawberry Perl.

    If you re-arrange your path so that StrawberryPerl is at the very
    beginning, then I think your problem will vanish.
    On 07/12/2013 22:55, Alexandr Ciornii wrote:
    Do you have directory_where_git_is_installed\git\bin in your PATH?
    Thanks guys. After swapping a few things in my path it now works!

    John
  • Sisyphus1 at Dec 8, 2013 at 12:54 am
    -----Original Message-----
    From: John Emmas
    So my best guess is that this is some kind of Perl configuration error.
    When I installed Strawberry Perl on my new Windows 8 box, should I have
    run some kind of config utility so that it would learn the relevant paths
    for my new machine?
    Seems you're building this "glibmm" library in the msys shell and you want
    Strawberry Perl to be found.

    However, msys's own perl is being found first - and is therefore being used
    instead of Strawberry Perl.

    If you re-arrange your path so that StrawberryPerl is at the very beginning,
    then I think your problem will vanish.

    export PATH=/c/strawberry/perl/bin:$PATH

    Cheers,
    Rob
  • Sisyphus1 at Dec 8, 2013 at 12:54 am
    -----Original Message-----
    From: John Emmas
    So my best guess is that this is some kind of Perl configuration error.
    When I installed Strawberry Perl on my new Windows 8 box, should I have
    run some kind of config utility so that it would learn the relevant paths
    for my new machine?
    Seems you're building this "glibmm" library in the msys shell and you want
    Strawberry Perl to be found.

    However, msys's own perl is being found first - and is therefore being used
    instead of Strawberry Perl.

    If you re-arrange your path so that StrawberryPerl is at the very beginning,
    then I think your problem will vanish.

    export PATH=/c/strawberry/perl/bin:$PATH

    Cheers,
    Rob

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupwin32-vanilla @
categoriesperl
postedDec 7, '13 at 1:53p
activeDec 10, '13 at 10:56a
posts7
users4
websitestrawberryperl.com

People

Translate

site design / logo © 2018 Grokbase