Jan Dubois schrieb:
I've installed the latest Cygwin perl using the standard setup.exe.
While the local changes claim that Win32CORE has been statically linked,
it doesn't seem to be working:

C:>perl -E "say for sort keys %Win32::"

C:>perl -V
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
  Platform:
    osname=cygwin, osvers=1.5.25(0.15642), archname=cygwin-thread-multi-64int
    uname='cygwin_nt-5.1 atgrzwn502840 1.5.25(0.15642) 2008-05-26 20:37 i686 
cygwin '
    config_args='-de -Dmksymlinks -Dusethreads -Dmad=y'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=undef, uselongdouble=undef
    usemymalloc=y, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -mms-bitfields 
-fno-strict-aliasing -pipe -/usr/local/include',
    optimize='-O3',
    cppflags='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -mms-bitfields 
-fno-strict-aliasing -pipe -I/usr/local/include'
    ccversion='', gccversion='3.4.4 (cygming special, gdc 0.12, using dmd 
0.125)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='g++', ldflags =' -Wl,--enable-auto-import -Wl,--export-all-symbols 
-Wl,--stack,8388608 -Wl,--enable-auto-image-base
-L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib /lib
    libs=-lgdbm -ldb -ldl -lcrypt -lgdbm_compat
    perllibs=-ldl -lcrypt -lgdbm_compat
    libc=/usr/lib/libc.a, so=dll, useshrplib=true, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags=' --shared  -Wl,--enable-auto-import 
-Wl,--export-all-symbols -Wl,--stack,8388608
-Wl,--enable-auto-image-base -L/usr/local/lib'


Characteristics of this binary (from libperl):
  Compile-time options: MULTIPLICITY MYMALLOC PERL_DONT_CREATE_GVSV
                        PERL_IMPLICIT_CONTEXT PERL_MAD PERL_USE_SAFE_PUTENV
                        USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
                        USE_PERLIO USE_REENTRANT_API
  Locally applied patches:
        CYG04 major version
        CYG11 no-bs
        CYG12 no archlib in otherlibdirs
        CYG14 Dynaloader
        CYG15 static-Win32CORE
        CYG18 File::Spec::case_tolerant performance fix
        32813 ExtUtils::Install update
        32891 aassign_common
        32909 smartmatch-deparse
        32933 clone-seen_eval
        32938 refcount-reg_curpm
        33239 unpack-in-scalar-context
        33807 sv_setsv_flags crash with gv
        33937 sort magic crash
  Built under cygwin
  Compiled at Jun  1 2008 18:17:45
  %ENV:
    PERLDB_OPTS="RemotePort=127.0.0.1:2000"
    CYGWIN="nontsec"
  @INC:
    /usr/lib/perl5/5.10/i686-cygwin
    /usr/lib/perl5/5.10
    /usr/lib/perl5/site_perl/5.10/i686-cygwin
    /usr/lib/perl5/site_perl/5.10
    /usr/lib/perl5/vendor_perl/5.10/i686-cygwin
    /usr/lib/perl5/vendor_perl/5.10
    /usr/lib/perl5/vendor_perl/5.10
    /usr/lib/perl5/site_perl/5.8
    .

Any ideas?

My oh my! Bad testing.

$ perl5.10.0-4 -E "say for sort keys %Win32::"

$ perl5.10.0-5 -E "say for sort keys %Win32::"
CopyFile
DomainName
FormatMessage
FsType
GetCwd
GetFullPathName
GetLastError
GetLongPathName
GetNextAvailDrive
GetOSVersion
GetShortPathName
GetTickCount
IsWin95
IsWinNT
LoginName
NodeName
SetCwd
SetLastError
Sleep
Spawn

I really need to add such a test to core.
Win32CORE.o is indeed statically linked to the dll and the
two Win32CORE functions are there:
$ nm cygperl5_10d.dll |grep CORE
523143f2 T _boot_Win32CORE
523143f7 T _init_Win32CORE

But it is not correctly initialized somehow in -4.
And it's the exe's fault, not the dll.
I suppose _init_Win32CORE is not called, because Config{static_ext} was cleared.

version -5 currently in testing:
$ perl -V
Summary of my perl5 (revision 5 version 10 subversion 0 patch 34065) configuration:
  Platform:
osname=cygwin, osvers=1.5.25(0.15642), archname=cygwin-thread-multi-64int uname='cygwin_nt-5.1 reini 1.5.25(0.15642) 2008-06-12 19:34 i686 cygwin '
    config_args='-de -Dmksymlinks -Dusethreads -Dmad=y -Dusedevel'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=undef, uselongdouble=undef
    usemymalloc=y, bincompat5005=undef
  Compiler:
cc='gcc', ccflags ='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -fno-strict-aliasing -pipe -I/usr/local/include',
    optimize='-O3',
cppflags='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -fno-strict-aliasing -pipe -I/usr/local/include' ccversion='', gccversion='3.4.4 (cygming special, gdc 0.12, using dmd 0.125)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
ld='g++', ldflags =' -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--stack,8388608 -Wl,--enable-auto-image-base -L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib /lib
    libs=-lgdbm -ldb -ldl -lcrypt -lgdbm_compat
    perllibs=-ldl -lcrypt
    libc=/usr/lib/libc.a, so=dll, useshrplib=true, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags=' --shared -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--stack,8388608 -Wl,--enable-auto-image-base -L/usr/local/lib'


Characteristics of this binary (from libperl):
  Compile-time options: MULTIPLICITY MYMALLOC PERL_DONT_CREATE_GVSV
                        PERL_IMPLICIT_CONTEXT PERL_MAD PERL_MALLOC_WRAP
                        PERL_USE_SAFE_PUTENV USE_64_BIT_INT USE_ITHREADS
                        USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API
  Locally applied patches:
        MAINT34065
        CYG11 no-bs
        CYG12 no archlib in otherlibdirs
        CYG14 Dynaloader
        CYG15 static-Win32CORE
        Bug#55162 File::Spec::case_tolerant performance
  Built under cygwin
  Compiled at Jun 30 2008 16:05:15
  %ENV:
    CYGWIN="server"
  @INC:
    /usr/lib/perl5/5.10/i686-cygwin
    /usr/lib/perl5/5.10
    /usr/lib/perl5/site_perl/5.10/i686-cygwin
    /usr/lib/perl5/site_perl/5.10
    /usr/lib/perl5/vendor_perl/5.10/i686-cygwin
    /usr/lib/perl5/vendor_perl/5.10
    /usr/lib/perl5/vendor_perl/5.10
    /usr/lib/perl5/site_perl/5.8
    /usr/lib/perl5/vendor_perl/5.8
    .

I'll try my luck with this one now.
--
Reini Urban
http://phpwiki.org/  http://murbreak.at/

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply via email to