ນີ້ແມ່ນຄໍາສັ່ງ perlcygwin ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
perlcygwin - Perl ສໍາລັບ Cygwin
ສະຫຼຸບສັງລວມ
ເອກະສານນີ້ຈະຊ່ວຍໃຫ້ທ່ານຕັ້ງຄ່າ, ສ້າງ, ທົດສອບ ແລະຕິດຕັ້ງ Perl ໃນ Cygwin. ນີ້
ເອກະສານຍັງອະທິບາຍລັກສະນະຂອງ Cygwin ທີ່ຈະສົ່ງຜົນກະທົບຕໍ່ການປະພຶດຂອງ Perl ໃນເວລາແລ່ນ.
ຫມາຍເຫດ: ມີຊຸດ Perl ທີ່ສ້າງໄວ້ກ່ອນສໍາລັບ Cygwin ແລະສະບັບຂອງ Perl ແມ່ນ
ສະຫນອງໃຫ້ຢູ່ໃນການຕິດຕັ້ງ Cygwin ປົກກະຕິ. ຖ້າທ່ານບໍ່ຈໍາເປັນຕ້ອງປັບແຕ່ງການຕັ້ງຄ່າ,
ພິຈາລະນານໍາໃຊ້ຫນຶ່ງໃນຊຸດເຫຼົ່ານັ້ນ.
ເງື່ອນໄຂເບື້ອງຕົ້ນ FOR ການລວບລວມ ໄຂ່ມຸກ ON ໄຊກວິນ
Cygwin = GNU+Cygnus+Windows (ຢ່າ ອອກຈາກ UNIX ໂດຍບໍ່ມີການ ມັນ)
ເຄື່ອງມື Cygwin ແມ່ນພອດຂອງເຄື່ອງມືພັດທະນາ GNU ທີ່ນິຍົມສໍາລັບເວທີ Win32. ພວກເຂົາ
ແລ່ນຂໍຂອບໃຈກັບຫ້ອງສະຫມຸດ Cygwin ທີ່ສະຫນອງການໂທລະບົບ UNIX ແລະສະພາບແວດລ້ອມ
ໂຄງການເຫຼົ່ານີ້ຄາດຫວັງ. ຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບໂຄງການນີ້ສາມາດພົບໄດ້ທີ່:
<http://www.cygwin.com/>
ຕ້ອງການການປ່ອຍສຸດທິຫຼືການຄ້າຂອງ Cygwin ທີ່ຜ່ານມາ.
ໃນເວລາທີ່ເອກະສານນີ້ໄດ້ຖືກປັບປຸງຫຼ້າສຸດ, Cygwin 1.7.16 ແມ່ນປະຈຸບັນ.
Cygwin ການຕັ້ງຄ່າ
ໃນຂະນະທີ່ການສ້າງ Perl ການປ່ຽນແປງບາງຢ່າງອາດຈະມີຄວາມຈໍາເປັນຕໍ່ການຕິດຕັ້ງ Cygwin ຂອງທ່ານເພື່ອວ່າ Perl ກໍ່ສ້າງ
ສະອາດ. ການປ່ຽນແປງເຫຼົ່ານີ້ແມ່ນ ບໍ່ ຕ້ອງການສໍາລັບການນໍາໃຊ້ Perl ປົກກະຕິ.
ຫມາຍເຫດ: ໄບນາຣີທີ່ສ້າງຂຶ້ນຈະແລ່ນຢູ່ໃນທຸກລຸ້ນ Win32. ພວກເຂົາເຈົ້າບໍ່ໄດ້ຂຶ້ນກັບ
ລະບົບໂຮດຂອງທ່ານ (WinXP/Win2K/Win7) ຫຼືການຕັ້ງຄ່າ Cygwin ຂອງທ່ານ (binary/text mounts,
cvgserver). ການເພິ່ງພາອາໄສພຽງແຕ່ມາຈາກຊື່ເສັ້ນທາງທີ່ມີລະຫັດຍາກເຊັ່ນ / usr / ທ້ອງຖິ່ນ.
ຢ່າງໃດກໍ່ຕາມ, ລະບົບໂຮດຂອງທ່ານແລະການຕັ້ງຄ່າ Cygwin ຈະສົ່ງຜົນກະທົບຕໍ່ພຶດຕິກໍາການແລ່ນຂອງ Perl
(ເບິ່ງ "ທົດສອບ").
· "ເສັ້ນທາງ"
ຕັ້ງຄ່າຕົວແປສະພາບແວດລ້ອມ "PATH" ເພື່ອໃຫ້ Configure ຊອກຫາເວີຊັນ Cygwin ຂອງ
ໂຄງການ. ທຸກໄດເລກະທໍລີ Windows ທີ່ບໍ່ຈໍາເປັນຄວນຈະຖືກໂຍກຍ້າຍອອກຫຼືຍ້າຍໄປໃນຕອນທ້າຍຂອງ
"ເສັ້ນທາງ".
· ບໍ່ມີ
ຖ້າທ່ານບໍ່ມີ ບໍ່ມີ (ຊຶ່ງເປັນສ່ວນຫນຶ່ງຂອງ Groff package), configure will ບໍ່
ເຕືອນໃຫ້ທ່ານຕິດຕັ້ງ ຜູ້ຊາຍ ຫນ້າ.
CONFIGURE ໄຂ່ມຸກ ON ໄຊກວິນ
ທາງເລືອກໃນຕອນຕົ້ນເກັບກໍາໂດຍການຕັ້ງຄ່າໂດຍການຊ່ວຍເຫຼືອຂອງ hints/cygwin.sh ຈະ
ສ້າງ Perl ທີ່ສະຫນັບສະຫນູນການໂຫຼດແບບເຄື່ອນໄຫວ (ເຊິ່ງຮຽກຮ້ອງໃຫ້ມີການແບ່ງປັນ cygperl5_16.dll).
ນີ້ຈະດໍາເນີນການ Configure ແລະຮັກສາບັນທຶກ:
./Configure 2>&1 | tee log.configure
ຖ້າຫາກວ່າທ່ານເຕັມໃຈທີ່ຈະຍອມຮັບຄ່າເລີ່ມຕົ້ນທັງຫມົດດໍາເນີນການ Configure ກັບ -from. ຢ່າງໃດກໍຕາມ, ຫຼາຍ
ການປັບແຕ່ງທີ່ເປັນປະໂຫຍດແມ່ນມີຢູ່.
Stripping Perl ໄບນາລີ on Cygwin
ມັນເປັນໄປໄດ້ທີ່ຈະລອກເອົາ EXEs ແລະ DLLs ທີ່ສ້າງຂຶ້ນໂດຍຂະບວນການສ້າງ. ຜົນໄດ້ຮັບ
binary ຈະນ້ອຍລົງຢ່າງຫຼວງຫຼາຍ. ຖ້າທ່ານຕ້ອງການໃຫ້ binaries ຖືກລອກອອກ, ທ່ານສາມາດເຮັດໄດ້
ອາດຈະເພີ່ມ a -s ທາງເລືອກໃນເວລາທີ່ Configure ເຕືອນທ່ານ,
ທຸງ ld ໃດໆເພີ່ມເຕີມ (ບໍ່ລວມທັງຫ້ອງສະຫມຸດ)? [ບໍ່ມີ] -s
ທຸງພິເສດໃດນຶ່ງທີ່ຈະສົ່ງຜ່ານໄປຫາ g++ ເພື່ອສ້າງຫ້ອງສະໝຸດທີ່ໂຫລດແບບໄດນາມິກບໍ?
[ບໍ່ມີ] -s
ທຸງພິເສດໃດໆທີ່ຈະຜ່ານໄປຫາ gcc ເພື່ອໃຊ້ການເຊື່ອມໂຍງແບບເຄື່ອນໄຫວ? [ບໍ່ມີ] -s
ຫຼືທ່ານສາມາດແກ້ໄຂ hints/cygwin.sh ແລະບໍ່ສະແດງຄໍາຄິດເຫັນຕົວແປທີ່ກ່ຽວຂ້ອງຢູ່ໃກ້ກັບທ້າຍຂອງ
ຍື່ນ.
ຖ້າຕ້ອງການ ຫ້ອງສະຫມຸດ ສໍາລັບການ Perl on Cygwin
ຟັງຊັນແລະໂມດູນ Perl ຫຼາຍແມ່ນຂຶ້ນກັບການມີຢູ່ຂອງບາງຫ້ອງສະຫມຸດທາງເລືອກ.
Configure ຈະຊອກຫາພວກມັນຖ້າພວກເຂົາຖືກຕິດຕັ້ງຢູ່ໃນຫນຶ່ງຂອງໄດເລກະທໍລີທີ່ລະບຸວ່າເປັນ
ໃຊ້ສໍາລັບການຊອກຫາຫ້ອງສະຫມຸດ. ການຫຸ້ມຫໍ່ທາງສ່ວນຫນ້າຂອງການກໍ່ສ້າງສໍາລັບສ່ວນໃຫຍ່ເຫຼົ່ານີ້ແມ່ນມີຢູ່ໃນ
ຕົວຕິດຕັ້ງ Cygwin.
· "-lcrypt"
ຊຸດ crypt ທີ່ແຈກຢາຍກັບ Cygwin ແມ່ນພອດ crypt DES 56-bit ທີ່ເຂົ້າກັນໄດ້ກັບ Linux
ໂດຍ Corinna Vinschen.
ອີກທາງເລືອກ, ຫ້ອງສະຫມຸດ crypt ໃນ GNU libc ໄດ້ຖືກສົ່ງໄປຫາ Cygwin.
· "-lgdbm_compat" ("ໃຊ້ GDBM_File")
GDBM ມີໃຫ້ສໍາລັບ Cygwin.
ຫມາຍເຫດ: ຫ້ອງສະຫມຸດ GDBM ເຮັດວຽກພຽງແຕ່ໃນ NTFS partitions.
· "-ldb" ("ໃຊ້ DB_File")
BerkeleyDB ມີໃຫ້ສໍາລັບ Cygwin.
ຫມາຍເຫດ: ຫ້ອງສະຫມຸດ BerkeleyDB ພຽງແຕ່ເຮັດວຽກຢ່າງສົມບູນໃນ NTFS partitions.
· "cygserver" ("ໃຊ້ IPC::SysV")
ພອດຂອງ SysV IPC ມີໃຫ້ສໍາລັບ Cygwin.
ຫມາຍເຫດ: ນີ້ມີ ບໍ່ ໄດ້ຮັບການທົດສອບຢ່າງກວ້າງຂວາງ. ໂດຍສະເພາະ, "d_semctl_semun" ແມ່ນ
undefined ເນື່ອງຈາກວ່າມັນລົ້ມເຫລວການທົດສອບ Configure ແລະໃນ Win9x the shm*() ຫນ້າທີ່ເບິ່ງຄືວ່າ
ວາງສາຍ. ມັນຍັງສ້າງການລວບລວມເວລາຂຶ້ນກັບເພາະວ່າ perl.h ປະກອບມີ <sys/ipc.h>
ແລະ <sys/sem.h> (ເຊິ່ງຈະຕ້ອງການໃນອະນາຄົດເມື່ອລວບລວມໂມດູນ CPAN).
ປະຈຸບັນບໍ່ຮອງຮັບ!
· "-lutil"
ລວມມີ Cygwin netrelease ມາດຕະຖານແມ່ນຊຸດ inetutils ເຊິ່ງປະກອບມີ
libutil.a.
ຕັ້ງຄ່າເວລາ ທາງເລືອກໃນການ ສໍາລັບການ Perl on Cygwin
ໄດ້ ການຕິດຕັ້ງ ເອກະສານອະທິບາຍຕົວເລືອກການຕັ້ງຄ່າເວລາຫຼາຍອັນ. ບາງສ່ວນຂອງເຫຼົ່ານີ້ຈະເຮັດວຽກ
ກັບ Cygwin, ຄົນອື່ນຍັງເປັນໄປບໍ່ໄດ້. ນອກຈາກນີ້, ບາງສ່ວນຂອງເຫຼົ່ານີ້ແມ່ນການທົດລອງ. ເຈົ້າສາມາດ
ເລືອກຕົວເລືອກໃດໜຶ່ງເມື່ອ Configure ເຕືອນທ່ານ ຫຼືທ່ານສາມາດກຳນົດ (ບໍ່ກຳນົດ) ສັນຍາລັກໄດ້
ເສັ້ນຄໍາສັ່ງ.
· "-Uusedl"
ການບໍ່ກຳນົດສັນຍາລັກນີ້ບັງຄັບໃຫ້ Perl ຖືກລວບລວມຢ່າງສະຖິດ.
· "-Dusemymalloc"
ໂດຍຄ່າເລີ່ມຕົ້ນ Perl ບໍ່ໄດ້ໃຊ້ "malloc()" ລວມກັບແຫຼ່ງ Perl, ເພາະວ່າມັນ
ຊ້າກວ່າ ແລະບໍ່ປອດໄພທັງໝົດ. ຖ້າທ່ານຕ້ອງການບັງຄັບ Perl ກໍ່ສ້າງດ້ວຍ
old -Dusemymalloc ກໍານົດນີ້.
· "-Uuseperlio"
ການບໍ່ກຳນົດສັນຍາລັກນີ້ຈະປິດການນຳໃຊ້ຕົວຫຍໍ້ຂອງ PerlIO. PerlIO ໃນປັດຈຸບັນແມ່ນຄ່າເລີ່ມຕົ້ນ; ມັນ
ບໍ່ແນະນໍາໃຫ້ປິດ PerlIO.
· "- Duusemultiplicity"
Multiplicity ແມ່ນຕ້ອງການເມື່ອຝັງ Perl ໃນໂປຣແກຣມ C ແລະໃຊ້ຫຼາຍກວ່າຫນຶ່ງ
ຕົວຢ່າງນາຍພາສາ. ນີ້ແມ່ນຕ້ອງການພຽງແຕ່ເມື່ອທ່ານສ້າງ perl ທີ່ບໍ່ແມ່ນ threaded ກັບ
"-Uuseithreads".
· "-Uuse64bitint"
ໂດຍຄ່າເລີ່ມຕົ້ນ Perl ໃຊ້ຈໍານວນ 64 ບິດ. ຖ້າທ່ານຕ້ອງການໃຊ້ຈໍານວນ 32 ບິດນ້ອຍກວ່າ,
ກໍານົດສັນຍາລັກນີ້.
· "-Duselongdouble"
gcc ສະຫນັບສະຫນູນສອງເທົ່າຍາວ (12 bytes). ຢ່າງໃດກໍຕາມ, ຫຼາຍຄະນິດສາດສອງຍາວເພີ່ມເຕີມ
ຫນ້າທີ່ມີຄວາມຈໍາເປັນເພື່ອນໍາໃຊ້ພວກມັນພາຍໃນ Perl ({atan2, cos, exp, ຊັ້ນ, fmod, frexp,
ອິສນານ, ທ່ອນ, modf, pow, ບາບ, sqrt}l, strtold). ພວກນີ້ແມ່ນ ບໍ່ ຍັງມີຢູ່ກັບ
newlib, the Cygwin libc.
· "-Uuseithreads"
ກໍານົດສັນຍາລັກນີ້ຖ້າຫາກວ່າທ່ານຕ້ອງການບໍ່ threaded ໄວ perl.
· "-Duselargefiles"
Cygwin ໃຊ້ຈໍານວນ 64-bit ສໍາລັບການຄິດໄລ່ຂະຫນາດພາຍໃນແລະການຄິດໄລ່ຕໍາແຫນ່ງ, ນີ້ຈະເປັນ
ຖືກກວດພົບຢ່າງຖືກຕ້ອງແລະກໍານົດໂດຍ Configure.
· "-Dmksymlinks"
ໃຊ້ນີ້ເພື່ອສ້າງ perl ຢູ່ນອກຕົ້ນໄມ້ແຫຼ່ງ. ລາຍລະອຽດສາມາດພົບໄດ້ໃນ
ການຕິດຕັ້ງ ເອກະສານ. ນີ້ແມ່ນວິທີທີ່ແນະນໍາໃຫ້ສ້າງ perl ຈາກແຫຼ່ງຕ່າງໆ.
ຫນ້າສົງໄສ ຄໍາເຕືອນ on Cygwin
ທ່ານອາດຈະເຫັນບາງຂໍ້ຄວາມໃນລະຫວ່າງການ Configure ທີ່ເບິ່ງຄືວ່າຫນ້າສົງໄສ.
· Win9x ແລະ "d_eofnblk"
Win9x ບໍ່ໄດ້ລາຍງານຢ່າງຖືກຕ້ອງ "EOF" ດ້ວຍການອ່ານທີ່ບໍ່ແມ່ນການສະກັດຢູ່ໃນທໍ່ປິດ. ເຈົ້າ
ຈະເຫັນຂໍ້ຄວາມຕໍ່ໄປນີ້:
ແຕ່ມັນຍັງສົ່ງຄືນ -1 ເພື່ອສົ່ງສັນຍານ EOF, ດັ່ງນັ້ນຈົ່ງລະມັດລະວັງ!
ຄໍາເຕືອນ: ທ່ານບໍ່ສາມາດຈໍາແນກລະຫວ່າງ EOF ແລະບໍ່ມີຂໍ້ມູນ!
***ຢູ່ໃສ!!! ***
ຄ່າທີ່ແນະນໍາສໍາລັບ $d_eofnblk ໃນເຄື່ອງນີ້ແມ່ນ "ກໍານົດ"!
ຮັກສາຄ່າທີ່ແນະນໍາ? [y]
ຢ່າງຫນ້ອຍສໍາລັບຄວາມສອດຄ່ອງຂອງ WinNT, ທ່ານຄວນຮັກສາມູນຄ່າທີ່ແນະນໍາ.
· Compiler/Preprocessor ກໍານົດ
ຂໍ້ຜິດພາດຕໍ່ໄປນີ້ເກີດຂຶ້ນຍ້ອນ Cygwin "#define" ຂອງ "_LONG_DOUBLE":
ການຄາດເດົາວ່າສັນຍາລັກໃດຂອງ C compiler ແລະ preprocessor ຂອງເຈົ້າກໍານົດ ...
try.c: : ບໍ່ມີຕົວປະຕິບັດການໄບນາຣີ
ຄວາມລົ້ມເຫຼວນີ້ເບິ່ງຄືວ່າບໍ່ເຮັດໃຫ້ເກີດບັນຫາໃດໆ. ດ້ວຍລຸ້ນ gcc ທີ່ເກົ່າກວ່າ, "parse
error" ຖືກລາຍງານແທນ "ຕົວປະຕິບັດການ binary ທີ່ຂາດຫາຍໄປ".
ເຮັດ ON ໄຊກວິນ
ພຽງແຕ່ດໍາເນີນການ ເຮັດໃຫ້ ແລະລໍຖ້າ:
ເຮັດໃຫ້ 2>&1 | tee log.make
TEST ON ໄຊກວິນ
ມີສອງຂັ້ນຕອນເພື່ອແລ່ນຊຸດທົດສອບ:
ເຮັດການທົດສອບ 2>&1 | tee log.make-test
cd t ; ./perl harness 2>&1 | tee../log.harness
ການທົດສອບດຽວກັນແມ່ນດໍາເນີນການທັງສອງຄັ້ງ, ແຕ່ຂໍ້ມູນເພີ່ມເຕີມແມ່ນສະຫນອງໃຫ້ໃນເວລາທີ່ແລ່ນເປັນ
"./perl harness".
ຜົນການທົດສອບແຕກຕ່າງກັນໄປຕາມລະບົບໂຮດຂອງທ່ານແລະການຕັ້ງຄ່າ Cygwin ຂອງທ່ານ. ຖ້າຫາກວ່າການທົດສອບ
ສາມາດຜ່ານບາງການຕິດຕັ້ງ Cygwin, ມັນແມ່ນຄວາມພະຍາຍາມສະເຫມີແລະການທົດສອບຄວາມລົ້ມເຫລວທີ່ອະທິບາຍໄດ້
ເອກະສານ. ມັນເປັນໄປໄດ້ສໍາລັບ Perl ທີ່ຈະຜ່ານການທົດສອບທັງຫມົດ, ແຕ່ວ່າມັນເປັນໄປໄດ້ຫຼາຍກວ່ານັ້ນ
ການທົດສອບບາງຢ່າງຈະລົ້ມເຫລວສໍາລັບຫນຶ່ງໃນເຫດຜົນຂ້າງລຸ່ມນີ້.
ເອກະສານ Permissions on Cygwin
ການອະນຸຍາດໄຟລ໌ UNIX ແມ່ນອີງໃສ່ຊຸດຂອງ mode bits ສໍາລັບ {read,write,execute} ສໍາລັບແຕ່ລະອັນ.
{ຜູ້ໃຊ້,ກຸ່ມ,ອື່ນໆ}. ໂດຍຄ່າເລີ່ມຕົ້ນ Cygwin ພຽງແຕ່ຕິດຕາມຄຸນລັກສະນະການອ່ານເທົ່ານັ້ນຂອງ Win32
ເປັນຕົວແທນໃຫ້ຜູ້ໃຊ້ຂຽນໄຟລ໌ UNIX (ໄຟລ໌ແມ່ນສາມາດອ່ານໄດ້ສະເຫມີ, ໄຟລ໌ແມ່ນ
ສາມາດປະຕິບັດໄດ້ຖ້າພວກເຂົາມີ .{com,bat,exe} extension ຫຼືເລີ່ມຕົ້ນດ້ວຍ "#!", ໄດເລກະທໍລີແມ່ນ
ອ່ານໄດ້ສະເຫມີແລະປະຕິບັດໄດ້). ໃນ WinNT ກັບ ເນ່ ການຕັ້ງຄ່າ "CYGWIN", ເພີ່ມເຕີມ
ບິດໂໝດຖືກເກັບໄວ້ເປັນຄຸນສົມບັດໄຟລ໌ຂະຫຍາຍ. ໃນ WinNT ດ້ວຍຄ່າເລີ່ມຕົ້ນ ເອັນເອັດ
ການຕັ້ງຄ່າ "CYGWIN", ການອະນຸຍາດໃຊ້ຕົວອະທິບາຍຄວາມປອດໄພ WinNT ມາດຕະຖານ ແລະການເຂົ້າເຖິງ
ລາຍການຄວບຄຸມ. ຖ້າບໍ່ມີທາງເລືອກເຫຼົ່ານີ້, ການທົດສອບເຫຼົ່ານີ້ຈະລົ້ມເຫລວ (ລາຍຊື່ບໍ່ໄດ້ຖືກປັບປຸງ
ທັນ):
ລາຍຊື່ການທົດສອບລົ້ມເຫລວ
------------------------------------
io/fs.t 5, 7, 9-10
lib/anydbm.t 2
lib/db-btree.t 20
lib/db-hash.t 16
lib/db-recno.t 18
lib/gdbm.t 2
lib/ndbm.t 2
lib/odbm.t 2
lib/sdbm.t 2
op/stat.t 9, 20 (.tmp ບໍ່ແມ່ນສ່ວນຂະຫຍາຍທີ່ສາມາດປະຕິບັດໄດ້)
NDBM_File ແລະ ODBM_File do ບໍ່ ການເຮັດວຽກ on FAT ລະບົບໄຟລ
ຢ່າໃຊ້ NDBM_File ຫຼື ODBM_File ໃນລະບົບໄຟລ໌ FAT. ພວກເຂົາສາມາດສ້າງຢູ່ໃນ FAT
ລະບົບໄຟລ໌, ແຕ່ການທົດສອບຈໍານວນຫຼາຍຈະລົ້ມເຫລວ:
../ext/NDBM_File/ndbm.t 13 3328 71 59 83.10% 1-2 4 16-71 .
../ext/ODBM_File/odbm.t 255 65280 ?? ?? % ??
../lib/AnyDBM_File.t 2 512 12 2 16.67% 1 4 .
../lib/Memoize/t/errors.t 0 139 11 5 45.45% 7-11
../lib/Memoize/t/tie_ndbm.t 13 3328 4 4 100.00% 1-4
run/fresh_perl.t 97 1 1.03% 91
ຖ້າຫາກວ່າທ່ານຕັ້ງໃຈທີ່ຈະດໍາເນີນການພຽງແຕ່ກ່ຽວກັບ FAT (ຫຼືຖ້າຫາກວ່າການນໍາໃຊ້ AnyDBM_File ກ່ຽວກັບ FAT), ໃຫ້ແລ່ນ Configure ກັບ.
ຕົວເລືອກ -Ui_ndbm ແລະ -Ui_dbm ເພື່ອປ້ອງກັນບໍ່ໃຫ້ NDBM_File ແລະ ODBM_File ຖືກສ້າງຂຶ້ນ.
ດ້ວຍ NTFS (ແລະບໍ່ມີ CYGWIN=nontsec), ບໍ່ຄວນມີບັນຫາເຖິງແມ່ນວ່າ perl ຖືກສ້າງຂຶ້ນໃນ
ໄຂມັນ.
"ສ້ອມ()" ຄວາມລົ້ມເຫລວ in io_* ການທົດສອບ
ຄວາມລົ້ມເຫຼວ "fork()" ອາດຈະເຮັດໃຫ້ການທົດສອບຕໍ່ໄປນີ້ລົ້ມເຫລວ:
ext/IO/lib/IO/t/io_multihomed.t
ext/IO/lib/IO/t/io_sock.t
ext/IO/lib/IO/t/io_unix.t
ເບິ່ງຄໍາເຫັນກ່ຽວກັບ fork ໃນ "ອື່ນໆ" ຂ້າງລຸ່ມນີ້.
Specific ຄຸນລັກສະນະ of ໄດ້ Cygwin port
script Portability on Cygwin
Cygwin ເຮັດວຽກທີ່ໂດດເດັ່ນໃນການສະຫນອງຄໍາສັບຄ້າຍຄື UNIX ຢູ່ເທິງສຸດຂອງລະບົບ Win32.
ຢ່າງໃດກໍຕາມ, ນອກເຫນືອໄປຈາກລາຍການທີ່ໄດ້ກ່າວມາຂ້າງເທິງ, ມີບາງຄວາມແຕກຕ່າງທີ່ທ່ານຄວນ
ຮູ້ກ່ຽວກັບ. ນີ້ແມ່ນເປັນຄໍາແນະນໍາໂດຍຫຍໍ້ຫຼາຍສໍາລັບການ Portable, ຂໍ້ມູນເພີ່ມເຕີມສາມາດພົບເຫັນຢູ່ໃນ
ເອກະສານ Cygwin.
· ເສັ້ນທາງ
ຊື່ເສັ້ນທາງ Cygwin ຖືກແຍກອອກໂດຍທາງຫນ້າ (/) slashes, ລະຫັດຊື່ທົ່ວໄປ (// UNC)
ຍັງໄດ້ຮັບການສະຫນັບສະຫນູນນັບຕັ້ງແຕ່ cygwin-1.7 ຊື່ເສັ້ນທາງທີ່ບໍ່ແມ່ນ POSIX ຖືກທໍ້ຖອຍໃຈ. ຊື່ອາດຈະ
ມີຕົວອັກສອນທີ່ສາມາດພິມໄດ້ທັງໝົດ.
ຊື່ໄຟລ໌ແມ່ນບໍ່ມີຕົວພິມນ້ອຍໃຫຍ່, ແຕ່ຮັກສາກໍລະນີ. ຊື່ເສັ້ນທາງທີ່ປະກອບດ້ວຍ a
backslash ຫຼື drive letter ເປັນຊື່ເສັ້ນທາງ Win32, ແລະບໍ່ຂຶ້ນກັບການແປ
ນຳໃຊ້ກັບຊື່ເສັ້ນທາງສະໄຕລ໌ POSIX, ແຕ່ cygwin ຈະເຕືອນທ່ານ, ສະນັ້ນດີກວ່າປ່ຽນເປັນ
POSIX.
ສໍາລັບການປ່ຽນໃຈເຫລື້ອມໃສພວກເຮົາມີ "Cygwin::win_to_posix_path()" ແລະ
"Cygwin::posix_to_win_path()".
ເນື່ອງຈາກ cygwin-1.7 pathnames ຖືກເຂົ້າລະຫັດ UTF-8.
· ຂໍ້ຄວາມ/ຖານສອງ
ນັບຕັ້ງແຕ່ cygwin-1.7 textmounts ຖືກປະຕິເສດແລະທໍ້ຖອຍໃຈຢ່າງແຂງແຮງ.
ເມື່ອໄຟລ໌ຖືກເປີດ, ມັນຈະຢູ່ໃນຮູບແບບຂໍ້ຄວາມ ຫຼື binary. ໃນຮູບແບບຂໍ້ຄວາມເປັນໄຟລ໌
ຂຶ້ນກັບການແປ CR/LF/Ctrl-Z. ດ້ວຍ Cygwin, ຮູບແບບເລີ່ມຕົ້ນຂອງ "open()"
ຖືກກໍານົດໂດຍຮູບແບບຂອງ mount ທີ່ underlies ໄຟລ໌. ເບິ່ງ
"Cygwin::is_binmount"(). Perl ໃຫ້ຟັງຊັນ "binmode()" ເພື່ອຕັ້ງໂໝດ binary
ໄຟລ໌ທີ່ຖ້າບໍ່ດັ່ງນັ້ນຈະຖືກປະຕິບັດເປັນຂໍ້ຄວາມ. "sysopen()" ດ້ວຍທຸງ "O_TEXT".
ຕັ້ງຮູບແບບຂໍ້ຄວາມໃນໄຟລ໌ທີ່ຖ້າບໍ່ດັ່ງນັ້ນຈະຖືກປະຕິບັດເປັນສອງ:
sysopen(FOO, "bar", O_WRONLY|O_CREAT|O_TEXT)
"lseek()", "tell()" ແລະ "sysseek()" ພຽງແຕ່ເຮັດວຽກກັບໄຟລ໌ທີ່ເປີດຢູ່ໃນໂຫມດສອງເທົ່າ.
ບັນຫາຂໍ້ຄວາມ / ຄູ່ແມ່ນກວມເອົາຄວາມຍາວຢູ່ໃນເອກະສານ Cygwin.
· PerlIO
PerlIO ແທນທີ່ຄ່າເລີ່ມຕົ້ນ Cygwin Text/Binary behaviour. ໄຟລ໌ຈະຢູ່ສະເໝີ
ຖືກປະຕິບັດເປັນສອງ, ໂດຍບໍ່ສົນເລື່ອງຂອງຮູບແບບຂອງ mount ທີ່ມັນອາໄສຢູ່, ຄືກັນກັບມັນຢູ່ໃນ
UNIX. ດັ່ງນັ້ນການແປພາສາ CR/LF ຈໍາເປັນຕ້ອງໄດ້ຮັບການຮ້ອງຂໍໃນການໂທ "open()" ເຊັ່ນ
ນີ້:
open(FH, ">:crlf", "out.txt");
ເຊິ່ງຈະເຮັດການແປງຈາກ LF ເປັນ CR/LF ໃນຜົນຜະລິດ, ຫຼືໃນສະພາບແວດລ້ອມ
ການຕັ້ງຄ່າ (ເພີ່ມອັນນີ້ໃສ່ .bashrc ຂອງທ່ານ):
ສົ່ງອອກ PERLIO=crlf
ເຊິ່ງຈະດຶງໃນຊັ້ນ crlf PerlIO ເຊິ່ງເຮັດ LF -> CRLF ແປງໃນທຸກໆ
ຜົນຜະລິດທີ່ຜະລິດໂດຍ perl.
· .exe
ຫນ້າທີ່ Cygwin "stat()", "lstat()" ແລະ "readlink()" ເຮັດໃຫ້ .exe ການຂະຫຍາຍ
ໂປ່ງໃສໂດຍການຊອກຫາ foo.exe ໃນເວລາທີ່ທ່ານຮ້ອງຂໍໃຫ້ມີ ຟູ (ເວັ້ນເສຍແຕ່ a ຟູ ຍັງມີຢູ່).
Cygwin ບໍ່ຕ້ອງການ a .exe ການຂະຫຍາຍ, ແຕ່ gcc ເພີ່ມມັນໂດຍອັດຕະໂນມັດເມື່ອສ້າງ
ໂຄງການ. ແນວໃດກໍ່ຕາມ, ເມື່ອເຂົ້າເຖິງ executable ເປັນໄຟລ໌ປົກກະຕິ (ເຊັ່ນ: cp ຢູ່ໃນ
makefile) ໄດ້ .exe ບໍ່ໂປ່ງໃສ. ໄດ້ ການຕິດຕັ້ງ ໂຄງການລວມກັບ Cygwin
ອັດຕະໂນມັດຕໍ່ທ້າຍ a .exe ເມື່ອ ຈຳ ເປັນ.
· Cygwin ທຽບກັບ IDs ຂະບວນການ Windows
ຂະບວນການ Cygwin ມີ pid ຂອງຕົນເອງ, ເຊິ່ງແຕກຕ່າງຈາກປ່ອງຢ້ຽມທີ່ຕິດພັນ
pid. ຟັງຊັນ Proc ທີ່ສອດຄ່ອງກັບ posix ສ່ວນໃຫຍ່ຄາດວ່າ cygwin pid, ແຕ່ຫຼາຍອັນ
Win32::ການທໍາງານຂອງຂະບວນການຄາດວ່າ winpid ໄດ້. ຕົວຢ່າງ $$ ແມ່ນ cygwin pid ຂອງ
/usr/bin/perl, ເຊິ່ງບໍ່ແມ່ນ winpid ໄດ້. ໃຊ້ "Cygwin::pid_to_winpid()" ແລະ
"Cygwin::winpid_to_pid()" ເພື່ອແປລະຫວ່າງພວກມັນ.
· Cygwin ທຽບກັບ Windows ຜິດພາດ
ພາຍໃຕ້ Cygwin, $^E ແມ່ນຄືກັນກັບ $!. ເມື່ອໃຊ້ Win32 API Functions, ໃຊ້
"Win32::GetLastError()" ເພື່ອໃຫ້ໄດ້ຮັບຄວາມຜິດພາດ Windows ສຸດທ້າຍ.
· rebase ຄວາມຜິດພາດໃນສ້ອມຫຼືລະບົບ
ການນໍາໃຊ້ "fork()" ຫຼື "system()" ອອກໄປ perl ອື່ນຫຼັງຈາກໂຫລດ dlls ຫຼາຍອັນອາດຈະ
ສົ່ງຜົນໃຫ້ DLL baseaddress ຂໍ້ຂັດແຍ່ງ. ຄວາມຜິດພາດ cygwin ພາຍໃນເບິ່ງຄືວ່າຄ້າຍຄື
ຕໍ່ໄປນີ້:
0 [ຕົ້ນຕໍ] perl 8916 child_info_fork::abort: ພາກສ່ວນຂໍ້ມູນເລີ່ມຕົ້ນ: ພໍ່ແມ່
(0xC1A000) != ເດັກ(0xA6A000)
ຫລື:
183 [ຕົ້ນຕໍ] perl 3588 C:\cygwin\bin\perl.exe: *** ຄວາມຜິດພາດຮ້າຍແຮງ - ບໍ່ສາມາດ remap ໄດ້
C:\cygwin\bin\cygsvn_subr-1-0.dll ກັບທີ່ຢູ່ດຽວກັນກັບ ພໍ່ແມ່(0x6FB30000) != 0x6FE60000
46 [ຕົ້ນຕໍ] perl 3488 fork: ເດັກ 3588 - ເສຍຊີວິດລໍຖ້າການໂຫຼດ dll, errno11
ເບິ່ງhttp://cygwin.com/faq/faq-nochunks.html#faq.using.fixing-fork-failures> ມັນຊ່ວຍ
ຖ້າບໍ່ມີ DLLs ຫຼາຍເກີນໄປຈະຖືກໂຫລດຢູ່ໃນຫນ່ວຍຄວາມຈໍາດັ່ງນັ້ນພື້ນທີ່ທີ່ຢູ່ທີ່ມີຢູ່ຈະໃຫຍ່ກວ່າ,
ເຊັ່ນ: ການຢຸດ MS Internet Explorer ອາດຈະຊ່ວຍໄດ້.
ໃຊ້ perlrebase ຫຼື rebase utilities ເພື່ອແກ້ໄຂທີ່ຢູ່ dll ທີ່ຂັດແຍ້ງກັນ. ໄດ້
ຊຸດ rebase ແມ່ນລວມຢູ່ໃນການຕິດຕັ້ງ Cygwin. ໃຊ້ setupexe ຈາກ
<http://www.cygwin.com/setup.exe> ການຕິດຕັ້ງມັນ.
1. ຂ້າຂະບວນການ perl ທັງຫມົດແລະດໍາເນີນການ "perlrebase" ຫຼື
2. ຂ້າຂະບວນການແລະການບໍລິການ cygwin ທັງຫມົດ, ເລີ່ມຕົ້ນ dash ຈາກ cmd.exe ແລະດໍາເນີນການ
"rebaseall".
· "chown()"
ໃນ WinNT "chown()" ສາມາດປ່ຽນ ID ຜູ້ໃຊ້ ແລະກຸ່ມຂອງໄຟລ໌ໄດ້. ໃນ Win9x "chown()" ແມ່ນ a
no-op, ເຖິງແມ່ນວ່ານີ້ແມ່ນເຫມາະສົມເນື່ອງຈາກວ່າບໍ່ມີຮູບແບບຄວາມປອດໄພ.
· ຕ່າງໆ
ການລັອກໄຟລ໌ໂດຍໃຊ້ຄໍາສັ່ງ "F_GETLK" ກັບ "fcntl()" ແມ່ນ stub ທີ່ສົ່ງກັບ "ENOSYS".
Win9x ບໍ່ສາມາດ "ປ່ຽນຊື່ ()" ໄຟລ໌ເປີດ (ເຖິງແມ່ນວ່າ WinNT ສາມາດ).
ການປະຕິບັດ Cygwin "chroot()" ມີຮູ (ມັນບໍ່ສາມາດຈໍາກັດການເຂົ້າເຖິງໄຟລ໌ໂດຍ
ໂປຣແກມ Win32 ພື້ນເມືອງ).
Inplace ການແກ້ໄຂ "perl -i" ຂອງໄຟລ໌ບໍ່ໄດ້ເຮັດວຽກໂດຍບໍ່ມີການເຮັດສໍາຮອງຂໍ້ມູນຂອງໄຟລ໌
ຖືກແກ້ໄຂ "perl -i.bak" ເນື່ອງຈາກຂໍ້ຈໍາກັດ windowish, ດັ່ງນັ້ນ Perl ຕື່ມ
suffix ".bak" ອັດຕະໂນມັດຖ້າທ່ານໃຊ້ "perl -i" ໂດຍບໍ່ມີການລະບຸການສໍາຮອງຂໍ້ມູນ
ການຂະຫຍາຍ.
ສ້າງຂື້ນກ່ອນ ວິທີການ:
"Cwd::cwd"
ສົ່ງຄືນໄດເລກະທໍລີທີ່ເຮັດວຽກປະຈຸບັນ.
"Cygwin::pid_to_winpid"
ແປ cygwin pid ເປັນ pid Windows ທີ່ສອດຄ້ອງກັນ (ເຊິ່ງອາດຈະເປັນ ຫຼືອາດຈະບໍ່ແມ່ນ.
ດຽວກັນ).
"Cygwin::winpid_to_pid"
ແປ pid Windows ເປັນ pid cygwin ທີ່ສອດຄ້ອງກັນ (ຖ້າມີ).
"Cygwin::win_to_posix_path"
ແປເສັ້ນທາງ Windows ໄປຫາເສັ້ນທາງ cygwin ທີ່ສອດຄ້ອງກັນທີ່ເຄົາລົບໃນປະຈຸບັນ
ຈຸດຕິດ. ດ້ວຍການໂຕ້ຖຽງທີ່ບໍ່ແມ່ນ null ທີສອງສົ່ງຄືນເສັ້ນທາງຢ່າງແທ້ຈິງ. double-byte
ຕົວອັກສອນຈະບໍ່ຖືກແປ.
"Cygwin::posix_to_win_path"
ແປເສັ້ນທາງ cygwin ໄປຫາເສັ້ນທາງ cygwin ທີ່ສອດຄ້ອງກັນທີ່ເຄົາລົບ mount ປັດຈຸບັນ
ຈຸດ. ດ້ວຍການໂຕ້ຖຽງທີ່ບໍ່ແມ່ນ null ທີສອງສົ່ງຄືນເສັ້ນທາງຢ່າງແທ້ຈິງ. double-byte
ຕົວອັກສອນຈະບໍ່ຖືກແປ.
"Cygwin::mount_table()"
ສົ່ງຄືນອາເຣຂອງ [mnt_dir, mnt_fsname, mnt_type, mnt_opts].
perl -e 'ສໍາລັບ $i (Cygwin::mount_table) {print join(" ",@$i),"\n";}'
/ ຖັງ c:\cygwin\bin ລະບົບ binmode, cygexec
/ usr / ຖັງ c:\cygwin\bin binmode ລະບົບ
/ usr / lib c:\cygwin\lib binmode ລະບົບ
/ c:\cygwin ລະບົບ binmode
/cygdrive/cc: ລະບົບ binmode, noumount
/cygdrive/dd: ລະບົບ binmode, noumount
/cygdrive/ee: ລະບົບ binmode, noumount
"Cygwin::mount_flags"
ຕອບປະເພດ mount ແລະທຸງສໍາລັບຈຸດເຊື່ອມຕໍ່ທີ່ລະບຸ. ໝາຍຈຸດທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດ
string ຂອງ mntent->mnt_type (ສະເຫມີ "ລະບົບ" ຫຼື "ຜູ້ໃຊ້"), ຈາກນັ້ນ mntent->mnt_opts,
ບ່ອນທີ່ທໍາອິດແມ່ນ "binmode" ຫຼື "textmode".
ລະບົບ|ຜູ້ໃຊ້,binmode|textmode,exec,cygexec,cygdrive,ປະສົມ,
notexec,managed,nosuid,devfs,proc,noumount
ຖ້າການໂຕ້ຖຽງແມ່ນ "/cygdrive", ຫຼັງຈາກນັ້ນພຽງແຕ່ການຕັ້ງຄ່າປະລິມານການຕິດຕັ້ງ, ແລະ cygdrive.
mount prefix ຖືກສົ່ງຄືນ.
ຜູ້ໃຊ້ mounts override mounts ລະບົບ.
$ perl -e 'ພິມ Cygwin::mount_flags "/ usr / ຖັງ"'
ລະບົບ, binmode, cygexec
$ perl -e 'ພິມ Cygwin::mount_flags "/cygdrive"'
binmode,cygdrive,/cygdrive
"Cygwin::is_binmount"
ຕອບເປັນ true ຖ້າເສັ້ນທາງ cygwin ທີ່ໃຫ້ນັ້ນຖືກຕິດຢູ່ສອງເທົ່າ, ຜິດຖ້າເສັ້ນທາງຖືກຕິດຕັ້ງ
ໃນຮູບແບບຂໍ້ຄວາມ.
"Cygwin::sync_winenv"
Cygwin ບໍ່ໄດ້ເລີ່ມຕົ້ນຕົວແປສະພາບແວດລ້ອມ Win32 ຕົ້ນສະບັບທັງໝົດ. ເບິ່ງທາງລຸ່ມ
ຂອງໜ້ານີ້http://cygwin.com/cygwin-ug-net/setup-env.html> ສໍາລັບ "Win32 ຈໍາກັດ
ສະພາບແວດລ້ອມ".
ບາງໂຄງການ Win32 ທີ່ຖືກເອີ້ນຈາກໂຄງການ cygwin ອາດຈະຕ້ອງການສະພາບແວດລ້ອມບາງຢ່າງ
ຕົວແປເຊັ່ນ: ADODB ຕ້ອງການ %COMMONPROGRAMFILES%. ໂທ Cygwin::sync_winenv()
ເພື່ອຄັດລອກຕົວແປສະພາບແວດລ້ອມ Win32 ທັງຫມົດເຂົ້າໃນຂະບວນການຂອງທ່ານແລະສັງເກດວ່າ cygwin ຈະເຕືອນ
ໃນທຸກໆເສັ້ນທາງທີ່ບໍ່ແມ່ນ POSIX.
ການຕິດຕັ້ງ ໄຂ່ມຸກ ON ໄຊກວິນ
ນີ້ຈະຕິດຕັ້ງ Perl, ລວມທັງ ຜູ້ຊາຍ ຫນ້າ.
ເຮັດການຕິດຕັ້ງ 2>&1 | tee log.make-install
ຫມາຍເຫດ: ຖ້າ "STDERR" ຖືກປ່ຽນເສັ້ນທາງ "ເຮັດການຕິດຕັ້ງ" ຈະ ບໍ່ ເຕືອນໃຫ້ທ່ານຕິດຕັ້ງ perl ເຂົ້າໄປໃນ
/ usr / ຖັງ.
ທ່ານອາດຈະຈໍາເປັນຕ້ອງໄດ້ ຜູ້ບໍລິຫານ ເພື່ອດໍາເນີນການ "ຕິດຕັ້ງ". ຖ້າເຈົ້າບໍ່ແມ່ນ, ເຈົ້າຕ້ອງມີ
ຂຽນການເຂົ້າເຖິງໄດເລກະທໍລີໃນຄໍາຖາມ.
ຂໍ້ມູນກ່ຽວກັບການຕິດຕັ້ງເອກະສານ Perl ໃນຮູບແບບ HTML ສາມາດພົບໄດ້ໃນ
ການຕິດຕັ້ງ document
MANIFEST ON ໄຊກວິນ
ເຫຼົ່ານີ້ແມ່ນໄຟລ໌ໃນການປ່ອຍ Perl ທີ່ມີການອ້າງອີງເຖິງ Cygwin. ເຫຼົ່ານີ້ຫຼາຍ
ບັນທຶກສັ້ນໆພະຍາຍາມອະທິບາຍເຫດຜົນຂອງລະຫັດເງື່ອນໄຂທັງຫມົດ. ຫວັງວ່າ, ຮັກສາ
ນີ້ເຖິງວັນທີຈະຊ່ວຍໃຫ້ທ່າເຮືອ Cygwin ຮັກສາຄວາມສະອາດເທົ່າທີ່ເປັນໄປໄດ້.
ເອກະສານ
ຕິດຕັ້ງ README.cygwin README.win32 MANIFEST
ຝັກ/perl.pod ຝັກ/perlport.pod ຝັກ/perlfaq3.pod
ຝັກ/perldelta.pod ຝັກ/perl5004delta.pod ຝັກ/perl56delta.pod
ຝັກ/perl561delta.pod ຝັກ/perl570delta.pod ຝັກ/perl572delta.pod
ຝັກ/perl573delta.pod ຝັກ/perl58delta.pod ຝັກ/perl581delta.pod
ຝັກ/perl590delta.pod ຝັກ/perlhist.pod ຝັກ/perlmodlib.pod
pod/perltoc.pod Porting/Glossary pod/perlgit.pod
Porting/checkAUTHORS.pl
dist/Cwd/Changes ext/Compress-Raw-Zlib/Changes
ext/Compress-Raw-Zlib/README ext/Compress-Zlib/ການປ່ຽນແປງ
ext/DB_File/Changes ext/Encode/Changes ext/Sys-Syslog/Changes
ext/Time-HiRes/Changes ext/Win32API-File/Changes
lib/ExtUtils/CBuilder/Changes lib/ExtUtils/Changes lib/ExtUtils/NOTES
lib/ExtUtils/PATCHING lib/ExtUtils/README
lib/Net/Ping/ການປ່ຽນແປງ lib/Test/Harness/Changes
lib/Term/ANSIColor/ChangeLog lib/Term/ANSIColor/README README.symbian
symbian/TODO
ກໍ່ສ້າງ, ຕັ້ງຄ່າ, ສ້າງ, ຕິດຕັ້ງ
cygwin/Makefile.SHs
ext/IPC/SysV/hints/cygwin.pl
ext/NDBM_File/hints/cygwin.pl
ext/ODBM_File/hints/cygwin.pl
hints/cygwin.sh
ຕັ້ງຄ່າ - ຊ່ວຍຊອກຫາຄໍາແນະນໍາຈາກ uname,
ແບ່ງປັນ libperl ຕ້ອງການສໍາລັບການໂຫຼດແບບໄດນາມິກ
Makefile.SH Cross/Makefile-cross-SH
- linklibperl
Porting/patchls - cygwin ໃນລາຍການຜອດ
installman - man pages with :: ແປເປັນ .
installperl - ຕິດຕັ້ງ dll, ຕິດຕັ້ງໃສ່ 'pods'
makedepend.SH - uwinfix
regen_lib.pl - ການອະນຸຍາດໄຟລ໌
NetWare/Makefile
ແຜນ 9/mkfile
symbian/sanity.pl symbian/sisify.pl
hints/uwin.sh
vms/descrip_mms.template
win32/Makefile win32/makefile.mk
ການທົດສອບ
t/io/fs.t - ບໍ່ມີຮູບແບບໄຟລ໌ກວດສອບຖ້າບໍ່ແມ່ນ ntsec
ຂ້າມ rename() check when not check_case:relaxed
t/io/tell.t - binmode
t/lib/cygwin.t - ການທົດສອບຟັງຊັນ cygwin ທີ່ສ້າງຂຶ້ນ
t/op/groups.t - basegroup ມີ ID = 0
t/op/magic.t - $^X/symlink ເຮັດວຽກ, s/.exe//
t/op/stat.t - ບໍ່ / dev, ຂ້າມ Win32 ftCreationTime quirk
(ຜູ້ຈັດການ cache ບາງຄັ້ງຮັກສາ ctime ຂອງໄຟລ໌
ສ້າງຂຶ້ນກ່ອນໜ້ານີ້ ແລະລຶບອອກ), no -u (setuid)
t/op/taint.t - ບໍ່ສາມາດໃຊ້ເສັ້ນທາງເປົ່າພາຍໃຕ້ Cygwin Perl
t/op/time.t - ບໍ່ມີ tzset()
ລວບລວມແຫຼ່ງ Perl
EXTERN.h - __declspec(dllimport)
XSUB.h - __declspec(dllexport)
cygwin/cygwin.c - os_extras (getcwd, spawn, and several Cygwin:: functions)
perl.c - os_extras, -i.bak
perl.h - binmode
doio.c - win9x ບໍ່ສາມາດປ່ຽນຊື່ໄຟລ໌ໄດ້ເມື່ອມັນເປີດ
pp_sys.c - ບໍ່ໄດ້ກໍານົດ h_errno, init _pwent_struct.pw_comment
util.c - ໃຊ້ setenv
util.h - PERL_FILE_IS_ABSOLUTE ມະຫາພາກ
pp.c - ຄໍາເຫັນກ່ຽວກັບ Posix vs IEEE ຄະນິດສາດພາຍໃຕ້ Cygwin
perlio.c - ໂໝດ CR/LF
perliol.c - ຄໍາເຫັນກ່ຽວກັບ EXTCONST ພາຍໃຕ້ Cygwin
ແຫຼ່ງໂມດູນທີ່ລວບລວມ
ext/Compress-Raw-Zlib/Makefile.PL
- ບໍ່ສາມາດຕິດຕັ້ງຜ່ານ CPAN shell ພາຍໃຕ້ Cygwin
ext/Compress-Raw-Zlib/zlib-src/zutil.h
- Cygwin ແມ່ນຄ້າຍຄື Unix ແລະມີ vsnprintf
ext/Errno/Errno_pm.PL - ການຈັດການພິເສດສໍາລັບ Win32 Perl ພາຍໃຕ້ Cygwin
ext/POSIX/POSIX.xs - tzname ກໍານົດພາຍນອກ
ext/SDBM_File/sdbm/pair.c
- EXTCONST ຕ້ອງໄດ້ຮັບການກໍານົດຄືນໃຫມ່ຈາກ EXTERN.h
ext/SDBM_File/sdbm/sdbm.c
- binary ເປີດ
ext/Sys/Syslog/Syslog.xs
- Cygwin ມີ syslog.h
ext/Sys/Syslog/win32/compile.pl
- ປ່ຽນເສັ້ນທາງໄປສູ່ເສັ້ນທາງ Windows
ext/Time-HiRes/HiRes.xs
- ເຄື່ອງຈັບເວລາຕ່າງໆບໍ່ສາມາດໃຊ້ໄດ້
ext/Time-HiRes/Makefile.PL
- ຊອກຫາ w32api/windows.h
ext/Win32/Makefile.PL - ໃຊ້ຫ້ອງສະຫມຸດຕ່າງໆພາຍໃຕ້ Cygwin
ext/Win32/Win32.xs - Child dir ແລະ child env ພາຍໃຕ້ Cygwin
ext/Win32API-File/File.xs
- _open_osfhandle ບໍ່ໄດ້ປະຕິບັດພາຍໃຕ້ Cygwin
ext/Win32CORE/Win32CORE.c
- __declspec(dllexport)
Perl Module/Scripts
ext/B/t/OptreeCheck.pm - ຄໍາເຫັນກ່ຽວກັບຄໍາສັ່ງ stderr/stdout ພາຍໃຕ້ Cygwin
ext/Digest-SHA/bin/shasum
- ໃຊ້ໂຫມດຖານສອງພາຍໃຕ້ Cygwin
ext/Sys/Syslog/win32/Win32.pm
- ປ່ຽນເສັ້ນທາງໄປສູ່ເສັ້ນທາງ Windows
ext/Time-HiRes/HiRes.pm
- ຄໍາເຫັນກ່ຽວກັບການຈັບເວລາຕ່າງໆບໍ່ມີ
ext/Win32API-File/File.pm
- _open_osfhandle ບໍ່ໄດ້ປະຕິບັດພາຍໃຕ້ Cygwin
ext/Win32CORE/Win32CORE.pm
- ປະຫວັດຂອງ Win32CORE ພາຍໃຕ້ Cygwin
lib/Cwd.pm - hook to internal Cwd::cwd
lib/ExtUtils/CBuilder/Platform/cygwin.pm
- ໃຊ້ gcc ສໍາລັບ ld, ແລະເຊື່ອມຕໍ່ກັບ libperl.dll.a
lib/ExtUtils/CBuilder.pm
- Cygwin ແມ່ນຄ້າຍຄື Unix
lib/ExtUtils/Install.pm - ການຕິດຕັ້ງແລະປ່ຽນຊື່ບັນຫາພາຍໃຕ້ Cygwin
lib/ExtUtils/MM.pm - ການຈັດປະເພດ OS
lib/ExtUtils/MM_Any.pm - ຕົວຢ່າງສໍາລັບ Cygwin
lib/ExtUtils/MakeMaker.pm
- ຕ້ອງການ MM_Cygwin.pm
lib/ExtUtils/MM_Cygwin.pm
- canonpath, cflags, manifypods, perl_archive
lib/File/Fetch.pm - ຄໍາເຫັນກ່ຽວກັບວົງຢືມໂດຍໃຊ້ຕົວຢ່າງ Cygwin
lib/File/Find.pm - ໃນ remote drives stat() ຕັ້ງ st_nlink ເປັນ 1 ສະເໝີ.
lib/File/Spec/Cygwin.pm - case_tolerant
lib/File/Spec/Unix.pm - ຮັກສາ //unc
lib/File/Spec/Win32.pm - ອ້າງອີງຂໍ້ຄວາມໃນ cygwin.com
lib/File/Spec.pm - ດຶງໃນ lib/File/Spec/Cygwin.pm
lib/File/Temp.pm - ບໍ່ມີ directory sticky bit
lib/Module/CoreList.pm - ລາຍຊື່ຂອງໄຟລ໌ໂມດູນ ແລະເວີຊັນທັງໝົດ
lib/Net/Domain.pm - ບໍ່ມີຄໍາສັ່ງຊື່ໂດເມນພາຍໃຕ້ Cygwin
lib/Net/Netrc.pm - ຂ້າມໂດຍໃຊ້ stat() ພາຍໃຕ້ Cygwin
lib/Net/Ping.pm - ECONREFUSED ແມ່ນ EAGAIN ພາຍໃຕ້ Cygwin
lib/Pod/Find.pm - ຕັ້ງ 'pods' dir
lib/Pod/Perldoc/ToMan.pm - ສະຫຼັບ '-c' ສຳລັບ pod2man
lib/Pod/Perldoc.pm - ໃຊ້ 'ໜ້ອຍ' pager, ແລະໃຊ້ .exe extension
lib/Term/ANSIColor.pm - ຂໍ້ມູນສະຖານີ Cygwin
lib/perl5db.pl - ໃຊ້ stdin ບໍ່ແມ່ນ /dev/tty
utils/perlbug.PL - ເພີ່ມຕົວແປສະພາບແວດລ້ອມ CYGWIN ເພື່ອລາຍງານ
ການທົດສອບໂມດູນ Perl
dist/Cwd/t/cwd.t
ext/Compress-Zlib/t/14gzopen.t
ext/DB_File/t/db-btree.t
ext/DB_File/t/db-hash.t
ext/DB_File/t/db-recno.t
ext/DynaLoader/t/DynaLoader.t
ext/File-Glob/t/basic.t
ext/GDBM_File/t/gdbm.t
ext/POSIX/t/sysconf.t
ext/POSIX/t/time.t
ext/SDBM_File/t/sdbm.t
ext/Sys/Syslog/t/syslog.t
ext/Time-HiRes/t/HiRes.t
ext/Win32/t/Unicode.t
ext/Win32API-File/t/file.t
ext/Win32CORE/t/win32core.t
lib/AnyDBM_File.t
lib/Archive/Extract/t/01_Archive-Extract.t
lib/Archive/Tar/t/02_methods.t
lib/ExtUtils/t/Embed.t
lib/ExtUtils/t/eu_command.t
lib/ExtUtils/t/MM_Cygwin.t
lib/ExtUtils/t/MM_Unix.t
lib/File/Compare.t
lib/File/Copy.t
lib/File/Find/t/find.t
lib/File/Path.t
lib/File/Spec/t/crossplatform.t
lib/File/Spec/t/Spec.t
lib/Net/hostent.t
lib/Net/Ping/t/110_icmp_inst.t
lib/Net/Ping/t/500_ping_icmp.t
lib/Net/t/netrc.t
lib/Pod/Simple/t/perlcyg.pod
lib/Pod/Simple/t/perlcygo.txt
lib/Pod/Simple/t/perlfaq.pod
lib/Pod/Simple/t/perlfaqo.txt
lib/User/grent.t
lib/User/pwent.t
ໃຊ້ perlcygwin ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net