LazReport不适用于第二台机器

时间:2013-12-09 02:41:59

标签: debugging lazarus

我有两台电脑--Ubuntu 12.04 + Lazarus。我们称他们为A和B.

我在A上开发了一个程序。它运行正常。 我使用Lazarus在B上运行相同的程序,它运行正常。

然后我在A上编译一个程序(二进制)并在B上尝试。现在问题就开始了。

除了没有任何报告(LazReport)出现之外,一切正常。没有错误。只是没有回应。程序继续没有崩溃,但没有响应。这怎么可能?

线索:

  1. 在机器A和B上,我安装了软件(Lazarus)作为默认管理员用户。
  2. 在机器B上,我有另一个用户帐户,但这是标准用户。
  3. 在机器B上,我使用标准用户帐户在Lazarus上安装了LazReport组件。所以我怀疑是权限问题。
  4. 然后我从机器B上移除了Lazarus上的LazReport组件,并再次重新安装它。但是这次我以管理员的身份运行它gksu -u ADMIN -w startlazarus,但仍然没有变化。
  5. 请告知我如何解决这个问题。

    我的限制: 我必须能够使用标准帐户而不是ADMIN来执行此操作。这甚至可能吗?

    谢谢!

    编辑:这是ldd的输出:

    linux-gate.so.1 =>  (0xb76f3000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb76c3000)
    libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb758f000)
    libgdk_pixbuf-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 (0xb756d000)
    libgtk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 (0xb7105000)
    libgdk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 (0xb7056000)
    libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xb7007000)
    libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xb6f0e000)
    libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 (0xb6f0a000)
    libgmodule-2.0.so.0 => /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 (0xb6f05000)
    libpango-1.0.so.0 => /usr/lib/i386-linux-gnu/libpango-1.0.so.0 (0xb6ebb000)
    libcairo.so.2 => /usr/lib/i386-linux-gnu/libcairo.so.2 (0xb6df0000)
    libatk-1.0.so.0 => /usr/lib/i386-linux-gnu/libatk-1.0.so.0 (0xb6dd0000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb6dca000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6c20000)
    /lib/ld-linux.so.2 (0xb76f4000)
    libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb6bff000)
    libgio-2.0.so.0 => /usr/lib/i386-linux-gnu/libgio-2.0.so.0 (0xb6aa8000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb6a7c000)
    libpangocairo-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0 (0xb6a6e000)
    libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xb6a68000)
    libpangoft2-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangoft2-1.0.so.0 (0xb6a3c000)
    libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xb6a08000)
    libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb69f6000)
    libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xb69eb000)
    libXinerama.so.1 => /usr/lib/i386-linux-gnu/libXinerama.so.1 (0xb69e7000)
    libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xb69d7000)
    libXrandr.so.2 => /usr/lib/i386-linux-gnu/libXrandr.so.2 (0xb69ce000)
    libXcursor.so.1 => /usr/lib/i386-linux-gnu/libXcursor.so.1 (0xb69c3000)
    libXcomposite.so.1 => /usr/lib/i386-linux-gnu/libXcomposite.so.1 (0xb69be000)
    libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xb69ba000)
    libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xb69b3000)
    libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb6977000)
    librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb696e000)
    libpixman-1.so.0 => /usr/lib/i386-linux-gnu/libpixman-1.so.0 (0xb68d5000)
    libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb683b000)
    libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xb6811000)
    libxcb-shm.so.0 => /usr/lib/i386-linux-gnu/libxcb-shm.so.0 (0xb680d000)
    libxcb-render.so.0 => /usr/lib/i386-linux-gnu/libxcb-render.so.0 (0xb6803000)
    libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb67ec000)
    libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb67e8000)
    libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb67e1000)
    libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xb67c2000)
    libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xb67aa000)
    libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xb677f000)
    

    它们在机器A和B上显示为IDENTICAL,但括号内的十六进制数不同。除此之外,它是同一条线。

    编辑:更多信息 - 新发现......

    我打开了一个终端。然后跑了Nautilus。然后我运行我的二进制文件,在尝试报告时,我在终端中收到了这个错误:

      

    [警告] SetAlphaBlend调用没有句柄   frProgressForm(TfrProgressForm)

    我不知道但我相信这是错误。我没有像上面提到的那样。

1 个答案:

答案 0 :(得分:1)

显然,正如我后来发现的那样,报告在开发文件夹之外没有工作,尽管应用程序的其余部分也是如此。

解决方案是简单地复制报告文件(.lrf)并将其放入包含二进制文件的目标文件夹中。