我的Xcode 3.2安装到/Xcode3.2,根本没有安装任何东西到/开发人员.当我想进行开发时,我按如下方式启动shell
alias sysroot='PATH=${PATH}:${XCODE}/usr/bin CFLAGS=--sysroot\ ${SDK_ROOT} CXXFLAGS=--sysroot\ ${SDK_ROOT} LDFLAGS=--sysroot\ ${SDK_ROOT} CPPFLAGS=--sysroot\ ${SDK_ROOT}'
Run Code Online (Sandbox Code Playgroud)
这里XCODE是/Xcode3.2和SDK_ROOT是${XCODE}/SDKs/MacOSX10.6.sdk.这处理了尝试构建项目的大部分奇怪之处.但是,我最近遇到了一个案例,我想重新运行aclocal并出现以下错误:
autom4te: m4sugar/m4sugar.m4: no such file or directory
aclocal: /Xcode3.2/usr/bin/autom4te failed with exit status: 1
Run Code Online (Sandbox Code Playgroud)
指定-I标志以aclocal指向备选方案/Xcode3.2/usr/share/aclocal-1.10并且/Xcode3.2/usr/share/aclocal似乎没有帮助.如果我使用--verbose,然后重新运行m4命令,它手动列出一个添加的-I标志指向/Xcode3.2/usr/share/autoconf,然后这可以工作,但我似乎无法通过管道aclocal.另外,建议页面允许我添加路径的M4PATH环境变量似乎没有什么区别.(设置环境变量将是我的首选设置,因此我可以将其添加到上面的别名中.)manm4
到目前为止,我还没有想出比创建一个符号链接的"弄脏"程序之外的解决方案/usr/share/autoconf来/Xcode3.2/usr/share/autoconf.还有另一种更好的方法吗?
注意:我在开发人员工具和操作系统安装之间保持这些明显界限的原因是提供可靠的跨操作系统编译(例如,以便一个Xcode版本的工具不会干扰另一个Xcode版本的构建行为.)
小智 8
我通过创建一个新的符号链接来解决这个问题
sudo ln -s /Developer/usr/share/autoconf /usr/share
Run Code Online (Sandbox Code Playgroud)
澄清adl答案中确定的解决方案以及Nathan对其的评论:
如果你作为XCode 4.3的一部分autoconf安装在默认位置(下/Developer),你需要编辑,/Developer/usr/share/autoconf/autom4te.cfg因为它有各种错误的路径设置它不包括/Developer目录:
*** /Developer/usr/share/autoconf/autom4te.cfg 2011-10-28 00:15:15.000000000 -0700
--- /Developer/usr/share/autoconf/autom4te.cfg 2011-10-28 00:14:33.000000000 -0700
***************
*** 99,101 ****
begin-language: "Autoconf-without-aclocal-m4"
! args: --prepend-include /usr/share/autoconf
args: --cache=autom4te.cache
--- 99,101 ----
begin-language: "Autoconf-without-aclocal-m4"
! args: --prepend-include /Developer/usr/share/autoconf
args: --cache=autom4te.cache
***************
*** 126,128 ****
begin-language: "Autotest"
! args: --prepend-include /usr/share/autoconf
args: autotest/autotest.m4f
--- 126,128 ----
begin-language: "Autotest"
! args: --prepend-include /Developer/usr/share/autoconf
args: autotest/autotest.m4f
***************
*** 140,142 ****
begin-language: "M4sh"
! args: --prepend-include /usr/share/autoconf
args: m4sugar/m4sh.m4f
--- 140,142 ----
begin-language: "M4sh"
! args: --prepend-include /Developer/usr/share/autoconf
args: m4sugar/m4sh.m4f
***************
*** 152,154 ****
begin-language: "M4sugar"
! args: --prepend-include /usr/share/autoconf
args: m4sugar/m4sugar.m4f
--- 152,154 ----
begin-language: "M4sugar"
! args: --prepend-include /Developer/usr/share/autoconf
args: m4sugar/m4sugar.m4f
Run Code Online (Sandbox Code Playgroud)
我不确定我是否理解您的设置中导致autom4te找不到该文件的原因。您是否移动到最初安装后的autom4te目录?从你的问题中我不清楚(我不熟悉 Xcode,它与 autoconf 捆绑在一起吗?)。Xcode3.2//usr/bin/
无论如何...安装 Autoconf 软件包时,autom4te查找的位置m4sugar.m4是硬编码的。autom4te事实上,它更加微妙:搜索路径是在 中配置的DATADIR/autom4te.cfg,但 DATADIR 的值是硬编码到 中的autom4te。您可以通过设置环境变量(如 )来更改 DATADIR 的值export AC_MACRODIR=/Xcode3.2/usr/share/autoconf,但如果您移动/usr/share/autoconf/autom4te.cfg到/Xcode3.2/usr/share/autoconf/autom4te.cfg,该文件的内容仍将指向/usr/share/autoconf/。
您可以让当地人~/.autom4te.cfg添加更多--prepend-include线路,但这也很粗糙。恕我直言,如果您希望安装 Autoconf,最简单的解决方案Xcode3.2/是将其安装为./configure --prefix /Xcode3.2 && make && make install. 需要不到半分钟。
| 归档时间: |
|
| 查看次数: |
6293 次 |
| 最近记录: |