Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl-DynaLoader.pm-libbtparse.so-缺少共享对象_Perl_Shared Libraries - Fatal编程技术网

Perl-DynaLoader.pm-libbtparse.so-缺少共享对象

Perl-DynaLoader.pm-libbtparse.so-缺少共享对象,perl,shared-libraries,Perl,Shared Libraries,大家好,我在运行使用Text::BibTeX模块的perl脚本时遇到了问题。当我运行脚本(脚本位于$PATH内)时,我得到以下结果: [pista@HP-PC bibtex]$ bibmerge Can't load '/home/pista/perl5/lib/perl5/x86_64-linux-thread-multi/auto/Text/BibTeX/BibTeX.so' for module Text::BibTeX: libbtparse.so: cannot open share

大家好,我在运行使用
Text::BibTeX
模块的perl脚本时遇到了问题。当我运行脚本(脚本位于$PATH内)时,我得到以下结果:

[pista@HP-PC bibtex]$ bibmerge 
Can't load '/home/pista/perl5/lib/perl5/x86_64-linux-thread-multi/auto/Text/BibTeX/BibTeX.so' for module Text::BibTeX: libbtparse.so: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 190.
 at /home/pista/bin/bibmerge line 4
Compilation failed in require at /home/pista/bin/bibmerge line 4.
BEGIN failed--compilation aborted at /home/pista/bin/bibmerge line 4.
Unknown Text::BibTeX function: "cleanup" at /home/pista/bin/bibmerge line 4
END failed--call queue aborted at /home/pista/bin/bibmerge line 4.
[pista@HP-PC bibtex]$ ldd /home/pista/perl5/lib/perl5/x86_64-linux-thread-multi/auto/Text/BibTeX/BibTeX.so
    linux-vdso.so.1 =>  (0x00007fff175ff000)
    libbtparse.so => not found
    libc.so.6 => /lib64/libc.so.6 (0x00007fbbb6267000)
    /lib64/ld-linux-x86-64.so.2 (0x000000310b800000)
[pista@HP-PC bibtex]$ 
我假设某个地方缺少动态。所以图书馆。因此,我创建了指向多个位置的符号链接:

[pista@HP-PC bibtex]$ ldd /home/pista/perl5/lib/perl5/x86_64-linux-thread-multi/auto/Text/BibTeX/BibTeX.so
    linux-vdso.so.1 =>  (0x00007ffffd3ff000)
    libbtparse.so => not found
    libc.so.6 => /lib64/libc.so.6 (0x00007f9906d86000)
    /lib64/ld-linux-x86-64.so.2 (0x000000310b800000)
[pista@HP-PC bibtex]$ ls -l /usr/local/lib64/libbtparse.so /usr/share/perl5/libbtparse.so /usr/local/lib64/perl5/libbtparse.so /usr/local/share/perl5/libbtparse.so /usr/lib64/perl5/libbtparse.so
lrwxrwxrwx 1 root root     30 Feb  3 22:19 /usr/lib64/perl5/libbtparse.so -> /usr/local/lib64/libbtparse.so
-r-xr-xr-x 1 root root 268365 Nov 21 00:35 /usr/local/lib64/libbtparse.so
lrwxrwxrwx 1 root root     30 Feb  3 22:19 /usr/local/lib64/perl5/libbtparse.so -> /usr/local/lib64/libbtparse.so
lrwxrwxrwx 1 root root     30 Feb  3 22:19 /usr/local/share/perl5/libbtparse.so -> /usr/local/lib64/libbtparse.so
lrwxrwxrwx 1 root root     30 Feb  3 22:19 /usr/share/perl5/libbtparse.so -> /usr/local/lib64/libbtparse.so
还尝试使用:
cpan-f-i Text::BibTeX
重新安装
Text::BibTeX
,完成后没有出现错误,但没有解决问题

还尝试了以下内容:

