perl 5.10.1 does not relocate the vendor/lib directory on Win32 systems.

[email protected] ("Curtis Jewell")
Newsgroups perl.win32.vanilla
Message-ID <[email protected]>
This is a bug report for perl from [email protected],
generated with the help of perlbug 1.39 running under perl 5.10.1.

I built a "Strawberry" perl 5.10.1 with debugging information, and
apparently, incpath does not call back into the relocation routine for
the vendor\lib directory like lib and site\lib do.

(Yes, the bug appears when perl is built w/o debugging information, as
well.)

I wonder what I'm doing wrong.

(Note that 5.11.5 is fine, but I'd like to at least have a patch for
5.10.1 so I could create a relocatable Strawberry Perl. This affects
PAR::Packer, as well.)

In my win32\config_H.gc: (The 5.10.1 tarball has "5.11.0" as the
parameter in the first two, so I extrapolated for the third.)

/* ... */

/* PRIVLIB:
 *       This symbol contains the name of the private library for this
 package.
 *       The library is private in the sense that it needn't be in
 anyone's
 *       execution path, but it should be accessible by the world.  The
 program
 *       should be prepared to do ~ expansion.
 */
/* PRIVLIB_EXP:
 *       This symbol contains the ~name expanded version of PRIVLIB, to
 be used
 *       in programs that are not prepared to deal with ~ expansion at
 run-time.
 */
#define PRIVLIB "c:\\perl\\lib"         /**/
#define PRIVLIB_EXP (win32_get_privlib("5.11.0"))       /**/

/* ... */

/* SITEARCH:
 *       This symbol contains the name of the private library for this
 package.
 *       The library is private in the sense that it needn't be in
 anyone's
 *       execution path, but it should be accessible by the world.  The
 program
 *       should be prepared to do ~ expansion.
 *       The standard distribution will put nothing in this directory.
 *       After perl has been installed, users may install their own
 local
 *       architecture-dependent modules in this directory with
 *               MakeMaker Makefile.PL
 *       or equivalent.  See INSTALL for details.
 */
/* SITEARCH_EXP:
 *       This symbol contains the ~name expanded version of SITEARCH, to
 be used
 *       in programs that are not prepared to deal with ~ expansion at
 run-time.
 */
#define SITEARCH "c:\\perl\\site\\lib"          /**/
/*#define SITEARCH_EXP ""       /**/

/* SITELIB:
 *       This symbol contains the name of the private library for this
 package.
 *       The library is private in the sense that it needn't be in
 anyone's
 *       execution path, but it should be accessible by the world.  The
 program
 *       should be prepared to do ~ expansion.
 *       The standard distribution will put nothing in this directory.
 *       After perl has been installed, users may install their own
 local
 *       architecture-independent modules in this directory with
 *               MakeMaker Makefile.PL
 *       or equivalent.  See INSTALL for details.
 */
/* SITELIB_EXP:
 *       This symbol contains the ~name expanded version of SITELIB, to
 be used
 *       in programs that are not prepared to deal with ~ expansion at
 run-time.
 */
/* SITELIB_STEM:
 *       This define is SITELIB_EXP with any trailing version-specific
 component
 *       removed.  The elements in inc_version_list (inc_version_list.U)
 can
 *       be tacked onto this variable to generate a list of directories
 to search.
 */
#define SITELIB "c:\\perl\\site\\lib"           /**/
#define SITELIB_EXP (win32_get_sitelib("5.11.0"))       /**/
#define SITELIB_STEM ""         /**/

/* ... */

/* PERL_VENDORARCH:
 *       If defined, this symbol contains the name of a private library.
 *       The library is private in the sense that it needn't be in
 anyone's
 *       execution path, but it should be accessible by the world.
 *       It may have a ~ on the front.
 *       The standard distribution will put nothing in this directory.
 *       Vendors who distribute perl may wish to place their own
 *       architecture-dependent modules and extensions in this directory
 with
 *               MakeMaker Makefile.PL INSTALLDIRS=vendor
 *       or equivalent.  See INSTALL for details.
 */
/* PERL_VENDORARCH_EXP:
 *       This symbol contains the ~name expanded version of
 PERL_VENDORARCH, to be used
 *       in programs that are not prepared to deal with ~ expansion at
 run-time.
 */
#define PERL_VENDORARCH "c:\\perl\\vendor\\5.10.1\\lib"         /**/
/*#define PERL_VENDORARCH_EXP ""                /**/

/* PERL_VENDORLIB_EXP:
 *       This symbol contains the ~name expanded version of VENDORLIB,
 to be used
 *       in programs that are not prepared to deal with ~ expansion at
 run-time.
 */
/* PERL_VENDORLIB_STEM:
 *       This define is PERL_VENDORLIB_EXP with any trailing
 version-specific component
 *       removed.  The elements in inc_version_list (inc_version_list.U)
 can
 *       be tacked onto this variable to generate a list of directories
 to search.
 */
#define PERL_VENDORLIB_EXP (win32_get_vendorlib("5.11.0"))             
/**/
#define PERL_VENDORLIB_STEM ""          /**/

Walkthrough with gdb:

(gdb) run
Starting program: c:\vanilla-2\perl\bin\perl.exe -V

Breakpoint 1, main (argc=1, argv=0x9, env=0x22fff0) at perlmain.c:22
22      {
(gdb) enable 6-8
(gdb) c
Continuing.

Breakpoint 7, S_init_perllib (my_perl=0x3e5614) at ../perl.c:4910
4910        incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE, TRUE);
(gdb) s
_Z14PerlEnvLibPathP8IPerlEnvPKc (piPerl=0x3e25e8, pl=0x6a87b823
"5.10.1")
    at perlhost.h:522
