Gcc 为没有构建环境的旧Linux系统构建strace

Gcc 为没有构建环境的旧Linux系统构建strace,gcc,libc,Gcc,Libc,我有点问题。我需要使用strace实用程序来找出为什么命令会在较旧的Linux系统上崩溃。不幸的是,我没有strace,在那个系统上也没有gcc/binutils 我尝试在当前的Debian系统上静态构建应用程序,但是调用getpwnam需要动态加载编译时使用的libc版本。这很好,但由于旧系统上的实用程序都是使用旧版本的libc构建的,因此在该系统上安装新的libc会破坏其他一切 除了下载和安装旧的Linux发行版,然后进行构建之外,还有更简单的方法解决这个问题吗?这个系统的原始发行版目前还不

我有点问题。我需要使用strace实用程序来找出为什么命令会在较旧的Linux系统上崩溃。不幸的是,我没有strace,在那个系统上也没有gcc/binutils

我尝试在当前的Debian系统上静态构建应用程序,但是调用getpwnam需要动态加载编译时使用的libc版本。这很好,但由于旧系统上的实用程序都是使用旧版本的libc构建的,因此在该系统上安装新的libc会破坏其他一切


除了下载和安装旧的Linux发行版,然后进行构建之外,还有更简单的方法解决这个问题吗?这个系统的原始发行版目前还不清楚,我对它的研究越多,它看起来就像一个巨大的鸡对蛋的问题。任何提示都将不胜感激。

使用过时的Linux系统从来都不是明智之举。。。可以升级吗?若否,原因为何?什么是失败,如何失败?有机会更新吗

应该有一个名为/etc/release或类似文件,可以让您了解发行版和版本。或者
uname-a
可能会提供有关分布的线索。如果不起作用,请尝试查看是否有rpm、apt-get或其他包管理命令,这将缩小分发范围。谷歌搜索一些安装了版本的软件包可能有助于缩小发行版的版本范围


了解发行版和版本,您可能能够获得strace(以及其他所需的软件包)。许多发行版都保留了存档版本(至少是旧版本的原始安装介质)。

我通常同意您的意见,但这是一个由供应商提供的嵌入式系统,我无法进行您建议的更改。我在这里唯一的选择是建立一个构建环境,可以创建一个在目标系统上运行的实用程序。有没有机会联系供应商以了解详细信息?根据GPL,您有权获得完整的源代码,因此他们至少应该有可用的源代码。这将是一个起点,大多数嵌入式系统使用特殊的设置,不容易与“正态”分布相同化。供应商不会帮我的。他们是偏执狂类型。谢谢你的帮助,但我需要一个构建环境——这是我迄今为止找到的唯一解决方案。为了跟进我的查询,我最终对它是什么发行版进行了一个有根据的猜测,然后不得不在版本中进行反向工作,直到我有了一个具有相同版本libc的系统。一旦我这样做了,我就可以编译我需要的实用程序(strace)。