Tenía el sqlite3
paquete instalado en Ubuntu y no hay soporte para readline. Eso significa que no hay historial de comandos y esas otras características ingeniosas que le ofrece readline.
¿Es esto un problema de configuración o empaque? ¿Existe un archivo de paquete diferente en algún lugar que me brinde soporte de readline de fábrica? O bien, ¿cómo compilo sqlite3 para asegurarme de que tiene soporte para readline?
Agrego otra respuesta porque este es el primer éxito de " ubuntu sqlite3 readline " en google:
El SDK de Android instala su propia versión del
sqlite3
binario. Este binario no proporcionareadline
soporte. Si agregaste el SDK de Android a tu ruta, esto podría hacerte pensar que no tienesreadline
soporte, de hecho, cada paquete de Ubuntu está compilado conreadline
soporte.Consulte también este Informe de errores de Ubuntu que describe la misma situación.
fuente
which sqlite3
.$ANDROID_HOME/Sdk/platform-tools
después$PATH
, pero simplemente no instalé sqlite3. Y encontré este hilo usando exactamente la misma frase de búsqueda.Si aún no está instalado, instale libreadline y libncurses. En Ubuntu Linux, instale ejecutando el siguiente comando:
sudo apt install libreadline-dev libncurses-dev
Ejecute el siguiente comando para construir:
gcc -DSQLITE_ENABLE_FTS5 -DHAVE_READLINE shell.c sqlite3.c -lpthread -ldl -lm -lreadline -lncurses -o sqlite3
Nota: Necesita -DHAVE_READLINE y -lreadline y -lncurses para obtener la funcionalidad readline.
Copie el binario sqlite3 en / usr / bin o agréguelo a su ruta.
fuente
sudo apt install libreadline-dev libncurses-dev
Logré compilar mi propio binario con esto:
Descargue el archivo fuente "autoconf" de la página de descarga de SQLite . Descomprima y extraiga el tar, cambie al directorio de origen.
Compile el código fuente con:
Estoy corriendo en RedHat, así que tuve que correr de
yum install readline-devel
antemano. Esto puede ser diferente en su máquina.fuente