522         return g_win32_get_privlib(pl);
(gdb) bt
#0  _Z14PerlEnvLibPathP8IPerlEnvPKc (piPerl=0x3e25e8, pl=0x6a87b823
"5.10.1")
    at perlhost.h:522
#1  0x6a6e481b in S_init_perllib (my_perl=0x3e5614) at ../perl.c:4910
#2  0x6a6e6ccb in S_parse_body (my_perl=0x3e5614, env=0x3e2b58,
    xsinit=0x6a822b80 <_Z7xs_initP11interpreter>) at ../perl.c:2089
#3  0x6a6eae79 in perl_parse (my_perl=0x3e5614,
    xsinit=0x6a822b80 <_Z7xs_initP11interpreter>, argc=2, argv=0x3e3e80,
    env=0x3e2b58) at ../perl.c:1687
#4  0x6a8291f3 in RunPerl (argc=2, argv=0x3e3e80, env=0x3e2b58)
    at perllib.c:263
#5  0x00401322 in main (argc=2, argv=0x3e3e80, env=0x3e2b58) at
perlmain.c:23
(gdb) c
Continuing.

Breakpoint 8, S_init_perllib (my_perl=0x3e5614) at ../perl.c:4926
4926        incpush(SITELIB_EXP, TRUE, FALSE, TRUE, TRUE);
(gdb) s
_Z18PerlEnvSiteLibPathP8IPerlEnvPKc (piPerl=0x3e25e8, pl=0x6a87b823
"5.10.1")
    at perlhost.h:528
528         return g_win32_get_sitelib(pl);
(gdb) bt
#0  _Z18PerlEnvSiteLibPathP8IPerlEnvPKc (piPerl=0x3e25e8,
    pl=0x6a87b823 "5.10.1") at perlhost.h:528
#1  0x6a6e4858 in S_init_perllib (my_perl=0x3e5614) at ../perl.c:4926
#2  0x6a6e6ccb in S_parse_body (my_perl=0x3e5614, env=0x3e2b58,
    xsinit=0x6a822b80 <_Z7xs_initP11interpreter>) at ../perl.c:2089
#3  0x6a6eae79 in perl_parse (my_perl=0x3e5614,
    xsinit=0x6a822b80 <_Z7xs_initP11interpreter>, argc=2, argv=0x3e3e80,
    env=0x3e2b58) at ../perl.c:1687
#4  0x6a8291f3 in RunPerl (argc=2, argv=0x3e3e80, env=0x3e2b58)
    at perllib.c:263
#5  0x00401322 in main (argc=2, argv=0x3e3e80, env=0x3e2b58) at
perlmain.c:23
(gdb) c
Continuing.

Breakpoint 6, S_init_perllib (my_perl=0x3e5614) at ../perl.c:4947
4947        incpush(PERL_VENDORLIB_EXP, TRUE, FALSE, TRUE, TRUE);      
/* this
picks up vendorarch as well */
(gdb) s
S_incpush (my_perl=0x3e5614, dir=0x6a87b82a
"C:\\vanilla\\perl\\vendor\\lib",
    addsubdirs=1 '\001', addoldvers=0 '\0', usesep=1 '\001',
    canrelocate=1 '\001') at ../perl.c:5005
5005    {
(gdb) bt
#0  S_incpush (my_perl=0x3e5614,
    dir=0x6a87b82a "C:\\vanilla\\perl\\vendor\\lib", addsubdirs=1
    '\001',
    addoldvers=0 '\0', usesep=1 '\001', canrelocate=1 '\001') at
    ../perl.c:5005
#1  0x6a6e48ab in S_init_perllib (my_perl=0x3e5614) at ../perl.c:4947
#2  0x6a6e6ccb in S_parse_body (my_perl=0x3e5614, env=0x3e2b58,
    xsinit=0x6a822b80 <_Z7xs_initP11interpreter>) at ../perl.c:2089
#3  0x6a6eae79 in perl_parse (my_perl=0x3e5614,
    xsinit=0x6a822b80 <_Z7xs_initP11interpreter>, argc=2, argv=0x3e3e80,
    env=0x3e2b58) at ../perl.c:1687
#4  0x6a8291f3 in RunPerl (argc=2, argv=0x3e3e80, env=0x3e2b58)
    at perllib.c:263
#5  0x00401322 in main (argc=2, argv=0x3e3e80, env=0x3e2b58) at
perlmain.c:23
(gdb)
---
Flags:
    category=core
    severity=medium
---
Site configuration information for perl 5.10.1:

Configured by 1 at Wed Jan 27 23:29:27 2010.

Summary of my perl5 (revision 5 version 10 subversion 1) configuration:
   
  Platform:
    osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread
    uname='Win32 strawberryperl 5.10.1.1 #1 1264655466 i386'
    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='gcc', ccflags =' -s -O2 -DWIN32 -DHAVE_DES_FCRYPT 
    -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
    -fno-strict-aliasing -DPERL_MSVCRT_READFIX',
    optimize='-s -O2',
    cppflags='-DWIN32'
    ccversion='', gccversion='3.4.5', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='long
    long', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='g++', ldflags ='-s -L"C:\strawberry\perl\lib\CORE"
    -L"C:\strawberry\c\lib"'
    libpth=C:\strawberry\c\lib
    libs= -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32
    -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32
    -lmpr -lwinmm -lversion -lodbc32 -lodbccp32
    perllibs= -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool
    -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid
    -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32
    libc=, so=dll, useshrplib=true, libperl=libperl510.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags='-mdll -s -L"C:\strawberry\perl\lib\CORE"
    -L"C:\strawberry\c\lib"'

