Budowanie Portaudio na OSX 10.7.5 przy użyciu SDK10.6 lub 10.7 kończy się niepowodzeniem
Nadal mam problemy z budowaniem biblioteki Portaudio w moim systemie, czyli OSX 10.7.5 z Xcode 4.3.2, z zainstalowanymi narzędziami wiersza poleceń i SDK10.6 i SDK 10.7 pod
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
Opisuję krótko (także dla innych, którzy napotykają ten sam problem) to, co dotychczas zrobiłem (postępując według różnych rozwiązań, które znalazłem w sieci).
1) Pobrałem „Portaudio” / pa_stable_v19_20111121.tgz (ostatnie stabilne wydanie) z:
www.portaudio.com/download.html
2) Przeczytałem tutaj instrukcje dotyczące budowy Portaudio:
www.portaudio.com/docs/v19-doxydocs/compile_mac_coreaudio.html
i próbowałem skompilować z okna Terminal za pomocą sugerowanego polecenia:
./configure && make
Wynikało to (nie tak zaskakująco) z wielu błędów kończących się na:
llvm-gcc-4.2: błąd podczas wykonywania polecenia '/usr/bin/../llvm-gcc-4.2/bin/powerpc-apple-darwin11-llvm-gcc-4.2': execvp: Brak takiego pliku lub katalogu lipo: can otwórz plik wejściowy: /var/folders/1_/xkp08ky561jg02zjjrpsxg940000gn/T//ccPxCTrJ.out (Brak takiego pliku lub katalogu) wykonaj:* [src / hostapi / coreaudio / pa_mac_core.lo] Błąd 1
Dzieje się tak, ponieważ „ppc” nie jest już obsługiwane od OSX 10.5. Ponadto folder „Developer” nie istnieje w OSX 10.7 i wszystko, co znajdowało się w folderze Developer, zostało przeniesione do
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
3) Pobrałem poprawkę (mac_configure_patch.txt), aby naprawić „configure” z:
https://www.assembla.com/spaces/portaudio/tickets/216#/activity/ticket:
i skopiowałem go do katalogu portaudio i zastosowałem, wpisując w Terminal:
$ patch <mac_configure_patch.txt
Komunikat potwierdzający powiedział:
plik krosujący configure.in
Wszystko wydaje się więc w porządku. Jednak nadal Portaudio próbuje zbudować dla „ppc”.
4) Teraz ustawiam ARCHFLAGS, CFLAGS, LDFLAGS, aby budować tylko dla architektury i386 w następujący sposób (wyłączając kompilację uniwersalną):
$ MACOSX_DEPLOYMENT_TARGET = "10.7" ARCHFLAGS = "- arch i386" CFLAGS = "- O2 -g -Wall -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -architum i386 -mmacosx-version-min = 10.7 „LDFLAGS =” - isysroot /Aplikacje/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sd -arch i386 -mmacosx-version -min = 10.7 "./configure --disable-mac-universal
5) Dalej stwierdziłem, że:
A): „#include AudioToolbox.h” w „.include / pa_mac_core.h” powinno być UNCOMMENTED
B): należy usunąć „-wError” z „Makefile” (nie Makefile.in).
akceptując:http://www.fluxforge.com/blog/building-portaudio-under-os-x-107-lion
6) Teraz próbuję budować (używając: „sudo make”), kompilacja zaczyna się, ale kończy się niepowodzeniem:
ld: framework nie znaleziono CoreAudio
collect2: ld zwrócił 1 status wyjścia
robić:* Błąd [lib / libportaudio.la] 1
7) Więc staram się wskazać na strukturę przy użyciu „-F / System / Library / Frameworks -framework CoreAudio”
prowadzące do następującego polecenia Terminal:
$ MACOSX_DEPLOYMENT_TARGET = "10.7" ARCHFLAGS = "- arch i386" CFLAGS = "- O2 -g -Wall -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -architum i386 -mmacosx-version-min = 10.7 „LDFLAGS =” - isysroot /Aplikacje/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sd -arch i386 -mmacosx-version -min = 10.7 -F / System / Library / Frameworks -framework CoreAudio "./configure --disable-mac-universal
co wydaje się naprawiać problem z ramami CoreAudio, ale powoduje inny błąd, który mówi:
ld: biblioteka nie została znaleziona dla -lSystem
collect2: ld zwrócił 1 status wyjścia
robić:* Błąd [lib / libportaudio.la] 1
Utknąłem w tym momencie. Czy ktoś doświadczył tych samych problemów podczas próby zbudowania Portaudio na OSX 10.7 przy użyciu SDK10.6 lub SDK10.7. Czy ktoś znalazł rozwiązanie, jak zbudować Portaudio z Terminalu? Jestem bardzo wdzięczny za wszelkie wskazówki !!! Z góry dziękuję!