あなたは正しい方向に進んでいます。これらはフレームワークとインクルードフラグですが、正しい構成オプションを使用すると、システムインクルードでさえ適切に選択されていることがわかります。
--with-mac-sysroot
Makefilesは、属性と属性に基づいてフレームワークを適切に設定しようとし--with-mac-version-min
ます。
SDKの場所を指定するための構成オプションの例:
--with-mac-sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/
--with-mac-version-min=10.7
Mountain lion(10.8)で構築している場合でも、PulseAudioが参照する10.8 SDKにヘッダーがないため、10.7の最小互換性を使用する必要があります。
autoconfが完了autogen.sh
すると実行されるconfigureオプションをに渡すことができます。configure
マスターブランチでテストされた次のコマンドを試すことができます。
./autogen.sh --prefix=/usr/local --disable-jack --disable-hal --disable-bluez --disable-avahi --with-mac-sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/ --with-mac-version-min=10.7 --disable-dbus
m4マクロエラーが発生した場合は、m4マクロをaclocalからm4サブディレクトリにコピーして、再試行してください。
他にもいくつか問題がありますが、これらはすぐに解決される可能性があります。これを構築しようとしている人に役立つ可能性があるため、ここに追加します。
エラー:Multiprocessing.hが見つかりません:
これは10.7で非推奨になりましたが、ヘッダーはCoreServicesに引き続き含まれており、ファイル内のinclude命令を変更するだけでビルドされますsrc/pulsecore/semaphore-osx.c
。
-#include <Multiprocessing.h>
+#include <CoreServices/CoreServices.h>
エラー:'lt_PROGRAM_LTX_preloaded_symbols 'が宣言されていません。
これはコンパイルの問題である可能性がありsrc/daemon/dumpmodules.c
、外部マクロを宣言することで修正できます。
extern const lt_dlsymlist lt_preloaded_symbols[];
エラー:gdbm.h:そのようなファイルまたはディレクトリはありません
何らかの理由で、デフォルトのインクルードディレクトリはコンパイラによって考慮されないため、src/Makefile
ルックにパスを追加して変数を設定できますGDBM_CFLAGS
。
GDBM_CFLAGS=-I/usr/local/include
nJoy!