将 C/C++/Motif 应用程序套件从 RedHat Linux ES4 移植到 RedHat Linux ES6 需要什么
我即将着手一个项目,将我们的应用程序套件从 RedHat ES4 移植到 RedHat ES6。这有多复杂?过去,我们在各个版本中都有过不同的经历,并且想知道迁移到 ES6 是否存在任何特定的问题。
I am about to embark on a project to port our application suite from RedHat ES4 to RedHat ES6. How complex is this? We've had differing experiences from version to version in the past and was wondering if there are any specific gotchas in the move to ES6.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这完全取决于您的代码中的内容、代码的干净程度以及您的旧 Linux 的最新程度(open-motif 2.2.x 与 2.3.3、gcc 版本等)。如果您没有在 ES4 上使用任何已弃用的功能,正在使用建议的编码方法而不是 hack,并且您的库具有稳定的接口,那么它可能会重新编译。如果没有,它会给你一些错误的列表,这些错误可能会让你了解复杂性,但这主要依赖于机会和猜测。如果它在出错之前编译了很多文件,那么可能很容易。如果它只是给你带来很多错误,那么可能很难。运行的编译作业越多,您就会有更好的想法。
根据我更改操作系统的经验,我不希望对预测有太多帮助。我已通过简单的重新编译将 SUSE Linux 代码移至 Ubuntu 和 Windows。前几次在 Windows 和 Linux 之间移动代码时,我必须进行一些更改(嗯,第一次从 Windows 移动到 Linux 的时候不止一次),但现在它毫不费力。我有一个我编写的图像幻灯片程序。它始于旧版本的 Slackware(32 位),后来转移到 Gentoo(32 和 64 位)和 Ubuntu(32 和 64 位)。除了程序改进之外,我所要做的就是重新编译并可能安装必要的开发库。
我曾经遇到过 Oracle OCCI(OCI 的 C++ 版本)的问题,我的 Win32 应用程序在 Linux(32 或 64 位)上编译和链接得很好,但由于 Oracle 失败的产品支持,我不得不使用我们的 Win64 目标平台的第 3 方库。但有了干净的设计,一旦我决定更换库,只花了 2 天就修复了 9 个月的代码。
It will all depend on what is in your code, how clean it is and how up to date your old Linux is (open-motif 2.2.x vs 2.3.3, gcc version, etc.). If you aren't using any deprecated functionality on ES4, are using suggested coding methods instead of hacks, and your libraries have stable interfaces, then it may just recompile. If not, it will give you a list of some errors that might give you an idea of the complexity, but that will rely mostly on chance and guesswork. If it compiles a lot of files before an error, then probably easy. If it just gives you a lot of errors, then probably hard. You'll get a better idea the more compile jobs run.
From my experience in changing the OS, I wouldn't expect too much help on a prediction. I've moved SUSE Linux code to Ubuntu and Windows with simple recompiles. I had to make a few changes the first couple of times I moved the code between Windows and Linux (well, more than a few first moving from Windows to Linux), but now it's effortless. I have an image slideshow program that I wrote. It started on an old version of Slackware (32-bit), got moved to Gentoo (32 and 64-bit) and Ubuntu (32 and 64-bit). Aside from program improvements, all I've had to do is recompile and maybe install necessary development libraries.
I once ran into a problem with Oracle's OCCI (c++ version of OCI) where my Win32 application would compile and link just fine on Linux (32 or 64 bit), but because of Oracle's failed product support I had to rewrite the database parts using a 3rd-party library for our target platform of Win64. But with a clean design, once I decided to replace the library, it only took 2 days to fix 9 months worth of code.