代码之家  ›  专栏  ›  技术社区  ›  NumberFour

在debian上运行c程序的问题

  •  3
  • NumberFour  · 技术社区  · 14 年前

    我有以下问题:我使用代码块在LinuxUbuntu9.10上编译了我的应用程序。它是一个C程序(它只使用很少的库,如libmysql、jasper…) 我将编译后的程序复制到运行Debian2.6.18的远程系统中,chmoded+x应用程序,但是在调用时/my_app bash仍然说“没有这样的文件或目录”

    我需要在目标系统上编译我的程序吗?我确信程序需要的所有库都安装在目标系统上。

    谢谢你的建议。

    3 回复  |  直到 14 年前
        1
  •  2
  •   gary    14 年前

    您的诊断尝试(ldd)和报告的错误消息(没有这样的文件,不是动态可执行文件)没有太大帮助。“文件我的应用程序”的输出可能更具指示性。但你不必去努力。从一个声称为ubuntu代言的人那里 the Wiki :

    关于debian与ubuntu不兼容的事实,人们已经说了很多。

    只是说清楚,我再说一遍, 记录在案。我们的目标不是 “二进制兼容性” 分配。为什么? …
    简而言之,因为我们相信自由 软件作为一个协作过程 专注于源代码,并考虑 它优于专有工艺 重点是 应用程序和二进制位。

    所以,是的,你需要重新编译。

        2
  •  2
  •   Hassan Syed    14 年前

    目标系统上可能缺少共享库。跑 ldd <binary name> (列出所需的动态库)并检查目标计算机上是否存在所列出的库。

        3
  •  1
  •   Roman Dmitrienko    14 年前

    我非常肯定这个问题与库无关(您会得到一个不同的错误消息)。

    确保您的程序不会试图打开目标系统上不存在的任何文件。它可以做到这一点,然后默默地失败,只有“没有这样的文件…”消息。