summaryrefslogtreecommitdiff
path: root/README.cygwin
diff options
context:
space:
mode:
authorLeon Timmermans <fawaka@gmail.com>2021-02-07 01:19:28 +0100
committerLeon Timmermans <fawaka@gmail.com>2022-06-14 19:41:17 +0200
commiteceace59944a0229db874069b8a802d58a7880c9 (patch)
tree3dcd834b7766b4d592e6446e6fceb2b47f81ce88 /README.cygwin
parentf15e478c60445e7053811660fb7e10b6c857569e (diff)
downloadperl-eceace59944a0229db874069b8a802d58a7880c9.tar.gz
Update cygwin README file from downstream
Diffstat (limited to 'README.cygwin')
-rw-r--r--README.cygwin73
1 files changed, 15 insertions, 58 deletions
diff --git a/README.cygwin b/README.cygwin
index ab9814a7d3..7baaebab96 100644
--- a/README.cygwin
+++ b/README.cygwin
@@ -31,7 +31,7 @@ L<https://www.cygwin.com/>
A recent net or commercial release of Cygwin is required.
-At the time this document was last updated, Cygwin 1.7.16 was current.
+At the time this document was last updated, Cygwin 3.0.7 was current.
=head2 Cygwin Configuration
@@ -41,8 +41,8 @@ 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 (WinXP/Win2K/Win7) or your
-Cygwin configuration (binary/text mounts, cvgserver).
+They do not depend on your host system or your
+Cygwin configuration (binary/text mounts, cygserver).
The only dependencies come from hard-coded pathnames like F</usr/local>.
However, your host system and Cygwin configuration will affect Perl's
runtime behavior (see L</"TEST">).
@@ -128,11 +128,10 @@ NOTE: The BerkeleyDB library only completely works on NTFS partitions.
A port of SysV IPC is available for Cygwin.
NOTE: This has B<not> been extensively tested. In particular,
-C<d_semctl_semun> is undefined because it fails a Configure test
-and on Win9x the I<shm*()> functions seem to hang. It also creates
-a compile time dependency because F<perl.h> includes F<<sys/ipc.h>>
-and F<<sys/sem.h>> (which will be required in the future when compiling
-CPAN modules). CURRENTLY NOT SUPPORTED!
+C<d_semctl_semun> is undefined because it fails a Configure test. It
+also creates a compile time dependency because F<perl.h> includes
+F<<sys/ipc.h>> and F<<sys/sem.h>> (which will be required in the
+future when compiling CPAN modules). CURRENTLY NOT SUPPORTED!
=item * C<-lutil>
@@ -201,42 +200,6 @@ build perl from sources.
=back
-=head2 Suspicious Warnings on Cygwin
-
-You may see some messages during Configure that seem suspicious.
-
-=over 4
-
-=item * Win9x and C<d_eofnblk>
-
-Win9x does not correctly report C<EOF> with a non-blocking read on a
-closed pipe. You will see the following messages:
-
- But it also returns -1 to signal EOF, so be careful!
- WARNING: you can't distinguish between EOF and no data!
-
- *** WHOA THERE!!! ***
- The recommended value for $d_eofnblk on this machine was
- "define"!
- Keep the recommended value? [y]
-
-At least for consistency with WinNT, you should keep the recommended
-value.
-
-=item * Compiler/Preprocessor defines
-
-The following error occurs because of the Cygwin C<#define> of
-C<_LONG_DOUBLE>:
-
- Guessing which symbols your C compiler and preprocessor define...
- try.c:<line#>: missing binary operator
-
-This failure does not seem to cause any problems. With older gcc
-versions, "parse error" is reported instead of "missing binary
-operator".
-
-=back
-
=head1 MAKE ON CYGWIN
Simply run I<make> and wait:
@@ -329,8 +292,8 @@ to portability, more information can be found in the Cygwin documentation.
=item * Pathnames
Cygwin pathnames are separated by forward (F</>) slashes, Universal
-Naming Codes (F<//UNC>) are also supported Since cygwin-1.7 non-POSIX
-pathnames are discouraged. Names may contain all printable
+Naming Codes (F<//UNC>) are also supported. Since cygwin-1.7 non-POSIX
+pathnames should not be used. Names may contain all printable
characters.
File names are case insensitive, but case preserving. A pathname that
@@ -419,30 +382,24 @@ or:
as parent(0x6FB30000) != 0x6FE60000 46 [main] perl 3488 fork: child
3588 - died waiting for dll loading, errno11
-See L<https://cygwin.com/faq/faq-nochunks.html#faq.using.fixing-fork-failures>
+See L<https://cygwin.com/faq/faq.html#faq.using.fixing-fork-failures>
It helps if not too many DLLs are loaded in memory so the available address space is larger,
e.g. stopping the MS Internet Explorer might help.
-Use the perlrebase or rebase utilities to resolve the conflicting dll addresses.
++Use the rebase utilities to resolve the conflicting dll addresses.
The rebase package is included in the Cygwin setup. Use F<setup.exe>
from L<https://cygwin.com/install.html> to install it.
-1. kill all perl processes and run C<perlrebase> or
-
-2. kill all cygwin processes and services, start dash from cmd.exe and run C<rebaseall>.
+1. kill all perl processes and run
+ C<</bin/find <dir> -xdev -name \*.dll | /bin/rebase -OT ->> or
-=item * C<chown()>
-
-On WinNT C<chown()> can change a file's user and group IDs. On Win9x C<chown()>
-is a no-op, although this is appropriate since there is no security model.
+2. kill all cygwin processes and services, and run setup.exe.
=item * Miscellaneous
File locking using the C<F_GETLK> command to C<fcntl()> is a stub that
returns C<ENOSYS>.
-Win9x can not C<rename()> an open file (although WinNT can).
-
The Cygwin C<chroot()> implementation has holes (it can not restrict file
access by native Win32 programs).
@@ -774,4 +731,4 @@ Jerry D. Hedden <jdhedden@cpan.org>.
=head1 HISTORY
-Last updated: 2012-02-08
+Last updated: 2019-11-14