所以我们有这个程序,它正在 OpenSuse 13.1 中编译,配置如下:
- GCC 4.6-15.1.3
- GLIBC 2.14
- 加密货币 1.0
但是,它应该与具有以下配置的 OpenSuse 10.3 一起运行:
- 海湾合作委员会 4.2-24
- GLIBC 2.6.1-18
- Libcrypto 0.9.8
到目前为止,我能找到的唯一依赖__isoc99_sscanf
项是 GLIBC 2.7 中引入的。我尝试通过编写自己的 sscanf 函数来解决此问题,并通过在源代码中添加以下行来替换它:
__asm__(".symver __isoc99_sscanf1, __isoc99_sscanf@@GLIBC_2.7");
现在我留下了 libcrypto 依赖项,当我尝试在旧的 OpenSuse 环境中运行它时,它看起来也在 munmap() (当我 strace 程序时)函数上出现段错误(可能是 GCC 的东西?)
所以基本上,我真的不知道解决这种向后兼容性问题的标准程序是什么。有什么想法吗?