build - para - vlc mac gratis
Construcción de Portaudio en OSX 10.7.5 con SDK10.6 o 10.7 falla (3)
Todavía tengo problemas para construir la biblioteca de Portaudio en mi sistema, que es OSX 10.7.5 con Xcode 4.3.2, tengo instaladas las herramientas de línea de comandos y tengo SDK10.6 y SDK10.7 bajo
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
En breve describo (también para otros que se encuentran con el mismo problema) lo que he hecho hasta ahora (siguiendo diferentes soluciones que he encontrado en la web).
1) Descargué "Portaudio" / pa_stable_v19_20111121.tgz (última versión estable) desde:
www.portaudio.com/download.html
2) Leí las instrucciones para construir Portaudio aquí:
www.portaudio.com/docs/v19-doxydocs/compile_mac_coreaudio.html
e intenté compilar desde una ventana de Terminal con el comando sugerido:
./configure && make
Esto resultó (no tan sorprendentemente) en muchos errores que terminan en:
llvm-gcc-4.2: error al intentar ejecutar ''/usr/bin/../llvm-gcc-4.2/bin/powerpc-apple-darwin11-llvm-gcc-4.2'': execvp: No existe tal archivo o directorio lipo: puede ''t abrir archivo de entrada: /var/folders/1_/xkp08ky561jg02zjjrpsxg940000gn/T//ccPxCTrJ.out (Ningún archivo o directorio) hacer: * [src / hostapi / coreaudio / pa_mac_core.lo] Error 1
Esto sucede porque "ppc" ya no es compatible desde OSX 10.5. Además, la carpeta "Desarrollador" no existe en OSX 10.7 y todo lo que estaba en la carpeta Desarrollador se ha movido a
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
3) Descargué un parche (mac_configure_patch.txt) para arreglar "configure" desde:
https://www.assembla.com/spaces/portaudio/tickets/216#/activity/ticket :
y lo copió al directorio de Portaudio y lo aplicó escribiendo en Terminal:
$ patch <mac_configure_patch.txt
Un mensaje de confirmación dijo:
parcheando archivo configure.in
Entonces todo parece estar bien. Pero todavía Portaudio está tratando de construir para "ppc".
4) Ahora configuro ARCHFLAGS, CFLAGS, LDFLAGS para construir solo para la arquitectura i386 de la siguiente manera (deshabilitando la compilación universal):
$ 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 -arch i386 -mmacosx-version-min = 10.7 "LDFLAGS =" - isysroot / Aplicaciones / Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sd -arch i386 -mmacosx-version -min = 10.7 "./configure --disable-mac-universal
5) Además encontré que:
A): "#include AudioToolbox.h" en ".include / pa_mac_core.h" se debe DESCOMMENTAR
B): que "-wError" de "Makefile" (no Makefile.in) debería eliminarse.
atendiendo a: http://www.fluxforge.com/blog/building-portaudio-under-os-x-107-lion
6) Ahora intento construir (usando: "sudo make"), la compilación comienza pero falla con:
ld: framework not found CoreAudio
collect2: ld devolvió 1 estado de salida
make: * [lib / libportaudio.la] Error 1
7) Así que trato de apuntar al framework usando "-F / System / Library / Frameworks -framework CoreAudio"
lo que lleva al siguiente comando de 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 -arch i386 -mmacosx-version-min = 10.7 "LDFLAGS =" - isysroot / Aplicaciones / 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
que parece solucionar el problema del framework CoreAudio pero da como resultado otro error que dice:
ld: biblioteca no encontrada para -lSistema
collect2: ld devolvió 1 estado de salida
make: * [lib / libportaudio.la] Error 1
Ahora estoy estancado en este punto. ¿Alguien experimentó los mismos problemas al tratar de construir Portaudio en OSX 10.7 usando SDK10.6 o SDK10.7? ¿Alguien encontró una solución a cómo construir Portaudio desde la Terminal? ¡Estoy muy agradecido por cualquier pista! ¡Gracias por adelantado!
Prueba el último svn. Si eso no funciona desde el principio, es posible que tengas que ensuciar con algunas de las banderas.
por ejemplo, en configure.in:
- cambiar -Werror a -Wall
- agregue -Wo-deprecated (no debería necesitar esto, pero por las dudas)
entonces corre
./configure --disable-mac-universal
y hacer como de costumbre.
OK, finalmente resolví el problema. Espero que la solución ayude a otros también. Me olvidé de agregar también la ruta al framework CoreAudio a CFLAGS. Aquí está el comando final de configuración / compilación para construir portaudio en OSX 10.7.5 usando SDK10.7 para la arquitectura i386 y x86_64:
Abra una ventana de Terminal en el directorio de Portaudio y escriba:
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 - arch i386 -mmacosx-version-min = 10.7 -F / System / Library / Frameworks -framework CoreAudio "LDFLAGS =" - isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10. 7.sdk -arch i386 -mmacosx-version-min = 10.7 -F / System / Library / Frameworks -framework CoreAudio "./configure --disable-mac-universal
Si esto ha finalizado, debe editar Makefile
y cambiar la mención de -Werror
to- -Wall
.
Entonces:
hacer
Voila. Ahí tienes tu "libportaudio.la" en el directorio portaudio / lib. Ahora puede escribir
sudo make install
(se te pedirá que confirmes con tu contraseña)
para poner la biblioteca en el directorio del sistema.
¡Finalmente puedes perder el tiempo con Portaudio! ¡Que te diviertas!
Intenté tus instrucciones en Mac OSX Mountain Lion (10.8), y estaba progresando mucho en la compilación, pero luego estaba fallando con:
In file included from ./test/patest_sine_channelmaps.c:53:
./include/pa_mac_core.h:100:1: error: unknown type name ''AudioDeviceID''
AudioDeviceID PaMacCore_GetStreamInputDevice( PaStream* s );
^
./include/pa_mac_core.h:109:1: error: unknown type name ''AudioDeviceID''
AudioDeviceID PaMacCore_GetStreamOutputDevice( PaStream* s );
^
2 errors generated.
make: *** [bin/patest_sine_channelmaps] Error 1
Sin embargo, me di cuenta de que simplemente puedes usar Homebrew (apt-like packet manager para OSX) y hará el trabajo sucio como un hechizo. Encuentra binarios y encabezados en el directorio de instalación especificado :)
$ brew install portaudio
Warning: It appears you have MacPorts or Fink installed.
Software installed with other package managers causes known problems for
Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again.
==> Downloading http://www.portaudio.com/archives/pa_stable_v19_20111121.tgz
######################################################################## 100.0%
==> Downloading patches
######################################################################## 100.0%
==> Patching
patching file include/pa_mac_core.h
==> ./configure --prefix=/usr/local/Cellar/portaudio/19.20111121 --enable-mac-un
==> make install
/usr/local/Cellar/portaudio/19.20111121: 8 files, 316K, built in 20 seconds