diff options
author | Fifer, Eric <EFifer@sanwaint.com> | 2000-08-10 14:15:36 +0100 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2000-08-10 13:00:12 +0000 |
commit | dafcc9122ef615c435cb6713590af4f2ae880a7e (patch) | |
tree | be9ac85927f4acc40f6efd99a36e8c271db49938 /README.cygwin | |
parent | b167eb15ead218b0c77aab44ee8de87e53cdaa01 (diff) | |
download | perl-dafcc9122ef615c435cb6713590af4f2ae880a7e.tar.gz |
cygwin port
Message-ID: <779F20BCCE5AD31186A50008C75D997917176A@silldn_mail1.sanwaint.com>
p4raw-id: //depot/perl@6564
Diffstat (limited to 'README.cygwin')
-rw-r--r-- | README.cygwin | 83 |
1 files changed, 40 insertions, 43 deletions
diff --git a/README.cygwin b/README.cygwin index 2a95ab97c3..886954c36c 100644 --- a/README.cygwin +++ b/README.cygwin @@ -27,20 +27,19 @@ platforms. They run thanks to the Cygwin library which provides the UNIX system calls and environment these programs expect. More information about this project can be found at: - http://sourceware.cygnus.com/cygwin/ + http://sources.redhat.com/cygwin/ A recent net or commercial release of Cygwin is required. -At the time this document was last updated, Cygwin 1.1.2 was current. +At the time this document was last updated, Cygwin 1.1.4 was current. B<NOTE:> At this point, minimal effort has been made to provide compatibility with old (beta) Cygwin releases. The focus has been to provide a high quality release and not worry about working around old -Cygwin bugs. If you wish to use Perl with Cygwin B20.1 or earlier, -consider using perl5.005_03, which is available in source and binary -form at C<http://cygutils.netpedia.net/> or on the Cygwin CD. If there -is significant demand, a patch kit can be developed to port back to -earlier Cygwin versions. +bugs. If you wish to use Perl with Cygwin B20.1 or earlier, consider +using perl5.005_03, which is available in source and binary form at +C<http://cygutils.netpedia.net/>. If there is significant demand, +a patch kit can be developed to port back to earlier Cygwin versions. =head2 Cygwin Configuration @@ -49,11 +48,11 @@ that Perl builds cleanly. These changes are B<not> required for normal Perl usage. B<NOTE:> The binaries that are built will run on all Win32 versions. -They do not depend on your host system (Win9x, WinNT) or your Cygwin -configuration (I<ntea>, I<ntsec>, binary/text mounts). The only -dependencies come from hard-coded pathnames like C</usr/local>. However, -your host system and Cygwin configuration will affect Perl's runtime -behavior (see L</"TEST">). +They do not depend on your host system (Win9x/WinME, WinNT/Win2K) +or your Cygwin configuration (I<ntea>, I<ntsec>, binary/text mounts). +The only dependencies come from hard-coded pathnames like C</usr/local>. +However, your host system and Cygwin configuration will affect Perl's +runtime behavior (see L</"TEST">). =over 4 @@ -72,7 +71,7 @@ Configure will B<not> prompt you to install I<man> pages. On WinNT with either the I<ntea> or I<ntsec> C<CYGWIN> settings, directory and file permissions may not be set correctly. Since the build process -creates files and directories, to be safe you may want to run a `C<chmod +creates directories and files, to be safe you may want to run a `C<chmod -R +w *>' on the entire Perl source tree. Also, it is a well known WinNT "feature" that files created by a login @@ -125,7 +124,10 @@ C<http://cygutils.netpedia.net/>. =item * C<-lcrypt> -The crypt libraries in GNU libc have been ported to Cygwin. +The crypt package distributed with Cygwin is a Linux compatible 56-bit +DES crypt port by Corinna Vinschen. + +Alternatively, the crypt libraries in GNU libc have been ported to Cygwin. The DES based Ultra Fast Crypt port was done by Alexey Truhan: @@ -138,22 +140,21 @@ The MD5 port was done by Andy Piper: ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/porters/Okhapkin_Sergey/libcrypt.tgz -There is also a Linux compatible 56 bit DES crypt port by Corinna -Vinschen: - - ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/porters/Vinschen_Corinna/V1.1.1/crypt-1.0.tar.gz - =item * C<-lgdbm> (C<use GDBM_File>) GDBM is available for Cygwin. GDBM's ndbm/dbm compatibility feature also makes C<NDBM_File> and C<ODBM_File> possible (although they add little extra value). +NOTE: The ndbm/dbm emulations only completely work on NTFS partitions. + =item * C<-ldb> (C<use DB_File>) BerkeleyDB is available for Cygwin. Some details can be found in F<ext/DB_File/DB_File.pm>. +NOTE: The BerkeleyDB library only completely works on NTFS partitions. + =item * C<-lcygipc> (C<use IPC::SysV>) A port of SysV IPC is available for Cygwin. @@ -224,18 +225,6 @@ You may see some messages during Configure that seem suspicious. =over 4 -=item * Whoa There - -Cygwin does not yet implement chroot() functionality, but has a stub -function that returns C<ENOSYS>. You will see a message when Configure -detects that its guess conflicts with the hint file. - - *** WHOA THERE!!! *** - The recommended value for $d_chroot on this machine was "undef"! - Keep the recommended value? [y] - -You should keep the recommended value. - =item * I<dlsym()> I<ld2> is needed to build dynamic libraries, but it does not exist @@ -297,8 +286,8 @@ Warnings like these are normal: warning: overriding commands for target <file> warning: ignoring old commands for target <file> - Warning: no export definition file provided - dllwrap will create one, but may not be what you want + dllwrap: no export definition file provided + dllwrap: creating one, but that may not be what you want =head2 ld2 @@ -326,8 +315,8 @@ running as `C<./perl harness>'. Test results vary depending on your host system and your Cygwin configuration. If a test can pass in some Cygwin setup, it is always attempted and explainable test failures are documented. It is possible -that Perl will pass all the tests, but it is more likely that some tests -will fail for one of these reasons. +for Perl to pass all the tests, but it is more likely that some tests +will fail for one of the reasons listed below. =head2 File Permissions @@ -360,7 +349,7 @@ these options, these tests will fail: FAT partitions do not support hard links (whereas NTFS does), in which case Cygwin implements link() by copying the file. On remote (network) drives Cygwin's stat() always sets C<st_nlink> to 1, so the link count -for remote directories and files is not available. In both cases, +for remote directories and files is not available. In either case, these tests will fail: Failed Test List of failed @@ -389,7 +378,7 @@ the system with messages like: A required .DLL file, CYGWIN1.DLL, was not found WinNT - perl.exe or sh.exe - Unable to Locate DLL + perl.exe - Unable to Locate DLL The dynamic link library cygwin1.dll could not be found in the specified path ... @@ -404,7 +393,7 @@ will fail: Alternatively, you can copy F<cygwin1.dll> into the directory where the tests run: - cp `type -p cygwin1.dll` t + cp /bin/cygwin1.dll t or one of the Windows system directories (although, this is B<not> recommended). @@ -439,9 +428,9 @@ printable characters except these: : * ? " < > | -File names are case insensitive, but case preserving. A pathname -that contains a backslash is a Win32 pathname (and not subject to the -translations applied to POSIX style pathnames). +File names are case insensitive, but case preserving. A pathname that +contains a backslash or drive letter is a Win32 pathname (and not subject +to the translations applied to POSIX style pathnames). =item * Text/Binary @@ -480,6 +469,9 @@ returns C<ENOSYS>. Win9x can not rename() an open file (although WinNT can). +The Cygwin chroot() implementation has holes (it can not restrict file +access by native Win32 programs). + =back =head1 INSTALL @@ -580,12 +572,17 @@ be kept as clean as possible. When I<make> starts, it warns about overriding commands for F<perlmain.o>. -`C<make clean>' does not remove library F<.def> and F<.exe.stackdump> +`C<make clean>' does not remove library F<.def> or F<.exe.stackdump> files. The I<ld2> script contains references to the source directory. You should change these to $installbin after `C<make install>'. +Support for swapping real and effective user and group IDs is incomplete. +On WinNT Cygwin provides setuid(), seteuid(), setgid() and setegid(). +However, additional Cygwin calls for manipulating WinNT access tokens +and security contexts are required. + =head1 AUTHORS Charles Wilson <cwilson@ece.gatech.edu>, @@ -597,4 +594,4 @@ Teun Burgers <burgers@ecn.nl>. =head1 HISTORY -Last updated: 20 June 2000 +Last updated: 10 August 2000 |