Locally applied patches:
    

---
@INC for perl 5.10.1:
    C:/strawberry/perl/lib
    C:/strawberry/perl/site/lib
    C:\strawberry\perl\vendor\lib
    .

---
Environment for perl 5.10.1:
    HOME=C:\Users\Curtis
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program
    Files (x86)\Common Files\Roxio Shared\DLLShared\;C:\Program Files
    (x86)\Common Files\Roxio Shared\10.0\DLLShared\;C:\Program Files
    (x86)\GnuWin32\bin;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program
    Files
    (x86)\QuickTime\QTSystem\;C:\strawberry\c\bin;C:\strawberry\perl\bin;C:\Program
    Files\TortoiseSVN\bin;C:\Program Files (x86)\OpenVPN\bin
    PERL_BADLANG (unset)
    SHELL (unset)

Complete configuration data for perl 5.10.1:

Author=''
CONFIG='true'
Date='$Date'
Header=''
Id='$Id'
Locker=''
Log='$Log'
PATCHLEVEL='10'
PERL_API_REVISION='5'
PERL_API_SUBVERSION='0'
PERL_API_VERSION='10'
PERL_CONFIG_SH='true'
PERL_PATCHLEVEL=''
PERL_REVISION='5'
PERL_SUBVERSION='1'
PERL_VERSION='10'
RCSfile='$RCSfile'
Revision='$Revision'
SUBVERSION='1'
Source=''
State=''
_a='.a'
_exe='.exe'
_o='.o'
afs='false'
afsroot='/afs'
alignbytes='8'
ansi2knr=''
aphostname=''
api_revision='5'
api_subversion='0'
api_version='10'
api_versionstring='5.10.0'
ar='ar'
archlib='C:\strawberry\perl\lib'
archlibexp='C:\strawberry\perl\lib'
archname='MSWin32-x86-multi-thread'
archname64=''
archobjs=''
asctime_r_proto='0'
awk='awk'
baserev='5'
bash=''
bin='C:\strawberry\perl\bin'
binexp='C:\strawberry\perl\bin'
bison=''
byacc='byacc'
byteorder='1234'
c=''
castflags='0'
cat='type'
cc='gcc'
cccdlflags=' '
ccdlflags=' '
ccflags=' -s -O2 -DWIN32 -DHAVE_DES_FCRYPT  -DUSE_SITECUSTOMIZE
-DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing
-DPERL_MSVCRT_READFIX'
ccflags_nolargefiles=' -s -O2 -DWIN32 -DHAVE_DES_FCRYPT 
-DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
-fno-strict-aliasing -DPERL_MSVCRT_READFIX'
ccflags_uselargefiles=''
ccname='gcc'
ccsymbols=''
ccversion=''
cf_by='1'
cf_email='[email protected]'
cf_time='Wed Jan 27 23:29:27 2010'
chgrp=''
chmod=''
chown=''
clocktype='clock_t'
comm=''
compress=''
contains='grep'
cp='copy'
cpio=''
cpp='gcc -E'
cpp_stuff='42'
cppccsymbols=''
cppflags='-DWIN32'
cpplast=''
cppminus='-'
cpprun='gcc -E'
cppstdin='gcc -E'
cppsymbols=''
crypt_r_proto='0'
cryptlib=''
csh=''
ctermid_r_proto='0'
ctime_r_proto='0'
d_Gconvert='sprintf((b),"%.*g",(n),(x))'
d_PRIEUldbl=''
d_PRIFUldbl=''
d_PRIGUldbl=''
d_PRIXU64=''
d_PRId64=''
d_PRIeldbl=''
d_PRIfldbl=''
d_PRIgldbl=''
d_PRIi64=''
d_PRIo64=''
d_PRIu64=''
d_PRIx64=''
d_SCNfldbl=''
d__fwalk=''
d_access='define'
d_accessx=''
d_aintl=''
d_alarm='define'
d_archlib='define'
d_asctime64=''
d_asctime_r=''
d_atolf=''
d_atoll=''
d_attribute_deprecated=''
d_attribute_format=''
d_attribute_malloc=''
d_attribute_nonnull=''
d_attribute_noreturn=''
d_attribute_pure=''
d_attribute_unused=''
d_attribute_warn_unused_result=''
d_bcmp=''
d_bcopy=''
d_bsd='define'
d_bsdgetpgrp=''
d_bsdsetpgrp=''
d_builtin_choose_expr=''
d_builtin_expect=''
d_bzero=''
d_c99_variadic_macros=''
d_casti32='define'
d_castneg='define'
d_charvspr=''
d_chown=''
d_chroot=''
d_chsize='define'
d_class=''
d_clearenv=''
d_closedir='define'
d_cmsghdr_s=''
d_const='define'
d_copysignl=''
d_cplusplus=''
d_crypt='define'
d_crypt_r=''
d_csh=''
d_ctermid=''
d_ctermid_r=''
d_ctime64=''
d_ctime_r=''
d_cuserid=''
d_dbl_dig='define'
d_dbminitproto=''
d_difftime='define'
d_difftime64=''
d_dir_dd_fd=''
d_dirfd=''
d_dirnamlen='define'
d_dlerror='define'
d_dlopen='define'
d_dlsymun=''
d_dosuid=''
d_drand48_r=''
d_drand48proto=''
d_dup2='define'
d_eaccess=''
d_endgrent=''
d_endgrent_r=''
d_endhent=''
d_endhostent_r=''
d_endnent=''
d_endnetent_r=''
d_endpent=''
d_endprotoent_r=''
d_endpwent=''
d_endpwent_r=''
d_endsent=''
d_endservent_r=''
d_eofnblk='define'
d_eunice=''
d_faststdio='define'
d_fchdir=''
d_fchmod=''
d_fchown=''
d_fcntl=''
d_fcntl_can_lock=''
d_fd_macros='define'
d_fd_set='define'
d_fds_bits='define'
d_fgetpos='define'
d_finite=''
d_finitel=''
d_flexfnam='define'
d_flock='define'
d_flockproto='define'
d_fork=''
d_fp_class=''
d_fpathconf=''
d_fpclass=''
d_fpclassify=''
d_fpclassl=''
d_fpos64_t=''
d_frexpl=''
d_fs_data_s=''
d_fseeko=''
d_fsetpos='define'
d_fstatfs=''
d_fstatvfs=''
d_fsync=''
d_ftello=''
d_ftime='define'
d_futimes=''
d_gdbm_ndbm_h_uses_prototypes=''
d_gdbmndbm_h_uses_prototypes=''
d_getaddrinfo=''
d_getcwd='define'
d_getespwnam=''
d_getfsstat=''
d_getgrent=''
d_getgrent_r=''
d_getgrgid_r=''
d_getgrnam_r=''
d_getgrps=''
d_gethbyaddr='define'
d_gethbyname='define'
d_gethent=''
d_gethname='define'
d_gethostbyaddr_r=''
d_gethostbyname_r=''
d_gethostent_r=''
d_gethostprotos='define'
d_getitimer=''
d_getlogin='define'
d_getlogin_r=''
d_getmnt=''
d_getmntent=''
d_getnameinfo=''
d_getnbyaddr=''
d_getnbyname=''
d_getnent=''
d_getnetbyaddr_r=''
d_getnetbyname_r=''
d_getnetent_r=''
d_getnetprotos=''
d_getpagsz=''
d_getpbyname='define'
d_getpbynumber='define'
d_getpent=''
d_getpgid=''
d_getpgrp=''
d_getpgrp2=''
d_getppid=''
d_getprior=''
d_getprotobyname_r=''
d_getprotobynumber_r=''
d_getprotoent_r=''
d_getprotoprotos='define'
d_getprpwnam=''
d_getpwent=''
d_getpwent_r=''
d_getpwnam_r=''
d_getpwuid_r=''
d_getsbyname='define'
d_getsbyport='define'
d_getsent=''
d_getservbyname_r=''
d_getservbyport_r=''
d_getservent_r=''
d_getservprotos='define'
d_getspnam=''
d_getspnam_r=''
d_gettimeod='define'
d_gmtime64=''
d_gmtime_r=''
d_gnulibc=''
d_grpasswd=''
d_hasmntopt=''
d_htonl='define'
d_ilogbl=''
d_inc_version_list=''
d_index=''
d_inetaton=''
d_inetntop=''
d_inetpton=''
d_int64_t=''
d_isascii='define'
d_isfinite=''
d_isinf=''
d_isnan='define'
d_isnanl=''
d_killpg='define'
d_lchown=''
d_ldbl_dig='define'
d_libm_lib_version=''
d_link='define'
d_localtime64=''
d_localtime_r=''
d_localtime_r_needs_tzset=''
d_locconv='define'
d_lockf=''
d_longdbl='define'
d_longlong=''
d_lseekproto='define'
d_lstat=''
d_madvise=''
d_malloc_good_size=''
d_malloc_size=''
d_mblen='define'
d_mbstowcs='define'
d_mbtowc='define'
d_memchr='define'
d_memcmp='define'
d_memcpy='define'
d_memmove='define'
d_memset='define'
d_mkdir='define'
d_mkdtemp=''
d_mkfifo=''
d_mkstemp=''
d_mkstemps=''
d_mktime='define'
d_mktime64=''
d_mmap=''
d_modfl=''
d_modfl_pow32_bug=''
d_modflproto=''
d_mprotect=''
d_msg=''
d_msg_ctrunc=''
d_msg_dontroute=''
d_msg_oob=''
d_msg_peek=''
d_msg_proxy=''
d_msgctl=''
d_msgget=''
d_msghdr_s=''
d_msgrcv=''
d_msgsnd=''
d_msync=''
d_munmap=''
d_mymalloc=''
d_ndbm=''
d_ndbm_h_uses_prototypes=''
d_nice=''
d_nl_langinfo=''
d_nv_preserves_uv='define'
d_nv_zero_is_allbits_zero='define'
d_off64_t=''
d_old_pthread_create_joinable=''
d_oldpthreads=''
d_oldsock=''
d_open3=''
d_pathconf=''
d_pause='define'
d_perl_otherlibdirs=''
d_phostname=''
d_pipe='define'
d_poll=''
d_portable='define'
d_printf_format_null=''
d_procselfexe=''
d_pseudofork='define'
d_pthread_atfork=''
d_pthread_attr_setscope=''
d_pthread_yield=''
d_pwage=''
d_pwchange=''
d_pwclass=''
d_pwcomment=''
d_pwexpire=''
d_pwgecos=''
d_pwpasswd=''
d_pwquota=''
d_qgcvt=''
d_quad='define'
d_random_r=''
d_readdir='define'
d_readdir64_r=''
d_readdir_r=''
d_readlink=''
d_readv=''
d_recvmsg=''
d_rename='define'
d_rewinddir='define'
d_rmdir='define'
d_safebcpy=''
d_safemcpy=''
d_sanemcmp='define'
d_sbrkproto=''
d_scalbnl=''
d_sched_yield=''
d_scm_rights=''
d_seekdir='define'
d_select='define'
d_sem=''
d_semctl=''
d_semctl_semid_ds=''
d_semctl_semun=''
d_semget=''
d_semop=''
d_sendmsg=''
d_setegid=''
d_seteuid=''
d_setgrent=''
d_setgrent_r=''
d_setgrps=''
d_sethent=''
d_sethostent_r=''
d_setitimer=''
d_setlinebuf=''
d_setlocale='define'
d_setlocale_r=''
d_setnent=''
d_setnetent_r=''
d_setpent=''
d_setpgid=''
d_setpgrp=''
d_setpgrp2=''
d_setprior=''
d_setproctitle=''
d_setprotoent_r=''
d_setpwent=''
d_setpwent_r=''
d_setregid=''
d_setresgid=''
d_setresuid=''
d_setreuid=''
d_setrgid=''
d_setruid=''
d_setsent=''
d_setservent_r=''
d_setsid=''
d_setvbuf='define'
d_sfio=''
d_shm=''
d_shmat=''
d_shmatprototype=''
d_shmctl=''
d_shmdt=''
d_shmget=''
d_sigaction=''
d_signbit=''
d_sigprocmask=''
d_sigsetjmp=''
d_sitearch='define'
d_snprintf='define'
d_sockatmark=''
d_sockatmarkproto=''
d_socket='define'
d_socklen_t=''
d_sockpair=''
d_socks5_init=''
d_sprintf_returns_strlen='define'
d_sqrtl=''
d_srand48_r=''
d_srandom_r=''
d_sresgproto=''
d_sresuproto=''
d_statblks=''
d_statfs_f_flags=''
d_statfs_s=''
d_statvfs=''
d_stdio_cnt_lval='define'
d_stdio_ptr_lval='define'
d_stdio_ptr_lval_nochange_cnt='define'
d_stdio_ptr_lval_sets_cnt=''
d_stdio_stream_array=''
d_stdiobase='define'
d_stdstdio='define'
d_strchr='define'
d_strcoll='define'
d_strctcpy='define'
d_strerrm='strerror(e)'
d_strerror='define'
d_strerror_r=''
d_strftime='define'
d_strlcat=''
d_strlcpy=''
d_strtod='define'
d_strtol='define'
d_strtold=''
d_strtoll=''
d_strtoq=''
d_strtoul='define'
d_strtoull=''
d_strtouq=''
d_strxfrm='define'
d_suidsafe=''
d_symlink=''
d_syscall=''
d_syscallproto=''
d_sysconf=''
d_sysernlst=''
d_syserrlst='define'
d_system='define'
d_tcgetpgrp=''
d_tcsetpgrp=''
d_telldir='define'
d_telldirproto='define'
d_time='define'
d_timegm=''
d_times='define'
d_tm_tm_gmtoff=''
d_tm_tm_zone=''
d_tmpnam_r=''
d_truncate=''
d_ttyname_r=''
d_tzname='define'
d_u32align='define'
d_ualarm=''
d_umask='define'
d_uname='define'
d_union_semun='define'
d_unordered=''
d_unsetenv=''
d_usleep=''
d_usleepproto=''
d_ustat=''
d_vendorarch='define'
d_vendorbin='define'
d_vendorlib='define'
d_vendorscript=''
d_vfork=''
d_void_closedir=''
d_voidsig='define'
d_voidtty=''
d_volatile='define'
d_vprintf='define'
d_vsnprintf='define'
d_wait4=''
d_waitpid='define'
d_wcstombs='define'
d_wctomb='define'
d_writev=''
d_xenix=''
date='date'
db_hashtype='int'
db_prefixtype='int'
db_version_major='0'
db_version_minor='0'
db_version_patch='0'
defvoidused='15'
direntrytype='struct direct'
dlext='dll'
dlsrc='dl_win32.xs'
doublesize='8'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
dtrace=''
dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper
Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl
File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash IO
MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding
PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname
Text/Soundex Time/HiRes Time/Piece Unicode/Normalize Win32 Win32API/File
XS/APItest XS/Typemap attrs mro re threads threads/shared'
eagain='EAGAIN'
ebcdic=''
echo='echo'
egrep='egrep'
emacs=''
endgrent_r_proto='0'
endhostent_r_proto='0'
endnetent_r_proto='0'
endprotoent_r_proto='0'
endpwent_r_proto='0'
endservent_r_proto='0'
eunicefix=':'
exe_ext='.exe'
expr='expr'
extensions='Attribute/Handlers B Compress/Raw/Bzip2 Compress/Raw/Zlib
Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5
Digest/SHA Encode Errno Fcntl File/Glob Filter/Util/Call GDBM_File
Hash/Util Hash/Util/FieldHash IO IO/Compress List/Util MIME/Base64
Math/BigInt/FastCalc Module/Pluggable Opcode POSIX PerlIO/encoding
PerlIO/scalar PerlIO/via SDBM_File Safe Socket Storable Sys/Hostname
Test/Harness Text/Soundex Time/HiRes Time/Piece Unicode/Normalize Win32
Win32API/File Win32CORE XS/APItest XS/Typemap attrs mro re threads
threads/shared'
extern_C='extern'
extras=''
fflushNULL='define'
fflushall=''
find='find'
firstmakefile='makefile'
flex=''
fpossize='8'
fpostype='fpos_t'
freetype='void'
from=':'
full_ar=''
full_csh=''
full_sed=''
gccansipedantic=''
gccosandvers=''
gccversion='3.4.5'
getgrent_r_proto='0'
getgrgid_r_proto='0'
getgrnam_r_proto='0'
gethostbyaddr_r_proto='0'
gethostbyname_r_proto='0'
gethostent_r_proto='0'
getlogin_r_proto='0'
getnetbyaddr_r_proto='0'
getnetbyname_r_proto='0'
getnetent_r_proto='0'
getprotobyname_r_proto='0'
getprotobynumber_r_proto='0'
getprotoent_r_proto='0'
getpwent_r_proto='0'
getpwnam_r_proto='0'
getpwuid_r_proto='0'
getservbyname_r_proto='0'
getservbyport_r_proto='0'
getservent_r_proto='0'
getspnam_r_proto='0'
gidformat='"ld"'
gidsign='-1'
gidsize='4'
gidtype='gid_t'
git_branch=''
git_commit_id=''
git_commit_id_title=''
git_describe=''
git_uncommitted_changes=''
glibpth='/usr/shlib  /lib/pa1.1 /usr/lib/large /lib /usr/lib
/usr/lib/386 /lib/386 /lib/large /usr/lib/small /lib/small /usr/ccs/lib
/usr/ucblib /usr/shlib '
gmake='gmake'
gmtime_r_proto='0'
gnulibc_version=''
grep='grep'
groupcat=''
groupstype='gid_t'
gzip='gzip'
h_fcntl='false'
h_sysfile='true'
hint='recommended'
hostcat='ypcat hosts'
html1dir=''
html1direxp=''
html3dir=''
html3direxp=''
i16size='2'
i16type='short'
i32size='4'
i32type='long'
i64size='8'
i64type='long long'
i8size='1'
i8type='char'
i_arpainet='define'
i_assert='define'
i_bsdioctl=''
i_crypt=''
i_db=''
i_dbm=''
i_dirent='define'
i_dld=''
i_dlfcn='define'
i_fcntl='define'
i_float='define'
i_fp=''
i_fp_class=''
i_gdbm='define'
i_gdbm_ndbm=''
i_gdbmndbm=''
i_grp=''
i_ieeefp=''
i_inttypes=''
i_langinfo=''
i_libutil=''
i_limits='define'
i_locale='define'
i_machcthr=''
i_malloc='define'
i_mallocmalloc=''
i_math='define'
i_memory=''
i_mntent=''
i_ndbm=''
i_netdb=''
i_neterrno=''
i_netinettcp=''
i_niin=''
i_poll=''
i_prot=''
i_pthread=''
i_pwd=''
i_rpcsvcdbm='define'
i_sfio=''
i_sgtty=''
i_shadow=''
i_socks=''
i_stdarg='define'
i_stddef='define'
i_stdlib='define'
i_string='define'
i_sunmath=''
i_sysaccess=''
i_sysdir=''
i_sysfile=''
i_sysfilio='define'
i_sysin=''
i_sysioctl=''
i_syslog=''
i_sysmman=''
i_sysmode=''
i_sysmount=''
i_sysndir=''
i_sysparam=''
i_syspoll=''
i_sysresrc=''
i_syssecrt=''
i_sysselct=''
i_syssockio=''
i_sysstat='define'
i_sysstatfs=''
i_sysstatvfs=''
i_systime=''
i_systimek=''
i_systimes=''
i_systypes='define'
i_sysuio=''
i_sysun=''
i_sysutsname=''
i_sysvfs=''
i_syswait=''
i_termio=''
i_termios=''
i_time='define'
i_unistd=''
i_ustat=''
i_utime='define'
i_values=''
i_varargs=''
i_varhdr='varargs.h'
i_vfork=''
ignore_versioned_solibs=''
inc_version_list=''
inc_version_list_init='0'
incpath='C:\strawberry\c\include'
inews=''
initialinstalllocation=''
installarchlib='C:\strawberry\perl\lib'
installbin='C:\strawberry\perl\bin'
installhtml1dir=''
installhtml3dir=''
installhtmldir=''
installhtmlhelpdir=''
installman1dir=''
installman3dir=''
installprefix='C:\strawberry\perl'
installprefixexp='C:\strawberry\perl'
installprivlib='C:\strawberry\perl\lib'
installscript='C:\strawberry\perl\bin'
installsitearch='C:\strawberry\perl\site\lib'
installsitebin='C:\strawberry\perl\bin'
installsitehtml1dir=''
installsitehtml3dir=''
installsitelib='C:\strawberry\perl\site\lib'
installsiteman1dir=''
installsiteman3dir=''
installsitescript=''
installstyle='lib'
installusrbinperl=''
installvendorarch='C:\strawberry\perl\vendor\lib'
installvendorbin='C:\strawberry\perl\bin'
installvendorhtml1dir=''
installvendorhtml3dir=''
installvendorlib='C:\strawberry\perl\vendor\lib'
installvendorman1dir=''
installvendorman3dir=''
installvendorscript=''
intsize='4'
issymlink=''
ivdformat='"ld"'
ivsize='4'
ivtype='long'
known_extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File
Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA
Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util
Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV MIME/Base64
Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding
PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname
Sys/Syslog Text/Soundex Time/HiRes Time/Piece Unicode/Normalize Win32
Win32API/File Win32CORE XS/APItest XS/Typemap attrs mro re threads
threads/shared'
ksh=''
ld='g++'
lddlflags='-mdll -s -L"C:\strawberry\perl\lib\CORE"
-L"C:\strawberry\c\lib"'
ldflags='-s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"'
ldflags_nolargefiles='-s -L"C:\strawberry\perl\lib\CORE"
-L"C:\strawberry\c\lib"'
ldflags_uselargefiles=''
ldlibpthname=''
less='less'
lib_ext='.a'
libc=''
libperl='libperl510.a'
libpth='C:\strawberry\c\lib'
libs=' -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32
-ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr
-lwinmm -lversion -lodbc32 -lodbccp32'
libs_nolargefiles='-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool
-lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid
-lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32'
libsdirs=''
libsfiles=''
libsfound=''
libspath=''
libswanted='net socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun
m c cposix posix ndir dir crypt ucb bsd BSD PW x'
libswanted_nolargefiles=''
libswanted_uselargefiles='net socket inet nsl nm ndbm gdbm dbm db malloc
dl dld ld sun m c cposix posix ndir dir crypt ucb bsd BSD PW x'
line='line'
lint=''
lkflags=''
ln=''
lns='copy'
localtime_r_proto='0'
locincpth='/usr/local/include /opt/local/include /usr/gnu/include
/opt/gnu/include /usr/GNU/include /opt/GNU/include'
loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib
/usr/GNU/lib /opt/GNU/lib'
longdblsize='12'
longlongsize='8'
longsize='4'
lp=''
lpr=''
ls='dir'
lseeksize='8'
lseektype='long long'
mad=''
madlyh=''
madlyobj=''
madlysrc=''
mail=''
mailx=''
make='dmake'
make_set_make='#'
mallocobj='malloc.o'
mallocsrc='malloc.c'
malloctype='void *'
man1dir=''
man1direxp=''
man1ext='1'
man3dir=''
man3direxp=''
man3ext='3'
mips_type=''
mistrustnm=''
mkdir='mkdir'
mmaptype='void *'
modetype='mode_t'
more='more /e'
multiarch=''
mv=''
myarchname='MSWin32'
mydomain=''
myhostname=''
myuname='Win32 strawberryperl 5.10.1.1 #1 1264655466 i386'
n='-n'
need_va_copy=''
netdb_hlen_type='int'
netdb_host_type='char *'
netdb_name_type='char *'
netdb_net_type='long'
nm='nm'
nm_opt=''
nm_so_opt=''
nonxs_ext='Attribute/Handlers Errno IO/Compress List/Util
Module/Pluggable Safe Test/Harness'
nroff=''
nvEUformat='"E"'
nvFUformat='"F"'
nvGUformat='"G"'
nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
nv_preserves_uv_bits='32'
nveformat='"e"'
nvfformat='"f"'
nvgformat='"g"'
nvsize='8'
nvtype='double'
o_nonblock='O_NONBLOCK'
obj_ext='.o'
old_pthread_create_joinable=''
optimize='-s -O2'
orderlib='false'
osname='MSWin32'
osvers='5.1'
otherlibdirs=''
package='perl5'
pager='more /e'
passcat=''
patchlevel='10'
path_sep=';'
perl='perl'
perl5=''
perl_patchlevel=''
perladmin=''
perllibs=' -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32
-ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr
-lwinmm -lversion -lodbc32 -lodbccp32'
perlpath='C:\strawberry\perl\bin\perl.exe'
pg=''
phostname='hostname'
pidtype='int'
plibpth=''
pmake=''
pr=''
prefix='C:\strawberry\perl'
prefixexp='C:\strawberry\perl'
privlib='C:\strawberry\perl\lib'
privlibexp='C:\strawberry\perl\lib'
procselfexe=''
prototype='define'
ptrsize='4'
quadkind='3'
quadtype='long long'
randbits='15'
randfunc='rand'
random_r_proto='0'
randseedtype='unsigned'
ranlib='rem'
rd_nodata='-1'
readdir64_r_proto='0'
readdir_r_proto='0'
revision='5'
rm='del'
rm_try=''
rmail=''
run=''
runnm='true'
sGMTIME_max='2147483647'
sGMTIME_min='0'
sLOCALTIME_max='2147483647'
sLOCALTIME_min='0'
sPRIEUldbl='"E"'
sPRIFUldbl='"F"'
sPRIGUldbl='"G"'
sPRIXU64='"lX"'
sPRId64='"ld"'
sPRIeldbl='"e"'
sPRIfldbl='"f"'
sPRIgldbl='"g"'
sPRIi64='"li"'
sPRIo64='"lo"'
sPRIu64='"lu"'
sPRIx64='"lx"'
sSCNfldbl='"f"'
sched_yield=''
scriptdir='C:\strawberry\perl\bin'
scriptdirexp='C:\strawberry\perl\bin'
sed='sed'
seedfunc='srand'
selectminbits='32'
selecttype='Perl_fd_set *'
sendmail='blat'
setgrent_r_proto='0'
sethostent_r_proto='0'
setlocale_r_proto='0'
setnetent_r_proto='0'
setprotoent_r_proto='0'
setpwent_r_proto='0'
setservent_r_proto='0'
sh='cmd /x /c'
shar=''
sharpbang='#!'
shmattype='void *'
shortsize='2'
shrpenv=''
shsharp='true'
sig_count='26'
sig_name='ZERO HUP INT QUIT ILL NUM05 NUM06 NUM07 FPE KILL NUM10 SEGV
NUM12 PIPE ALRM TERM NUM16 NUM17 NUM18 NUM19 CHLD BREAK ABRT STOP NUM24
CONT CLD'
sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "NUM05", "NUM06",
"NUM07", "FPE", "KILL", "NUM10", "SEGV", "NUM12", "PIPE", "ALRM",
"TERM", "NUM16", "NUM17", "NUM18", "NUM19", "CHLD", "BREAK", "ABRT",
"STOP", "NUM24", "CONT", "CLD", 0'
sig_num='0 1 2 21 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
24 25 20'
sig_num_init='0, 1, 2, 21, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0'
sig_size='27'
signal_t='void'
sitearch='C:\strawberry\perl\site\lib'
sitearchexp='C:\strawberry\perl\site\lib'
sitebin='C:\strawberry\perl\site\bin'
sitebinexp='C:\strawberry\perl\site\bin'
sitehtml1dir=''
sitehtml1direxp=''
sitehtml3dir=''
sitehtml3direxp=''
sitelib='C:\strawberry\perl\site\lib'
sitelib_stem=''
sitelibexp='C:\strawberry\perl\site\lib'
siteman1dir=''
siteman1direxp=''
siteman3dir=''
siteman3direxp=''
siteprefix='C:\strawberry\perl\site'
siteprefixexp='C:\strawberry\perl\site'
sitescript=''
sitescriptexp=''
sizesize='4'
sizetype='size_t'
sleep=''
smail=''
so='dll'
sockethdr=''
socketlib=''
socksizetype='int'
sort='sort'
spackage='Perl5'
spitshell=''
srand48_r_proto='0'
srandom_r_proto='0'
src=''
ssizetype='int'
startperl='#!perl'
startsh='#!/bin/sh'
static_ext='Win32CORE'
stdchar='char'
stdio_base='((fp)->_base)'
stdio_bufsiz='((fp)->_cnt + (fp)->_ptr - (fp)->_base)'
stdio_cnt='((fp)->_cnt)'
stdio_filbuf=''
stdio_ptr='((fp)->_ptr)'
stdio_stream_array=''
strerror_r_proto='0'
strings='/usr/include/string.h'
submit=''
subversion=''
sysman=''
tail=''
tar=''
targetarch=''
tbl=''
tee=''
test=''
timeincl='/usr/include/sys/time.h '
timetype='time_t'
tmpnam_r_proto='0'
to=':'
touch='touch'
tr=''
trnl='\012'
troff=''
ttyname_r_proto='0'
u16size='2'
u16type='unsigned short'
u32size='4'
u32type='unsigned long'
u64size='8'
u64type='unsigned long long'
u8size='1'
u8type='unsigned char'
uidformat='"ld"'
uidsign='-1'
uidsize='4'
uidtype='uid_t'
uname='uname'
uniq='uniq'
uquadtype='unsigned long long'
use5005threads=''
use64bitall=''
use64bitint=''
usecrosscompile=''
usedevel=''
usedl='define'
usedtrace=''
usefaststdio=''
useithreads='define'
uselargefiles='define'
uselongdouble=''
usemallocwrap='define'
usemorebits=''
usemultiplicity='define'
usemymalloc='n'
usenm='false'
useopcode='true'
useperlio='define'
useposix='true'
usereentrant=''
userelocatableinc=''
usesfio='false'
useshrplib='true'
usesitecustomize='define'
usesocks=''
usethreads='define'
usevendorprefix='define'
usevfork='false'
usrinc='C:\strawberry\c\include'
uuname=''
uvXUformat='"lX"'
uvoformat='"lo"'
uvsize='4'
uvtype='unsigned long'
uvuformat='"lu"'
uvxformat='"lx"'
vendorarch='C:\strawberry\perl\vendor\lib'
vendorarchexp='C:\strawberry\perl\vendor\lib'
vendorbin='C:\strawberry\perl\vendor\bin'
vendorbinexp='C:\strawberry\perl\vendor\bin'
vendorhtml1dir=''
vendorhtml1direxp=''
vendorhtml3dir=''
vendorhtml3direxp=''
vendorlib='C:\strawberry\perl\vendor\lib'
vendorlib_stem=''
vendorlibexp='C:\strawberry\perl\vendor\lib'
vendorman1dir=''
vendorman1direxp=''
vendorman3dir=''
vendorman3direxp=''
vendorprefix='C:\strawberry\perl\vendor'
vendorprefixexp='C:\strawberry\perl\vendor'
vendorscript=''
vendorscriptexp=''
version='5.10.1'
version_patchlevel_string='version 10 subversion 1'
versiononly=''
vi=''
voidflags='15'
xlibpth='/usr/lib/386 /lib/386'
yacc='yacc'
yaccflags=''
zcat=''
zip='zip'
--
Curtis Jewell
[email protected]           http://csjewell.dreamwidth.org/
[email protected]   http://csjewell.comyr.org/perl/

"Your random numbers are not that random" -- perl-5.10.1.tar.gz/util.c

Strawberry Perl for Windows betas: http://strawberryperl.com/beta/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.