[openssl-dev] [openssl.org #4425] CentOS 5: mkdir /include: Permission denied at ./Configure line 1248
Jeffrey Walton
noloader at gmail.com
Mon Mar 14 00:38:21 UTC 2016
On Sun, Mar 13, 2016 at 7:56 PM, Richard Levitte via RT <rt at openssl.org> wrote:
> Vid Sun, 13 Mar 2016 kl. 23.16.45, skrev noloader at gmail.com:
>> On Sun, Mar 13, 2016 at 7:09 PM, Richard Levitte via RT
>> <rt at openssl.org> wrote:
>> > Vid Sun, 13 Mar 2016 kl. 22.05.21, skrev noloader at gmail.com:
>> >> $ perl --version
>> >> This is perl, v5.8.8 built for x86_64-linux-thread-multi
>> >
>> > This is a problem. We don't really support perl older than 5.10, so
>> > 5.8.x is
>> > potentially challenging. It's quite possible you found a problem
>> > area.
>> >
>> > As far as I understand the issue, it seems that the File::Spec perl
>> > module
>> > might be a bit dicy and could use an upgrade. If it was me, I'd
>> > upgrade Perl.
>> >
>>
>> I don't have any PERL-fu, so forgive my ignorance here... At the
>> moment, I only see that one failure, so it may not be as bad as it
>> appears.
>>
>> Before this executes:
>>
>> $dir = catdir($base,$dir) unless isabsolute($dir);
>>
>> It seems $base is <empty>. Would it be possible to fallback to $PWD if
>> $base is <empty>? Does it make sense for $base to be empty?
>
> Kinda sorta makes sense. That would be if 'dirname' misbehaves, i.e. gives back
> '' in some cases.
>
> Would you please test the attached patch, see if that makes a difference?
OK, so I got to dig a little further... The problem appears to be the
"unless isabsolute($dir)".
First, instrument with print's (my apologies; I no almost no PERL):
sub cleandir {
my $base = shift;
print "base directory: ", "$base", "\n";
my $dir = shift;
print "dir directory: ", "$dir", "\n";
my $relativeto = shift || ".";
my $this_catdir = catdir($base,$dir);
print "this_catdir: ", "$this_catdir", "\n";
my $is_absolute = isabsolute($dir);
print "is_absolute: ", "$is_absolute", "\n";
$dir = catdir($base,$dir) unless isabsolute($dir);
print "catdir directory: ", "$dir", "\n";
# Make sure the directories we're building in exists
mkpath($dir);
my $res = abs2rel(absolutedir($dir), rel2abs($relativeto));
#print STDERR "DEBUG[cleandir]: $dir , $base => $res\n";
return $res;
}
It produces:
base directory: /home/jwalton/Desktop/openssl
dir directory: /include
this_catdir: /home/jwalton/Desktop/openssl/include
is_absolute: 1
catdir directory: /include
It seems like I should be able to drop the "unless isabsolute($dir)",
but it causes problems in later invocations when using "../". Maybe it
needs some like "not isrelative($dir)", too.
Would you like access to the VM? You should be able to jump to it from
the PowerMac to 172.16.4.16 .
Jeff
More information about the openssl-dev
mailing list