[pista@HP-PC bibtex]$ echo $LD_LIBRARY_PATH
[pista@HP-PC bibtex]$ LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib64/"
[pista@HP-PC bibtex]$ echo $LD_LIBRARY_PATH
:/usr/local/lib64/
[pista@HP-PC bibtex]$ export $LD_LIBRARY_PATH
bash: export: `:/usr/local/lib64/': not a valid identifier
在另一个窗口中,我尝试了以下操作(不修改
$LD\u LIBRARY\u路径
只是导出):

几个问题: 最重要的是:如何使
Text::BibTeX
工作? 为什么
echo$LD\u LIBRARY\u PATH
只显示导出它所显示的内容而不显示其他内容? 是否有一些perl包管理器可以处理依赖关系、安装/卸载包? 如何为所有用户安装软件包,我假设当软件包安装在root用户下时,它将安装在root主目录下,这样就没有其他人可以访问它了,还是我错了?是否可以更改已安装模块的位置(使用户模块可供其他用户使用)?为什么我不能经典地打印@INC变量
perl-e'print@INC'
这是一个bug还是一个特性


非常感谢

导出错误是因为您应该使用
export LD\u LIBRARY\u PATH
(无
$
)。您正在评估
导出:/usr/local/lib64/
。人们强迫安装是怎么回事@ikegami谢谢你,兄弟,这成功了。现在,另一个问题是在哪里复制(链接)libbtparse.so,这样我就不必每次都更改LD_LIBRARY_路径。你说的“人们强制安装是什么意思”我尝试过重新安装Text::BibTeX,但没有-f选项,但没有成功,抱怨/home/pista/.local/share/.cpan/Metadata文件,这就是我使用force的原因,不是安装。我在Ubuntu 14.04上安装了带有
cpanm
Text::BibTeX
模块后出现了这个错误。通过安装
libbtparse dev
包解决了此问题。。
[pista@HP-PC bibtex]$ echo $LD_LIBRARY_PATH

[pista@HP-PC bibtex]$ export $LD_LIBRARY_PATH
declare -x BOOT_IMAGE="/boot/vmlinuz-3.6.11-1.fc16.x86_64"
declare -x DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-KwW8FbO4rY,guid=bf5418c1b6c412ebce2d49f80000001b"
declare -x DESKTOP_SESSION="LXDE"
declare -x DISPLAY=":0"
declare -x GNOME_KEYRING_CONTROL="/tmp/keyring-ovZxH6"
declare -x GNOME_KEYRING_PID="1721"
declare -x GTK_IM_MODULE="gtk-im-context-simple"
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/home/pista"
declare -x HOSTNAME="HP-PC"
declare -x IMSETTINGS_INTEGRATE_DESKTOP="yes"
declare -x IMSETTINGS_MODULE="none"
declare -x KDEDIRS="/usr"
declare -x KDE_IS_PRELINKED="1"
declare -x KEYTABLE="us"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="pista"
declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:*.pdf=00;33:*.ps=00;33:*.ps.gz=00;33:*.txt=00;33:*.patch=00;33:*.diff=00;33:*.log=00;33:*.tex=00;33:*.xls=00;33:*.xlsx=00;33:*.ppt=00;33:*.pptx=00;33:*.rtf=00;33:*.doc=00;33:*.docx=00;33:*.odt=00;33:*.ods=00;33:*.odp=00;33:*.xml=00;33:*.epub=00;33:*.abw=00;33:*.html=00;33:*.wpd=00;33:"
declare -x MAIL="/var/spool/mail/pista"
declare -x OLDPWD
declare -x PATH="/home/pista/perl5/bin:/home/pista/perl5/bin:/home/pista/perl5/bin:/home/pista/perl5/bin:/home/pista/perl5/bin:/home/pista/perl5/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/pista/.local/bin:/home/pista/bin"
declare -x PERL5LIB="/home/pista/perl5/lib/perl5/x86_64-linux-thread-multi:/home/pista/perl5/lib/perl5"
declare -x PERL_LOCAL_LIB_ROOT="/home/pista/perl5"
declare -x PERL_MB_OPT="--install_base /home/pista/perl5"
declare -x PERL_MM_OPT="INSTALL_BASE=/home/pista/perl5"
declare -x PREFERRED="/usr/bin/startlxde"
declare -x PWD="/home/pista/bibtex"
declare -x QT_IM_MODULE="xim"
declare -x SAL_USE_VCLPLUGIN="gtk"
declare -x SHELL="/bin/bash"
declare -x SHLVL="2"
declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"
declare -x SYSFONT="latarcyrheb-sun16"
declare -x TERM="xterm"
declare -x USER="pista"
declare -x XAUTHORITY="/home/pista/.Xauthority"
declare -x XDG_CONFIG_HOME="/home/pista/.config"
declare -x XDG_CURRENT_DESKTOP="LXDE"
declare -x XDG_MENU_PREFIX="lxde-"
declare -x XDG_RUNTIME_DIR="/run/user/pista"
declare -x XDG_SEAT="seat0"
declare -x XDG_SESSION_COOKIE="2126b6a2b64504b04e875c5400000010-1359914175.927526-581717791"
declare -x XDG_SESSION_ID="1"
declare -x XDG_VTNR="1"
declare -x XMODIFIERS="@im=none"
declare -x _LXSESSION_PID="1788"