Skip Menu |

This queue is for tickets about the Pod-Usage CPAN distribution.

Maintainer(s)' notes

Please use Github for all future tickets, patches and pull requests: https://github.com/Dual-Life/Pod-Usage

Thanks to Nicolas R (ATOOMIC) for setting up everything there!

Report information
The Basics
Id: 122941
Status: resolved
Priority: 0/
Queue: Pod-Usage

People
Owner: Marek.Rouchal [...] gmx.net
Requestors: troyl [...] ti.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: 1.70



Subject: Pod::Usage::pod2usage() problem with $Config{scriptdir}
Date: Fri, 1 Sep 2017 13:49:50 -0500
To: <bug-Solaris-PerlGcc [...] rt.cpan.org>, <bug-Pod-Usage [...] rt.cpan.org>
From: Troy Loveday <troyl [...] ti.com>
I'm submitting this bug report to Config and Pod::Usage, because I'm not certain which one needs to be changed to fix the problem. My perl is built with -Duserelocatableinc. Problem: When I call pod2usage( -verbose => 2 ), it tries to invoke "$Config{scriptdir}/perldoc". It fails because the value of $Config{scriptdir} is '.../'. I don't know if Config should have applied relocate_inc() to $Config{scriptdir} or if Pod::Usage should have used $Config{scriptdirexp}. I also noticed a related potential problem: Both $Config{bin} and $Config{binexp} have the value '.../'. Attached is the script 'pod2usage.pl' which demonstrates the problem, and also prints the %Config values I mentioned above. Sample run: $ perl ./pod2usage.pl scriptdir : .../ scriptdirexp : /apps/perl/5.14.2/bin/ bin : .../ binexp : .../ Also attached is a patch for Pod::Usage, should that be the correct solution. I did not attach a patch for Config. I don't know how to fix it, since I don't think I understand the intended difference between, e.g., $Config{scriptdir} and $Config{scriptdirexp} (given that they both existed before relocatable @INC). I am interested in clarification on this. Thanks very much for your time and effort. I am interested in knowing the proper fix for this problem. Here's all the gory details of my environment: $ perl -MConfig -e 'print "$Config::VERSION\n";' $ perl -MPod::Usage -e 'print "$Pod::Usage::VERSION\n";' 1.36 $ perl -v This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-thread-multi Copyright 1987-2011, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page. $ uname -a Linux dfl6vdt8016.dal.design.ti.com 2.6.32-642.el6.x86_64 #1 SMP Wed Apr 13 00:51:26 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux $ perl -V Summary of my perl5 (revision 5 version 14 subversion 2) configuration: Platform: osname=linux, osvers=2.6.32-642.el6.x86_64, archname=x86_64-linux-thread-multi uname='linux dflbhrhel68-64.dal.design.ti.com 2.6.32-642.el6.x86_64 #1 smp wed apr 13 00:51:26 edt 2016 x86_64 x86_64 x86_64 gnulinux ' config_args='-des -Duserelocatableinc -Dusethreads -Dcc=gcc -Dprefix=/apps/perl/5.14.2' hint=recommended, useposix=true, d_sigaction=define useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2', cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include' ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-17)', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='gcc', ldflags =' -fstack-protector -L/usr/local/lib' libpth=/usr/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64 libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=/lib/libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.12' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP PERL_PRESERVE_IVUV USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API Built under linux Compiled at Sep 8 2016 10:31:18 @INC: /apps/perl/5.14.2/lib/site_perl/5.14.2/x86_64-linux-thread-multi /apps/perl/5.14.2/lib/site_perl/5.14.2 /apps/perl/5.14.2/lib/5.14.2/x86_64-linux-thread-multi /apps/perl/5.14.2/lib/5.14.2 . -- Troy Loveday <troyl@ti.com> Analog Technology Development Texas Instruments, Inc. Dallas, Texas 214-567-6463

Message body is not shown because sender requested not to inline it.

Message body is not shown because sender requested not to inline it.

Thank you for the report, and very sorry for the long wait. This should be fixed in the meantime in Pod::Usage 1.69, where, if defined, $Config{scriptdirexp} is used: my $progpath = $opts{'-perldoc'} ? $opts{'-perldoc'} : File::Spec->catfile($Config{scriptdirexp} || $Config{scriptdir}, 'perldoc'); I will publish version 1.70 with some more fixes in soon, but please try 1.69 - it should work, if the config is OK, i.e. $Config{scriptdirexp} has a correct value, which represents an actual full path on your system. -Marek
Subject: Re: [EXTERNAL] [rt.cpan.org #122941] Pod::Usage::pod2usage() problem with $Config{scriptdir}
Date: Mon, 16 Mar 2020 10:45:54 -0500
To: Marek Rouchal via RT <bug-Pod-Usage [...] rt.cpan.org>
From: Troy Loveday <troyl [...] ti.com>
Marek, Thanks very much. I can confirm that Pod::Usage 1.70 does indeed fix the problem! On Sun, Mar 15, 2020 at 01:44:26PM -0400, Marek Rouchal via RT wrote: Show quoted text
> > <URL: https://rt.cpan.org/Ticket/Display.html?id=122941 > > > Thank you for the report, and very sorry for the long wait. > This should be fixed in the meantime in Pod::Usage 1.69, where, > if defined, $Config{scriptdirexp} is used: > > my $progpath = $opts{'-perldoc'} ? $opts{'-perldoc'} : > File::Spec->catfile($Config{scriptdirexp} || $Config{scriptdir}, > 'perldoc'); > > I will publish version 1.70 with some more fixes in soon, but > please try 1.69 - it should work, if the config is OK, i.e. > $Config{scriptdirexp} has a correct value, which represents an > actual full path on your system. > > -Marek
-- Troy Loveday <troyl@ti.com> Analog Technology Development Texas Instruments, Inc. Dallas, Texas 214-567-6463
Closing as fixed in Pod-Usage-1.70. Thank you for your patience. -Marek