|
|
Choosing A Webhost: |
Re: ZLIB 2.0 / Blead 25366 on VMS: msg#00027lang.perl.ports.vms
Paul Marquess wrote: From: John E. Malmberg [mailto:wb8tyw@xxxxxxx] Sorry if I'm showing my ignorance of VMS, but does this mean that when you It is quite a bit more grey than that. There a number of feature settings that will determine how UNIXish or VMSish that the C library will behave. In most cases the defaults are for backward compatibility with existing applications. Abe, does your copy of Perl run in UNIX emulation mode? I do not think it will run too well. Too much of Perl is assuming that when $^O eq 'VMS' that it will always see a VMSish file specification. I only have about 1/3 of the fixes checked into blead right now. If the problem is in my code I want to know about it and I'll certainly help Thanks. There are a number of places that the VMS specific code is failing Not to mention, in some cases the VMS specific code is apparently depending on UNIX code failing before it falls back to the VMS code, and as the C library or the underlying VMS support code gets fixed, some of these failures will stop automatically happening. I have already seen a case of VMS specific code depending on access to '/dev/tty' failing, and in the future that may not fail.
I am going to ignore that for now, but it shows that as I fix things in VMS, I have to make sure that tests are not inadvertently skipped simply because they are running on VMS.
I do not have access to the system i am running the tests on at the moment, but did look at this a bit last night. The *FH filehandle was opened, and then something tried an operation to set a variable named $x. That failed for a reason that I have not determined. I was stepping through the code in the debugger, and suddenly was in sub destroy. This leaves the method $x->fileno undefined as was in the subsequent error message. There may or may not be useful information in the screen buffer of my terminal emulator.
So I need to find out why this is failing.
Yes or no. It is a bit grey. And I am not sure how to fix it and keep everyone happy. I think that you may need to always use a non-null file type. This is the problem: If the filenames are being presented in VMS mode, then the trailing dot should be present. If they are presented in UNIX mode it should not be. And also according to both the Perl (most routines) and VMS C library routines manual, if you supply a VMS format name as input, you should get a VMS format name on output, and if you put in a UNIX format path as input, you should get a UNIX format path as output. In the default mode of the C Library, an ambiguous name is considered VMS. In what I have been calling UNIX mode, it is treated as UNIX. And coming soon is a POSIX mode that changes things a little bit more behind the scenes. Now with the ODS-2 volumes, UNIX "foo." and VMS "foo." are aways the same file. On ODS-5 volumes, UNIX "foo." is a VMS "foo^..", a significant difference. So that makes it a problem of what to do with unixify("foo."). Also in UNIX mode, routines that return paths with out a path being input will return them in UNIX mode. Unfortunately there are some historical bugs. I seem to remember at least one test scripts in Perl that depend on readdir() always returning filenames in UNIX mode even when the input directory is in VMS mode. And some of the file manipulation modules are accepting VMS format names and returning UNIX format names. And it gets even worse, but I will leave that for another topic. The summary is that currently everything that is manipulating VMS format filenames is at least a little bit broken, and more broken if it is converting them to UNIX format, and even more broken if they are converting them back to VMS again. Much of the fixes that I have been putting in, or are planning to put in are removing the conversion of UNIX names to/from VMS where it is absolutely not needed. For now, at least, I've changed all the tests that hit glob to make sure There may be an Access Control List on the directory that is also overriding the chmod setting. If an ACL permits write access, chmod can not deny it. I do not know if VMS ACLs can be manipulated by Perl scripts directly. I probably have an ACL on my build directory that always grants me delete access to a file. t/16top......... Yep. With ODS-5 it is even worse. "/" is a legal character in a VMS format file specification. Some rules need to be documented and enforced on how path names are to be interpreted. If both UNIX and VMS path names are to be mixed, then some rule is needed to decide the ambiguous cases. The fun is doing it with out breaking any existing Perl scripts. Assuming character classes are supported, is it possible to either make VMS I do not know with out trying it, or code inspection. It depends on what particular check that the code is making. If it is checking for a "/" then it will go into UNIX mode. I'll try to get an updated version of my module out tonight or tomorrow with Please let me know what files you change and where I should put them in blead because that is where I am set up to test them. ZLIB is now the only test failing that I do not know a potential solution for, and what I want to do next is activate both the "case preserved" and "case sensitive" modes in vms.c. Of course as I progress, it may require running the test suite on VMS multiple times for the different options available. -John wb8tyw@xxxxxxx Personal Opinion Only
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | RE: ZLIB 2.0 / Blead 25366 on VMS, Paul Marquess |
|---|---|
| Next by Date: | RE: ZLIB 2.0 / Blead 25366 on VMS, Paul Marquess |
| Previous by Thread: | Re: ZLIB 2.0 / Blead 25366 on VMS, John E. Malmberg |
| Next by Thread: | RE: ZLIB 2.0 / Blead 25366 on VMS, Paul Marquess |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
Free MagazinesCisco NewsReceive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business. subscribe Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field. subscribe The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business. subscribe Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company. subscribe Total Telecom Total Telecom is "The Economist of the communications industry". subscribe |