我不是Linux专家,但是我正在研究它,这里是“挑战”:我想将一个古老的C应用程序从Red Hat 9移植到一个较新的Ubuntu / Debian版本(不幸的是, ,我没有原始的源代码,只有二进制)。此应用程序在使用旧版MySQL(3.23.54a)的虚拟机上运行。
在初步测试中,我尝试使用对数据库进行少量修改的MySQL新版本:通过“ engine = MyISAM;”修复“ TYPE = MyISAM;” 之后,< / em>和“ datetime NOT NULL default'0000-00-00 00:00:00'” 使用“ CURRENT_TIMESTAMP” ...我得到了“ Bad Handshake” 问题(更不用说该应用程序需要打开旧版本的MySQL中的某些文件才能打开)。所以,第一个问题:唯一的方法是安装旧版MySQL吗?
嗯...我试图使用GCC 4.8.5(由apt安装)从源代码安装此MySQL版本,使用
解决了“ Linuxthread问题”if (document.getElementById("inputB").value == '' && document.getElementById("inputC").value == '') {
req.open("GET", suggest.instance[id].url + "?term=" + suggest.instance[id].input.value);
req.send();
} else if (document.getElementById("inputC").value == '') {
req.open("GET", suggest.instance[id].url + "?cou=" + document.getElementById("inputA").value + "&term=" + suggest.instance[id].input.value);
req.send();
} else if (document.getElementById("inputA").value != '' && document.getElementById("inputB").value == '') {
req.open("GET", suggest.instance[id].url + "?cou=" + document.getElementById("inputA").value + "&term=" + suggest.instance[id].input.value);
req.send();
} else {
req.open("GET", suggest.instance[id].url + "?cou=" + document.getElementById("inputA").value + "&sta=" + document.getElementById("inputB").value + "&term=" + suggest.instance[id].input.value);
req.send();
}
},
和“ / usr / bin / ld:errno:/lib/libc.so.6节中的TLS定义。tbss与...中的非TLS引用不匹配。” 添加
echo '/* Linuxthreads */' >> /usr/include/pthread.h
到违规文件。所以,我得到了:
#include <errno.h>
这实际上不是“需要”,而只是我所知的一种练习(这篇文章也成为提高我的英语水平的机会)。
答案 0 :(得分:2)
您应该查看虚拟机。虚拟机应该可以帮助您创建在当前环境之上运行的新虚拟环境。您可以根据需要设置虚拟环境的参数,而不影响当前环境。免费的虚拟机提供商:ALollz
您所需要做的就是与您要复制的操作系统相对应的虚拟机映像。例如,在这里您需要Red Hat 9(来自官方网站)https://www.virtualbox.org