At 10:22 AM 3/21/00 -0800, [EMAIL PROTECTED] wrote:
>Correction: the DISK$volnam logical was not redefined. 

Agreed, as I pointed out in my last post.  

>"volnam" was used
>to form a rooted logical name that did not point to DISK$volnam:[000000].

Unfortunately I think the conclusion is, "Don't do that, either."  Thus my 
previous argument that the MOUNT command documents should say something 
about the significance and permanence of the volume logical passed as P3 to 
MOUNT.

>Oddly, perl 5.005_02, 5.005_03, and 5.005_62 (modulo vms kit build patching) 
>did not have any trouble building from the root of the device in question. 
[snip]
>We are in a position that allows us to change the parameters to the mount 
>command, however we apparently only need to do so because the compilation 
>of perl has changed, not the DEC C version, not the OS, not lib$fid_to_name() 
>etc.  Unfortunately I don't have enough time right now to look into what 
>has changed in [.VMS]VMS.C to have caused this.

I'm fairly certain the problem is latent in all versions of Perl, C, and 
VMS.  It never came up before because you never hit the code path in 
Perl_cando() that calls lib$fid_to_name, at least not during a build.  I 
believe the reason you hit it now has to do with the code in util.c related 
to default file types and controlled by the ALWAYS_DEFTYPES macro, which is 
known not to work yet in 5.6.0 and thus must not be defined (right?).  When 
it is defined, I think Perl_find_script is hunting more aggressively for 
script files and hits the Perl_cando code that caused you problems.  This 
file hunting code should work (and in fact does so long as the volume 
logical is not redefined) but it apparently never gets hit unless 
ALWAYS_DEFTYPES is enabled.  Just to be clear, the default file types code 
is not yet working for reasons unrelated to the lib$fid_to_name gotcha, but 
when it was turned on in one of the release candidates, it caused you that 
additional problem.

_______________________________________________
Craig A. Berry                                   
mailto:[EMAIL PROTECTED]

Reply via email to