小编ajd*_*con的帖子

Linux二进制文件找不到共享库,但在strace中运行时工作

(注意:下面的二进制文件和二进制文件以及库的名称都是混淆的,以保护无辜者.;-)该应用程序在NDA下是专有的,但行为可能不依赖于它.)

我有一个Linux二进制文件,在运行时会输出以下错误:

binary:加载共享库时出错:libshared.so:无法打开共享对象文件:没有这样的文件或目录

自libshared以来,它本身就令人困惑.所以在LD_LIBRARY_PATH中.然而,

  • 运行时正确找到库ldd binary(即ldd输出指向文件位置)

  • 运行时可以正确找到库strace binary,以便程序能够打印其使用信息!

我从来没有见过一个应用程序,当它自己运行而不是在strace中运行时表现不同,但我想也许其他人已经看到过这种情况发生之前?任何想法如何解决这个问题?

我没有源,所以我无法重建.在strace下运行应用程序可能不是首发.操作系统是RHEL 6.2.

shared-libraries strace

3
推荐指数
1
解决办法
2370
查看次数

perl dancer:foreach in template只打印第一个值

我在Dancer中有一个非常简单的问题:我有一系列名字,我想在模板中打印每一个.这些名称来自外部源(不是数据库).但是,当我尝试对模板中的列表进行foreach时,我只得到第一个值.

码:

use Dancer;
use Template;

set 'template' => 'template_toolkit';

get '/' => sub {
    my @list = ("one","two","three");
    template 'list.tt', {
            'values' => @list,
    };
};
dance;
Run Code Online (Sandbox Code Playgroud)

和模板:

<ul>
    <%FOREACH item IN values %>
        <li><% item %></li>
    <%END%>
</ul>
Run Code Online (Sandbox Code Playgroud)

这仅输出具有单个项目"一个"的列表.我错过了什么?

perl template-toolkit dancer

0
推荐指数
2
解决办法
1621
查看次数