在运行 Tiger 的旧 iBook G4 上,它不应升级到 Leopard,因此也无法升级到 XCode 2.5 以上,我想从 Fink 或 MacPorts 的源代码编译一些软件包,这些软件包需要 gcc 4.0。
我有一个手工编译的非常不错的 gcc 4.0,但是 Fink 和 MacPorts 用来选择 gcc 版本的 gcc_select 并不知道它们的存在,只知道 XCode 附带的 gcc 3.3。我如何让 gcc_select 确认这个编译器的存在?
回答按照 Chris 的建议,我发现gcc_select -n 4.0
找到了 gcc-4.0,但没有找到 g++-4.0。安装 XCode 2.5 就可以了。
答案1
gcc_select
您使用的是哪一个gcc
?系统自带了一个,MacPorts 中也有一个(我不使用 Fink,也没有在他们的软件包列表中找到)。我没有安装 MacPorts,但查看其 Portfile,似乎它被设置为仅管理 MacPortsgcc
安装(/opt/local/bin/gcc)。系统gcc_select
管理/usr/bin/gcc
。
系统gcc_select
来自普通的开发者工具 ( DeveloperToolsCLI.pkg
)。使用它来选择gcc
开发者工具安装所提供的以外的安装可能“不受支持”。它可能会起作用,但需要安装到(或至少是符号链接)各种“系统”目录中。尝试(例如)gcc_select -n 4.9
看看它说了什么。
我的 iBook G4 运行 10.4 版,安装了开发工具,默认使用 gcc 4.0.1。
% gcc --version
powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5370)
此外,我的gcc-3.3
构造与您的不同。
% gcc-3.3 --version
gcc-3.3 (GCC) 3.3 20030304 (Apple Computer, Inc. build 1819)
也许你安装的开发工具比较旧或不完整。根据收据,我的 gcc-4.0 来自gcc4.0.pkg
。查看我的存档,我有xcode25_8m2558_developerdvd.dmg
(946768492 字节),是我通过苹果开发者连接很久以前。
答案2
假设您已通过 MacPorts 安装了 gcc_select(我不确定它是否与 Apple 或 Fink 的相同),您应该能够通过导航到 来添加条目/opt/local/etc/select/gcc
。查看将作为参考的基础文件,然后创建一个新文件,该文件提供手动编译的 gcc 的相应位置。例如,在我的计算机上:
$ cat base
bin/gcc
bin/cpp
bin/c++
bin/g++
bin/gcj
bin/gcov
bin/gfortran
$ cat mp-gcc43
bin/gcc-mp-4.3
bin/cpp-mp-4.3
bin/c++-mp-4.3
bin/g++-mp-4.3
bin/gcj-mp-4.3
bin/gcov-mp-4.3
bin/gfortran-mp-4.3
我实际上还没有尝试过这个(我不是一个真正的 C 程序员,所以我害怕搞砸事情),但希望这会有所帮助!
编辑
另一件事:至少对于 python_select 来说,基础文件中未包含在选择文件中的项目将被替换为-
。