Port Audio не устанавливается из-за устаревших функций Core Audio

Я некоторое время пытался установить Port Audio на свой Mac и наткнулся на кирпичную стену. Каждый раз, когда я пытаюсь установить его, используя:

./configure --disable-mac-universal && make

Он завершается с кодом ошибки 1, потому что CoreAudio имеет устаревшие функции. Я слышал, что CoreAudio сломался или иным образом испортился во время одного из последних обновлений, и, возможно, это вызвало мою проблему? Я не совсем уверен, что попробовать прямо сейчас, так как не могу найти способ откатить версию фреймворка Core Audio на моем компьютере. Любые ваши предложения, ребята, были бы замечательными.

Mac OSX 10.7.5
XCode 4.5.2
Последняя сборка PortAudio


Фактический код ошибки:

AVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=8 -DHAVE_NANOSLEEP=1 -DPA_USE_COREAUDIO=1 src/hostapi/coreaudio/pa_mac_core.c -fno-common -DPIC -o src/hostapi/coreaudio/.libs/pa_mac_core.o cc1: warnings being treated as errors src/hostapi/coreaudio/pa_mac_core.c: In function 'PaMacCore_GetChannelName': src/hostapi/coreaudio/pa_mac_core.c:140: warning: 'AudioDeviceGetPropertyInfo' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2611) src/hostapi/coreaudio/pa_mac_core.c:151: warning: 'AudioDeviceGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2640) src/hostapi/coreaudio/pa_mac_core.c:159: warning: 'AudioDeviceGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2640) src/hostapi/coreaudio/pa_mac_core.c:193: warning: 'AudioDeviceGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2640) src/hostapi/coreaudio/pa_mac_core.c: In function 'PaMacCore_GetBufferSizeRange': src/hostapi/coreaudio/pa_mac_core.c:232: warning: 'AudioDeviceGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2640) src/hostapi/coreaudio/pa_mac_core.c: In function 'gatherDeviceInfo': src/hostapi/coreaudio/pa_mac_core.c:361: warning: 'AudioHardwareGetPropertyInfo' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:1249) src/hostapi/coreaudio/pa_mac_core.c:374: warning: 'AudioHardwareGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:1270) src/hostapi/coreaudio/pa_mac_core.c:393: warning: 'AudioHardwareGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:1270) src/hostapi/coreaudio/pa_mac_core.c:410: warning: 'AudioHardwareGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:1270) src/hostapi/coreaudio/pa_mac_core.c: In function 'ClipToDeviceBufferSize': src/hostapi/coreaudio/pa_mac_core.c:445: warning: 'AudioDeviceGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2640) src/hostapi/coreaudio/pa_mac_core.c: In function 'CalculateFixedDeviceLatency': src/hostapi/coreaudio/pa_mac_core.c:525: warning: 'AudioDeviceGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2640) src/hostapi/coreaudio/pa_mac_core.c:530: warning: 'AudioStreamGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:3023) src/hostapi/coreaudio/pa_mac_core.c:534: warning: 'AudioDeviceGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2640) src/hostapi/coreaudio/pa_mac_core.c:538: warning: 'AudioDeviceGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2640) src/hostapi/coreaudio/pa_mac_core.c: In function 'CalculateDefaultDeviceLatencies': src/hostapi/coreaudio/pa_mac_core.c:568: warning: 'AudioDeviceGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2640) src/hostapi/coreaudio/pa_mac_core.c: In function 'GetChannelInfo': src/hostapi/coreaudio/pa_mac_core.c:597: warning: 'AudioDeviceGetPropertyInfo' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2611) src/hostapi/coreaudio/pa_mac_core.c:604: warning: 'AudioDeviceGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2640) src/hostapi/coreaudio/pa_mac_core.c: In function 'InitializeDeviceInfo': src/hostapi/coreaudio/pa_mac_core.c:670: warning: 'AudioDeviceGetPropertyInfo' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2611) src/hostapi/coreaudio/pa_mac_core.c:677: warning: 'AudioDeviceGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2640) src/hostapi/coreaudio/pa_mac_core.c:684: warning: 'AudioDeviceGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2640) src/hostapi/coreaudio/pa_mac_core.c: In function 'UpdateSampleRateFromDeviceProperty': src/hostapi/coreaudio/pa_mac_core.c:1033: warning: 'AudioDeviceGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2640) src/hostapi/coreaudio/pa_mac_core.c: In function 'QueryUInt32DeviceProperty': src/hostapi/coreaudio/pa_mac_core.c:1062: warning: 'AudioDeviceGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2640) src/hostapi/coreaudio/pa_mac_core.c: In function 'SetupDevicePropertyListeners': src/hostapi/coreaudio/pa_mac_core.c:1120: warning: 'AudioDeviceAddPropertyListener' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2703) src/hostapi/coreaudio/pa_mac_core.c:1123: warning: 'AudioDeviceAddPropertyListener' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2703) src/hostapi/coreaudio/pa_mac_core.c:1125: warning: 'AudioDeviceAddPropertyListener' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2703) src/hostapi/coreaudio/pa_mac_core.c:1127: warning: 'AudioDeviceAddPropertyListener' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2703) src/hostapi/coreaudio/pa_mac_core.c: In function 'CleanupDevicePropertyListeners': src/hostapi/coreaudio/pa_mac_core.c:1135: warning: 'AudioDeviceRemovePropertyListener' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2729) src/hostapi/coreaudio/pa_mac_core.c:1138: warning: 'AudioDeviceRemovePropertyListener' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2729) src/hostapi/coreaudio/pa_mac_core.c:1140: warning: 'AudioDeviceRemovePropertyListener' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2729) src/hostapi/coreaudio/pa_mac_core.c:1142: warning: 'AudioDeviceRemovePropertyListener' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2729) src/hostapi/coreaudio/pa_mac_core.c: In function 'OpenAndSetupOneAudioUnit': src/hostapi/coreaudio/pa_mac_core.c:1304: warning: 'AudioDeviceAddPropertyListener' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2703) src/hostapi/coreaudio/pa_mac_core.c: In function 'AudioIOProc': src/hostapi/coreaudio/pa_mac_core.c:2340: warning: 'AudioConverterFillBuffer' is deprecated (declared at /System/Library/Frameworks/AudioToolbox.framework/Headers/AudioConverter.h:699) src/hostapi/coreaudio/pa_mac_core.c:2519: warning: 'AudioConverterFillBuffer' is deprecated (declared at /System/Library/Frameworks/AudioToolbox.framework/Headers/AudioConverter.h:699) src/hostapi/coreaudio/pa_mac_core.c: In function 'CloseStream': src/hostapi/coreaudio/pa_mac_core.c:2599: warning: 'AudioDeviceRemovePropertyListener' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2729) src/hostapi/coreaudio/pa_mac_core.c:2608: warning: 'AudioDeviceRemovePropertyListener' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2729) make: *** [src/hostapi/coreaudio/pa_mac_core.lo] Error 1


