missing perl directories
Achim Gratz
Stromeko@nexgo.de
Fri Jan 22 19:35:35 GMT 2021
Anthony Heading writes:
> Whenever I have a new cygwin setup, I get an error/warning when trying to install perl modules:
>
> % cpan install Win32::Symlink
> Loading internal logger. Log::Log4perl recommended for better logging
> [...]
> Use of uninitialized value $what in concatenation (.) or string at /usr/share/perl5/5.30/App/Cpan.pm line 679, <STDIN> line 1.
> Warning: You do not have write permission for Perl library directories.
>
> I think it is just because the site_perl directories do not exist.
No, I don't get these warnings, so it's something on your system that
triggers these.
$ rm -fr /usr/local/{lib,share}
$ cpan install Win32::Symlink
CPAN: CPAN::SQLite loaded ok (v0.219)
Database was generated on Fri, 22 Jan 2021 19:19:22 GMT
Running install for module 'Win32::Symlink'
CPAN: Digest::SHA loaded ok (v6.02)
CPAN: Compress::Zlib loaded ok (v2.096)
Checksum for /cygdrive/c/Users/ASSI/CygwinHome/.local/share/.cpan/sources/authors/id/A/AU/AUDREYT/Win32-Symlink-0.06.tar.gz ok
CPAN: YAML::XS loaded ok (v0.82)
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
CPAN: Parse::CPAN::Meta loaded ok (v2.150010)
CPAN: CPAN::Meta loaded ok (v2.150010)
Configuring A/AU/AUDREYT/Win32-Symlink-0.06.tar.gz with Makefile.PL
Cannot determine license info from Symlink.pm
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Win32::Symlink
Writing MYMETA.yml and MYMETA.json
AUDREYT/Win32-Symlink-0.06.tar.gz
/usr/bin/perl Makefile.PL -- OK
Running make for A/AU/AUDREYT/Win32-Symlink-0.06.tar.gz
CPAN: Module::CoreList loaded ok (v5.20200601_30)
cp Symlink.pm blib/lib/Win32/Symlink.pm
Running Mkbootstrap for Symlink ()
chmod 644 "Symlink.bs"
"/usr/bin/perl.exe" "-Iinc" -MExtUtils::Command::MM -e 'cp_nonempty' -- Symlink.bs blib/arch/auto/Win32/Symlink/Symlink.bs 644
"/usr/bin/perl.exe" "-Iinc" "/usr/share/perl5/vendor_perl/5.30/ExtUtils/xsubpp" -typemap '/usr/share/perl5/5.30/ExtUtils/typemap' -typemap '/cygdrive/c/Users/ASSI/CygwinHome/.local/share/.cpan/build/Win32-Symlink-0.06-1/typemap' Symlink.xs > Symlink.xsc
Please specify prototyping behavior for Symlink.xs (see perlxs manual)
mv Symlink.xsc Symlink.c
gcc -c -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -D_GNU_SOURCE -ggdb -O2 -pipe -Wall -Werror=format-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -fdebug-prefix-map=/mnt/share/cygpkgs/perl/perl.x86_64/build=/usr/src/debug/perl-5.30.3-1 -fdebug-prefix-map=/mnt/share/cygpkgs/perl/perl.x86_64/src/perl-5.30.3=/usr/src/debug/perl-5.30.3-1 -fwrapv -fno-strict-aliasing -DUSEIMPORTLIB -O3 -DVERSION=\"0.06\" -DXS_VERSION=\"0.06\" "-I/usr/lib/perl5/5.30/x86_64-cygwin-threads/CORE" Symlink.c
rm -f blib/arch/auto/Win32/Symlink/Symlink.dll
g++ --shared -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base -fstack-protector-strong Symlink.o -o blib/arch/auto/Win32/Symlink/Symlink.dll \
/usr/lib/perl5/5.30/x86_64-cygwin-threads/CORE/cygperl5_30.dll -lpthread -lnsl -ldl -lcrypt \
chmod 755 blib/arch/auto/Win32/Symlink/Symlink.dll
Manifying 1 pod document
AUDREYT/Win32-Symlink-0.06.tar.gz
/usr/bin/make -- OK
Running make test for AUDREYT/Win32-Symlink-0.06.tar.gz
"/usr/bin/perl.exe" "-Iinc" -MExtUtils::Command::MM -e 'cp_nonempty' -- Symlink.bs blib/arch/auto/Win32/Symlink/Symlink.bs 644
PERL_DL_NONLAZY=1 "/usr/bin/perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t
t/1-basic.t .. ok
All tests successful.
Files=1, Tests=4, 1 wallclock secs ( 0.05 usr 0.03 sys + 0.09 cusr 0.06 csys = 0.23 CPU)
Result: PASS
AUDREYT/Win32-Symlink-0.06.tar.gz
/usr/bin/make test -- OK
Running make install for AUDREYT/Win32-Symlink-0.06.tar.gz
"/usr/bin/perl.exe" "-Iinc" -MExtUtils::Command::MM -e 'cp_nonempty' -- Symlink.bs blib/arch/auto/Win32/Symlink/Symlink.bs 644
Manifying 1 pod document
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/local/lib/perl5/site_perl/5.30/x86_64-cygwin-threads/auto/Win32/Symlink/Symlink.dll
Installing /usr/local/lib/perl5/site_perl/5.30/x86_64-cygwin-threads/Win32/Symlink.pm
Installing /usr/local/share/man/man3/Win32.Symlink.3pm
Appending installation info to /usr/lib/perl5/5.30/x86_64-cygwin-threads/perllocal.pod
AUDREYT/Win32-Symlink-0.06.tar.gz
/usr/bin/make install -- OK
$
For good measure I repeated this with /usr/local not existing at all and
the result stays the same.
> % perl -V
> Summary of my perl5 (revision 5 version 30 subversion 3) configuration:
> [...]
> @INC:
> /usr/local/lib/perl5/site_perl/5.30/x86_64-cygwin-threads
> /usr/local/share/perl5/site_perl/5.30
> /usr/lib/perl5/vendor_perl/5.30/x86_64-cygwin-threads
> /usr/share/perl5/vendor_perl/5.30
> /usr/lib/perl5/5.30/x86_64-cygwin-threads
> /usr/share/perl5/5.30
>
> ls: cannot access '/usr/local/lib/perl5/site_perl/5.30/x86_64-cygwin-threads': No such file or directory
> ls: cannot access '/usr/local/share/perl5/site_perl/5.30': No such file or directory
>
> If I simply create these empty directories the problem goes away.
If its just a warning then there really isn't a problem that needs
fixing, but anyway there is no presumtption that the site directories
must exist anyway. All installation methods are supposed to create
leading path components.
> Could the perl package just include these empty directories?
See above and /usr/local is off-limits for packaging.
Regards,
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
SD adaptations for KORG EX-800 and Poly-800MkII V0.9:
http://Synth.Stromeko.net/Downloads.html#KorgSDada
More information about the Cygwin
mailing list