develooper Front page | perl.perl5.porters | Postings from April 2012

[perl #112628] win32 usability

Thread Next
From:
rurban @ cpanel . net
Date:
April 26, 2012 14:13
Subject:
[perl #112628] win32 usability
Message ID:
rt-3.6.HEAD-4610-1335474806-280.112628-75-0@perl.org
# New Ticket Created by  rurban@cpanel.net 
# Please include the string:  [perl #112628]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=112628 >



This is a bug report for perl from rurban@cpanel.net,
generated with the help of perlbug 1.39 running under perl 5.15.8.


-----------------------------------------------------------------
win32 lacks usability with a default install, and the 
workarounds are poorly documented.

1. SITELIB is not in the @INC path with a default install, as 
perl.c overrides the config.h definitions with a custom and 
undocumented registry search. This registry entry is fine for 
vendor packagers, but is not created by the default installation.

Either keep the sitelib/sitearch and vendorlib/vendorarch default 
entries in config.h and allow overrides from the registry (similar to PERL5LIB).

Or create the necessary registry entry in installperl. 
Better not. Registry entries should be optional.

The problem is that one cannot install further modules without proper sitelib/arch 
entries in @INC via cpan.

README.win32 says:
Perl does not depend on the registry, but it can look up certain default 
values if you choose to put them there.

This is wrong. Without a registry for sitelib entry cpan installations 
will silently fail. "Cannot find ..." even if they are installed correctly.


2. CPAN creates unusable default entries in .cpan\CPAN\MyConfig.pm
See [CPAN #76831]. nmake is added with the full path, which usually 
contains spaces, which are not quoted. The nmake test system call 
passes interestingly, nmake install fails with cpan.


-----------------------------------------------------------------
---
Flags:
    category=install
    severity=medium
---
Site configuration information for perl 5.15.8:

Configured by rurban at Wed Apr 25 11:02:45 2012.

Summary of my perl5 (revision 5 version 15 subversion 8) configuration:
   
  Platform:
    osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread
    uname=''
    config_args='undef'
    hint=recommended, useposix=true, d_sigaction=undef
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=undef, use64bitall=undef, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cl', ccflags ='-nologo -GF -W3 -Od -MD -Zi -DDEBUGGING -DWIN32 -D_CONSOLE -DNO_STRICT -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE  -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO',
    optimize='-Od -MD -Zi -DDEBUGGING',
    cppflags='-DWIN32'
    ccversion='15.00.30729.01', gccversion='', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='link', ldflags ='-nologo -nodefaultlib -debug  -libpath:"c:\perl516\5.15.9\lib\MSWin32-x86-multi-thread\CORE"  -machine:x86 "/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"'
    libpth=\lib
    libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib  comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib  netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
    perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib  comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib  netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
    libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl515.lib
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug  -libpath:"c:\perl516\5.15.9\lib\MSWin32-x86-multi-thread\CORE"  -machine:x86 "/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"'

Locally applied patches:
    

---
@INC for perl 5.15.8:
    c:\perl516\site\5.15.9\lib/MSWin32-x86-multi-thread
    c:\perl516\site\5.15.9\lib (via registry)
    C:/perl516/5.15.9/lib/MSWin32-x86-multi-thread
    C:/perl516/5.15.9/lib
    .

---
Environment for perl 5.15.8:
    HOME (unset)
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=C:\perl516\5.15.9\bin;C:\perl516\5.15.9\bin\MSWin32-x86-multi-thread;C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE;C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN;C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools;C:\WINDOWS\Microsoft.NET\Framework\v3.5;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 9.0\VC\VCPackages;C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
    PERL_BADLANG (unset)
    SHELL (unset)


Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About