Hi,
I downloaded ActivePerl-5_6_0_613.msi, installed it on my Windows NT
4.0, SR 5, and saw that it did not have large file support compiled in.
Before going on, does anyone know if ActiveState plans to offer such a
precompiled build in the near future, or can anyone point me to one?
In the meantime, I have tried to compile Perl myself using the Microsoft
Visual C++ 5.0 compiler (cl.exe). I have dowloaded "stable-5_6_0.zip",
extracted it into "C:\perl-5.6.0", and have added the following line
to "C:\perl-5.6.0\win32\Makefile":
BUILDOPT = $(BUILDOPT) -Duselargefiles -Duse64bitint
Running
nmake
nmake test
nmake install
goes without any problems.
On the LAN (mapped network drive L:), I have prepared a file larger
than two gigabytes:
Directory of L:\
05/16/00 12:20p 2,281,012,337 testsize.txt
I wrote a two-line script "printsize.pl":
my $size = -s $ARGV[0];
print "\$size = $size\n";
which works fine on files smaller than two gigabytes, but not on
"testsize.txt". Running
perl.exe C:\temp\printsize.pl L:\testsize.txt
gives this result:
$size = -2013954959
Here's the output of "perl.exe -V":
Summary of my perl5 (revision 5 version 6 subversion 0) configuration:
Platform:
osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
usethreads=undef use5005threads=undef useithreads=define usemultiplicity=def
ine
useperlio=undef d_sfio=undef uselargefiles=undef
use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
Compiler:
cc='cl', optimize='-Od -MD -DNDEBUG', gccversion=
cppflags='-DWIN32'
ccflags ='-Od -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -Duselargefiles
-Duse64bitint -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX'
stdchar='char', d_stdstdio=define, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize
=4
alignbytes=8, usemymalloc=n, prototype=define
Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -release -libpath:"c:\perl-5.6-o
wn\5.6.0\lib\MSWin32-x86-multi-thread\CORE" -machine:x86'
libpth="C:\Program Files\DevStudio\VC\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 wsoc
k32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib
libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl56.lib
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release -libpath:"c:
\perl-5.6-own\5.6.0\lib\MSWin32-x86-multi-thread\CORE" -machine:x86'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS PERL_IMPLICIT_CONTEXT PERL_IMP
LICIT_SYS
Built under MSWin32
Compiled at May 22 2000 11:36:55
@INC:
C:/perl-5.6-own/5.6.0/lib/MSWin32-x86-multi-thread
C:/perl-5.6-own/5.6.0/lib
C:/perl-5.6-own/site/5.6.0/lib/MSWin32-x86-multi-thread
C:/perl-5.6-own/site/5.6.0/lib
.
As you can see, the CC options -Duselargefiles & -Duse64bitint have
been used during compilation, but still Perl's "-s" operator does not
work.
Anyone any idea? Does it have to do with the fact that the file comes
from a mapped drive? Unlikely, since the "dir L:" output is correct.
Thanks in advance for your help,
Frederik
---
You are currently subscribed to perl-win32-users as: [archive@jab.org]
To unsubscribe, forward this message to
[EMAIL PROTECTED]
For non-automated Mailing List support, send email to
[EMAIL PROTECTED]