我將Xcode 3.2安裝到/Xcode3.2,並且沒有而是將任何東西安裝到/ Developer中。當我希望做開發,我開始了一個shell如下aclocal/autoconf報告在Mac OS X上缺少m4sugar.m4?
alias sysroot='PATH=${PATH}:${XCODE}/usr/bin CFLAGS=--sysroot\ ${SDK_ROOT} CXXFLAGS=--sysroot\ ${SDK_ROOT} LDFLAGS=--sysroot\ ${SDK_ROOT} CPPFLAGS=--sysroot\ ${SDK_ROOT}'
其中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
指定-I
標誌來aclocal
在替代/Xcode3.2/usr/share/aclocal-1.10
和/Xcode3.2/usr/share/aclocal
點似乎並沒有幫助。如果我使用--verbose
,然後重新運行m4
命令它手動列出一個添加的-I
標誌指向/Xcode3.2/usr/share/autoconf
,那麼工作,但我似乎無法通過從aclocal
管道。此外,M4PATH
環境變量,man
頁面爲m4
建議將讓我添加路徑似乎沒有區別。 (並設置一個環境變量將是我的首選設置,只是我可以將它添加到上面的別名。)
到目前爲止,我還沒有想出一個解決方案,而不是「髒」的程序創建從/usr/share/autoconf
到/Xcode3.2/usr/share/autoconf
的符號鏈接。還有更好的方法嗎?
注意:我在開發人員工具和操作系統的安裝之間保持如此不同的界限的原因是爲了提供可靠的跨OS編譯(例如,使得一個Xcode版本的工具不會干擾另一個Xcode版本的構建行爲)。
autom4te和M4,所有這些工具都在Xcode一起安裝在安裝的那些之前卸載的autoconf(
sudo port uninstall autoconf
)蘋果在Mac OS X上提供的開發工具。這與通過fink或darwinports等安裝所有這些工具有關。您可以選擇讓它們在/ usr/whatever中放置有用的副本(可能是鏈接?),但它們都生活在/ Xcode3中.2-或/ Developer-前綴路徑。因此,我不負責autoconf的配置 - 這都是Apple。看起來,他們需要在將autom4te.cfg安裝到非標準位置(例如/Xcode3.2)時對其進行參數化。修復.cfg使其工作。謝謝! – 2011-05-17 19:55:27參數化autom4te.cfg路徑的建議錯誤已被提交爲rdar:// 9454686。 – 2011-05-17 20:20:14