From mboxrd@z Thu Jan 1 00:00:00 1970 From: Charles Wilson To: Sebastien Barre Cc: cygwin@sourceware.cygnus.com Subject: Re: Compiling Perl under b20.1 Date: Sun, 07 Mar 1999 23:19:00 -0000 Message-id: <36E37A18.A15F8524@ece.gatech.edu> References: <19990306184033.2269.rocketmail@send1e.yahoomail.com> <4.1.19990307154058.016d0040@mail.club-internet.fr> X-SW-Source: 1999-03/msg00216.html Sebastien Barre wrote: > At 15:07 06/03/99 -0500, Charles Wilson wrote: > > (some solutions, and some new problems regarding installation (new patch ?) > and Modules) > WOW! You haven't been working on this all day, have you? Let me summarize, and see if I've got this straight: (1) according to Earnie Boyd (but contradicted by Pierre Humblet) CYGWIN=binmode should have no effect. Two contradictory authorities, hmmm...we'll call this one an open question. However, since CYGWIN=binmode is the default (?? - geez, I'm not sure of *anything* anymore) and all of your tests were either CYGWIN=binmode or CYGWIN=________, not CYGWIN=nobinmode, you really weren't changing anything here. So, we'll throw that variable out. (2) Text-mounted build, text-mounted tests, CYGWIN=__________. test results (abbreviated version) 9 tests skipped, plus 20 subtests skipped. Failed 7/186 test scripts, 96.24% okay. 39/6193 subtests failed, 99.37% okay. (3) Text-mounted build, text-mounted tests, CYGWIN=ntea. test results > 10 tests skipped, plus 20 subtests skipped. > Failed 6/186 test scripts, 96.77% okay. 33/6191 subtests failed, 99.47% okay. (4) Text-mounted build, binary-mounted test, CYGWIN=ntea binmode. test results > 10 tests skipped, plus 20 subtests skipped. > Failed 4/186 test scripts, 97.85% okay. 11/6191 subtests failed, 99.82% okay. > > Bingo ! This is similar to you, except for this test (yours) : > > op/stat.t 58 2 3.45% 4, 35 > Okay, digging into the stat.t code: You failed tests 18-20 and 26 in stat.t. Tests 18-20 are testing (readable by owner?) (writeable by owner?) and (executable by owner) after doing a chmod 0700. I can't remember if I was building perl under the Administrator account or under my normal NT user account. But, the "everything created by a member of the Administrators group belongs to the group, not the user" NTism may be the culprit here. Test 26 is testing (I just wrote this file. Do I own it?). Again, probably that ugly NTism. So, here's another item for the build-kit: {Do / Don't} build as an member of Administrators group. (5) Binary-mounted build, binary-mounted test, CYGWIN=ntea binmode. So, you set ntea, (and binmode....), mounted everything binary, applied the patches, and *rebuilt.* Rebuild was successful, and the test had similar (NOT identical) results to (4) above. stat.t failed on tests "*2*, 18-20, 26, 35", not "*4*, 18-20, 26, 35". Okay, what's the difference between tests 2 and 4? Well, I don't completely understand them, but they seem to be comparing file-creation times and file-modified times. I don't really get it. ???? > 10 tests skipped, plus 20 subtests skipped. > Failed 4/186 test scripts, 97.85% okay. 11/6191 subtests failed, 99.82% okay. > > => which is exactly the same as previously. This means that binary and/or > text mode *might not* (I'm still wondering) influence the perl build, only > it's runtime behaviour, like tests. I believe you are correct. The only real difference between your original text-mounted build / binary-mounted tests (with appropriate CYGWIN settings) -- ie. number (4) -- and mine was the extra failures you got on op/stat.t, which I believe are due to Administrators group problems. (6) binary-mounted build, binary mounted test, CYGWIN=ntea > same results (as (4) and (5)), 4 tests failed ! (7) binary-mounted build, text mounted test, CYGWIN=ntea > 6 tests failed (same as (3)) (8) binary-mounted build, text mounted test, CYGWIN=ntea binmode > same as (4) and (5) My conclusions are the same as yours: (1) Earnie is right ==> binmode has no effect (2) binary mounted / text mounted don't affect the build, only the runtime behavior and tests. Why is another question. => this seems to highlight your explanation. The sdbm and anydbm script > open files, and they will fail if these file are opened in text mode ? This > might be logical if these scripts try to read Unix-text files included in > the distribution, but is strange if they *create* these files, because > whatever the mode the translation should work (pb will raise only if > different text mode collide). Yup. Very strange. I don't really understand Perl all that well (I built the thing so I could play with it...) I notice that the "problem" tests, anydbm and sdbm, "open" the files using a construct like: print (tie(%h,AnyDBM_File,'Op_dbmx', O_RDWR|O_CREAT, 0640) ? "ok 1\n" : "not ok 1\n"); I just assumed that the file-open flags would be passed to an fopen()-like function directly, but maybe I was wrong...I dunno. > => I do NOT know what to choose : binary mount and 'nobinmode' in CYGWIN, > or 'text mount' and 'binmode' in CYGWIN ? For now on, I guess I might > better mount my cygwin partitions as binary, so that build and tests of > classical Unix tools might have a better chance to succeed. But I choose > cygwin32 so that I might use Unix tools on (text) files created with > Windows software : what shall I do ? For sure, I will have to experiment : > leaving CYGWIN *without* 'binmode' for the moment, and if it fails, put > 'binmode' back to CYGWIN... Any advice based on real-life experience ? > Well, your experiments show that binmode doesn't matter - besides, it's the default. The only real issue here is that the CR/LF translation (which should be invisible to the application ?) doesn't seem to be working properly when you've got the partition mounted text. Reply to the rest of your message in a followup (this one's getting way too long.) --Chuck -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe@sourceware.cygnus.com From mboxrd@z Thu Jan 1 00:00:00 1970 From: Charles Wilson To: Sebastien Barre Cc: cygwin@sourceware.cygnus.com Subject: Re: Compiling Perl under b20.1 Date: Wed, 31 Mar 1999 19:45:00 -0000 Message-ID: <36E37A18.A15F8524@ece.gatech.edu> References: <19990306184033.2269.rocketmail@send1e.yahoomail.com> <4.1.19990307154058.016d0040@mail.club-internet.fr> X-SW-Source: 1999-03n/msg00216.html Message-ID: <19990331194500.rVdAhNgGssdAet-dF6rGLN4ZnotNxNnlpKoneME_Tmg@z> Sebastien Barre wrote: > At 15:07 06/03/99 -0500, Charles Wilson wrote: > > (some solutions, and some new problems regarding installation (new patch ?) > and Modules) > WOW! You haven't been working on this all day, have you? Let me summarize, and see if I've got this straight: (1) according to Earnie Boyd (but contradicted by Pierre Humblet) CYGWIN=binmode should have no effect. Two contradictory authorities, hmmm...we'll call this one an open question. However, since CYGWIN=binmode is the default (?? - geez, I'm not sure of *anything* anymore) and all of your tests were either CYGWIN=binmode or CYGWIN=________, not CYGWIN=nobinmode, you really weren't changing anything here. So, we'll throw that variable out. (2) Text-mounted build, text-mounted tests, CYGWIN=__________. test results (abbreviated version) 9 tests skipped, plus 20 subtests skipped. Failed 7/186 test scripts, 96.24% okay. 39/6193 subtests failed, 99.37% okay. (3) Text-mounted build, text-mounted tests, CYGWIN=ntea. test results > 10 tests skipped, plus 20 subtests skipped. > Failed 6/186 test scripts, 96.77% okay. 33/6191 subtests failed, 99.47% okay. (4) Text-mounted build, binary-mounted test, CYGWIN=ntea binmode. test results > 10 tests skipped, plus 20 subtests skipped. > Failed 4/186 test scripts, 97.85% okay. 11/6191 subtests failed, 99.82% okay. > > Bingo ! This is similar to you, except for this test (yours) : > > op/stat.t 58 2 3.45% 4, 35 > Okay, digging into the stat.t code: You failed tests 18-20 and 26 in stat.t. Tests 18-20 are testing (readable by owner?) (writeable by owner?) and (executable by owner) after doing a chmod 0700. I can't remember if I was building perl under the Administrator account or under my normal NT user account. But, the "everything created by a member of the Administrators group belongs to the group, not the user" NTism may be the culprit here. Test 26 is testing (I just wrote this file. Do I own it?). Again, probably that ugly NTism. So, here's another item for the build-kit: {Do / Don't} build as an member of Administrators group. (5) Binary-mounted build, binary-mounted test, CYGWIN=ntea binmode. So, you set ntea, (and binmode....), mounted everything binary, applied the patches, and *rebuilt.* Rebuild was successful, and the test had similar (NOT identical) results to (4) above. stat.t failed on tests "*2*, 18-20, 26, 35", not "*4*, 18-20, 26, 35". Okay, what's the difference between tests 2 and 4? Well, I don't completely understand them, but they seem to be comparing file-creation times and file-modified times. I don't really get it. ???? > 10 tests skipped, plus 20 subtests skipped. > Failed 4/186 test scripts, 97.85% okay. 11/6191 subtests failed, 99.82% okay. > > => which is exactly the same as previously. This means that binary and/or > text mode *might not* (I'm still wondering) influence the perl build, only > it's runtime behaviour, like tests. I believe you are correct. The only real difference between your original text-mounted build / binary-mounted tests (with appropriate CYGWIN settings) -- ie. number (4) -- and mine was the extra failures you got on op/stat.t, which I believe are due to Administrators group problems. (6) binary-mounted build, binary mounted test, CYGWIN=ntea > same results (as (4) and (5)), 4 tests failed ! (7) binary-mounted build, text mounted test, CYGWIN=ntea > 6 tests failed (same as (3)) (8) binary-mounted build, text mounted test, CYGWIN=ntea binmode > same as (4) and (5) My conclusions are the same as yours: (1) Earnie is right ==> binmode has no effect (2) binary mounted / text mounted don't affect the build, only the runtime behavior and tests. Why is another question. => this seems to highlight your explanation. The sdbm and anydbm script > open files, and they will fail if these file are opened in text mode ? This > might be logical if these scripts try to read Unix-text files included in > the distribution, but is strange if they *create* these files, because > whatever the mode the translation should work (pb will raise only if > different text mode collide). Yup. Very strange. I don't really understand Perl all that well (I built the thing so I could play with it...) I notice that the "problem" tests, anydbm and sdbm, "open" the files using a construct like: print (tie(%h,AnyDBM_File,'Op_dbmx', O_RDWR|O_CREAT, 0640) ? "ok 1\n" : "not ok 1\n"); I just assumed that the file-open flags would be passed to an fopen()-like function directly, but maybe I was wrong...I dunno. > => I do NOT know what to choose : binary mount and 'nobinmode' in CYGWIN, > or 'text mount' and 'binmode' in CYGWIN ? For now on, I guess I might > better mount my cygwin partitions as binary, so that build and tests of > classical Unix tools might have a better chance to succeed. But I choose > cygwin32 so that I might use Unix tools on (text) files created with > Windows software : what shall I do ? For sure, I will have to experiment : > leaving CYGWIN *without* 'binmode' for the moment, and if it fails, put > 'binmode' back to CYGWIN... Any advice based on real-life experience ? > Well, your experiments show that binmode doesn't matter - besides, it's the default. The only real issue here is that the CR/LF translation (which should be invisible to the application ?) doesn't seem to be working properly when you've got the partition mounted text. Reply to the rest of your message in a followup (this one's getting way too long.) --Chuck -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe@sourceware.cygnus.com