On Sat, 9 Nov 2002, Chris wrote: > >> Because of binary incompatibilities with 5.6, there's a > >>separate 5.8 repository of ppm packages under > >> http://www.activestate.com/ppmpackages/5.8-windows/ > >> Such packages should be compatible with the perl-5.8 win32 > >> binary we have under > >> ftp://theoryx5.uwinnipeg.ca/pub/other/perl-5.8-win32-bin.tar.gz > >> if you've been using that. > > If you believe this to be true, then am I right in assuming that > Activestate didn't manage to build the 5.8 beta with VC++ 7? > > I'd heard rumors that there was an attempt to build a version of Perl using > VC++ 7 because Microsoft has a free non-optimizing VC++ compiler they ship > with the .NET SDK. I was very excited by this prospect. ::sigh::
That would be nice ... I couldn't tell from ActiveState's site nor from the binary which version of VC++ was used, but the default Win32 Makefile that comes with the ActivePerl sources says that the supported compilers are VC++ 2 through 6, and possibly newer versions, and CCTYPE is defined to be MSVC60, which is appropriate to VC++ 6. So I suspect they used VC++ 6. ActivePerl's 5.8 'perl -V' reports that MULTIPLICITY, USE_ITHREADS, USE_LARGE_FILES, PERL_IMPLICIT_CONTEXT, and PERL_IMPLICIT_SYS was defined at compile time - except for the USE_LARGE_FILES, these are the same as the 5.8 binary on our site. So there may be an incompatibility with there with large files ... For a random test, I took the DBI module from our binary and copied it over into the ActivePerl distribution (which doesn't come with DBI), and the tests from the DBI distribution passed. So there's a binary compatibility present at some level. When I make up a 5.8 repository, though, I'll use the same flags as ActiveState. The 5.8 ppm packages at http://www.activestate.com/ppmpackages/5.8-windows/ seem to be all pure perl packages, and such packages certainly are compatible. However, in their ppd file they define ARCHITECTURE to be "MSWin32-x86-multi-thread-5.8", whereas our binary doesn't have the "-5.8" suffix. Consequently, if you use the ppm utility of our binary and try to install an ActiveState ppm package, or the other way around, a mismatch in architecture name is reported. You can get around that by grabbing the .ppd and .tar.gz files and editing the .ppd file to adjust ARCHITECTURE, and also then adjusting the path to the .tar.gz file. -- best regards, randy