我在运行 OS-X High Sierra 的 Mac 上,想创建一个单独的 gcc 版本。Lemme 分享了我花了一周时间才完成的一些过程,以便对其他人有所帮助:
我创建了一个安全目录“gcc”并使用 svn 从 gcc 获取最新的源代码,它在名为“trunk”的子目录中创建。我最初在主干的顶层创建了一个名为“build”的目录。
它不会在没有 4 个依赖项的情况下编译,所以我运行 ./contrib/download 先决条件来获取它们,但它仍然无法编译,所以我分别进入这 4 个目录中的每一个并执行 ./configure, ./make 、./make install 和 ./make 检查。我做了安装部分,因为即使这些依赖项也相互依赖,所以安装似乎是确保可以找到它们的安全方法。后来我发现没有其他方法,尽管有相反的指示......
我成功地构建了依赖项 GMP、MPFR、ISL 和 MPC。然后我回到 ./build 并且 ../configure 成功了,但是构建(make)很快就失败了,说“源目录已经配置;先运行“make distclean there first”。谷歌搜索显示这是在源目录中配置时.我想也许我的主干/构建目录被认为是“在源目录中”,所以我移动了它并再次尝试,同样的事情发生了。当我尝试进入主干并输入“make distclean”时只是说没有规则使目标 distclean。
所以我想,也许是 4 个依赖目录?也许现在它们已安装,可以安全地将它们全部清除?在那里,使 distclean 工作并取出所有东西 - 甚至是我运行的测试。看起来很浪费并且需要预先安装它们,但它起作用了。
回到构建中,make 然后在 make 期间开始了一些严肃的编译工作,但崩溃说“应该包含系统头文件的目录不存在:/usr/include”。
我应该如何引导这个?我在哪里可以找到要复制到 /usr/include 中的系统头文件?以后我会遇到缺少 libc 和库的相同问题吗?另外,如果我想在不重建的情况下将其移植到新计算机上,除了可执行文件和头文件之外,我还需要复制什么?我会把它们放在哪里?
感谢您的任何建议... - 杰夫