person Sean Michael Dorian    schedule 03.11.2012    source источник
comment
Возможно, было бы полезно, если бы вы действительно прочитали сообщение об ошибке. :-) Ключевые слова - предупреждения рассматриваются как ошибки (о четвертой строке стены текста, который вы разместили). Если вы хотите игнорировать устаревшую функциональность и продолжать компилировать, отключите этот флаг при компиляции.   -  person Ken White    schedule 04.11.2012
comment
Я не знал, что могу это сделать! Я поищу это правильно, спасибо.   -  person Sean Michael Dorian    schedule 04.11.2012
comment
Вы должны добавить к этому вопросу тег portaudio (возможно, вместо порта, ядра и установки). Вы должны указать, какую ОС / версию XCode и т. Д. Вы используете и какие SDK вы установили.   -  person Bjorn Roche    schedule 04.11.2012


Ответы (2)


Если обновление до последней версии PortAudio SVN не устраняет проблему, это предложение из списка рассылки:

Удалите -Werror из скрипта сборки и замените его на -Wall

Или попробуйте добавить -Wno-deprecated перед -Werror

Если вы попытаетесь добавить -Wno-deprecated, сообщите нам, как вы это сделаете, поскольку в настоящее время это предпочтительный вариант, хотя он еще не был протестирован.

Насколько я понимаю, под «сборкой сценария» они подразумевают configure.in.

person Bjorn Roche    schedule 04.11.2012
comment
Сначала я попробовал оба флага только в configure.ini, затем я попробовал только make-файл, затем я попробовал флаги и в make-файле, и в configure.ini, и он все еще выдавал мне предупреждения. - person Sean Michael Dorian; 05.11.2012
comment
После изменения configure.in повторно запустите ./configure, который должен сгенерировать новый make-файл (вы можете проверить, чтобы убедиться). Если это все еще не работает, вы можете полностью удалить флаги -Werror и посмотреть, работает ли это. - person Bjorn Roche; 05.11.2012
comment
Используя то, что вы предложили, я смог его скомпилировать. Мне также пришлось запустить sudo make install после ./configure --disable-mac-universal && make - person Sean Michael Dorian; 05.11.2012

Это то, что сработало для меня (-w отключает все предупреждения в GCC)

CFLAGS=-w ./configure && make

Я попробовал -Wno-depreacted, но у меня это не сработало:

command line option "-Wno-deprecated" is valid for C++/Java/ObjC++ but not for C
person Davorin    schedule 03.05.2013