1 votos

¿Cómo puedo compilar sqlite3 desde el código fuente en MacOS?

Estoy tratando de construir una copia de sqlite3 desde la fuente en mi Mac Mini M1 con MacOS Monterey 12.4 (21F79). La razón por la que quiero hacer esto (en lugar de utilizar un construcción precompilada o instalando a través de Homebrew o MacPorts) es que necesito habilitar el SQLITE_ENABLE_UPDATE_DELETE_LIMIT (ver aquí ).

He leído la página del proyecto titulada "Cómo compilar SQLite" pero no he conseguido entender el proceso. Vagamente entiendo que necesitaré alguna combinación de gcc, Tcl, el parser Lemon, un poco de suerte y los conjuros adecuados para alimentarlos a todos.

Con respecto a esa bandera, la página dice específicamente:

Si se define esta opción, también debe definirse cuando se utiliza la herramienta generadora de parser Lemon para generar un archivo parse.c. Debido a esto, esta opción sólo se puede utilizar cuando la biblioteca se construye desde el código fuente, no de la amalgama o de la colección de archivos C preempaquetados que se ofrecen en el sitio web para plataformas que no son de tipo Unix.

¡Entiendo que esto puede ser un problema XY! Aun así, me gustaría saber cómo hacerlo, aunque sólo sea para satisfacer mi curiosidad. ¿Alguien conoce los pasos?

1voto

Jose Chavez Puntos 645

Tendrá que descargar la versión de código fuente no amalgamada de SQLite. Está disponible aquí:

https://www.sqlite.org/download.html

Al final verás "Formatos alternativos de código fuente", y necesitarás los códigos fuente completos.

A continuación, querrá descomprimir los códigos fuente y luego editar el Makefile para incluir su SQLITE_ENABLE_UPDATE_DELETE_LIMIT opción.

Después puedes compilar sqlite3.c con este comando:

make sqlite3.c

Ten en cuenta que si no tienes instalados los compiladores, deberás instalar primero las herramientas de línea de comandos de Xcode.

Una vez ejecutado el comando anterior, tendrá una versión de código fuente amalgamada de sqlite. Esto también necesita ser compilado en el binario real, se espera. Puedes hacerlo con un comando como este:

gcc shell.c sqlite3.c -lpthread -ldl -lm -o sqlite3

Puede encontrar instrucciones más detalladas en el sitio web de sqlite aquí:

https://www.sqlite.org/howtocompile.html

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X