Installing Term::TermKey returns error

走远了吗. 提交于 2019-12-24 10:00:33

问题


I have a problem while installing Term::TermKey with CPAN and I can't find information about how to solve it. Here is an output:

cpan[9]> install Term::TermKey
Running install for module 'Term::TermKey'
Running Build for P/PE/PEVANS/Term-TermKey-0.10.tar.gz
  Checksum was ok
  '/usr/bin/perl Build.PL installdirs=site' returned status 256, won't make
Running Build test
  Make had some problems, won't test
Running Build install
  Make had some problems, won't install

May someone help me?

//edit

I installed libtermkey but I still have a problem:

Building Term-TermKey
cc -I/usr/lib/perl5/core_perl/CORE -DXS_VERSION="0.10" -DVERSION="0.10" -fPIC -I/usr/local/include -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -o lib/Term/TermKey.o lib/Term/TermKey.c
ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/Term/TermKey/TermKey.bs')
cc -shared -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu -L/usr/local/lib -fstack-protector -o blib/arch/auto/Term/TermKey/TermKey.so lib/Term/TermKey.o -L/usr/local/lib -ltermkey
  PEVANS/Term-TermKey-0.10.tar.gz
  ./Build -- OK
'YAML' not installed, will not store persistent state
Running Build test
t/00use.t ........... 1/1 
#   Failed test 'use Term::TermKey;'
#   at t/00use.t line 8.
#     Tried to use 'Term::TermKey'.
#     Error:  Can't load '/root/.cpan/build/Term-TermKey-0.10-Y5j3Oz/blib/arch/auto/Term/TermKey/TermKey.so' for module Term::TermKey: libtermkey.so.1: nie można otworzyć pliku obiektu dzielonego: Nie ma takiego pliku ani katalogu at /usr/lib/perl5/core_perl/DynaLoader.pm line 190.

It fails on every test. I don't know why. There is -L/usr/local/lib -ltermkey, so I've checked this directory:

ciembor@peace lib]$ ls | grep libtermkey
libtermkey.a
libtermkey.la
libtermkey.so
libtermkey.so.1
libtermkey.so.1.4.0

And all files are on their place...


回答1:


Make sure that /usr/local/lib is also present in either $LD_LIBRARY_PATH or /etc/ld.so.conf. Without that, even if pkg-config can find the termkey.pc file which tells the compiler where the <termkey.h> files are, the (runtime) linker will not be able to link against the actual libtermkey.so file at runtime.

Alternatively, you could install libtermkey as a real package if your OS supports such - I keep a package on http://packages.leonerd.org.uk/ for Debian testing/unstable; it may also be suitable for other Debian-derived distributions such as Ubuntu.




回答2:


When you install modules through CPAN, you don't see many of the error messages if the install fails. I would suggest to download Term-TermKey-0.10.tar.gz manually through http://search.cpan.org, extract it and then

perl Makefile.PL
make
make test
sudo make install

On my machine I'm told at the first step that I don't have libtermkey installed and it points me to a download.



来源:https://stackoverflow.com/questions/8287071/installing-termtermkey-returns-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!