Eu tinha o sqlite3
pacote instalado no Ubuntu e não há suporte para readline. Isso significa que não há histórico de comandos e outros recursos bacanas que o readline fornece.
Isso é uma configuração ou um problema de empacotamento? Existe algum arquivo de pacote diferente em algum lugar que me daria suporte de readline fora da caixa? Ou então, como faço para compilar o sqlite3, certificando-me de que ele possui suporte para readline?
Eu adiciono outra resposta, porque este é o primeiro hit de " ubuntu sqlite3 readline " no google:
O SDK do Android instala sua própria versão do
sqlite3
binário. Este binário não fornecereadline
suporte. Se você adicionou o SDK do Android ao seu caminho, isso pode fazer você pensar que não temreadline
suporte; na verdade, todos os pacotes do Ubuntu são compilados comreadline
suporte.Veja também este Relatório de Bug do Ubuntu, que descreve a mesma situação.
fonte
which sqlite3
.$ANDROID_HOME/Sdk/platform-tools
depois$PATH
, mas simplesmente não instalei o sqlite3. E eu encontrei esse tópico usando exatamente a mesma frase de pesquisa.Se ainda não estiver instalado, instale libreadline e libncurses. No Ubuntu Linux, instale executando o comando abaixo:
sudo apt instala libreadline-dev libncurses-dev
Execute o comando abaixo para criar:
gcc -DSQLITE_ENABLE_FTS5 -DHAVE_READLINE shell.c sqlite3.c -lpthread -ldl -lm -lreadline -lncurses -o sqlite3
Nota: Você precisa de -DHAVE_READLINE e -lreadline e -lncurses para obter a funcionalidade de linha de leitura.
Copie o binário do sqlite3 para / usr / bin ou adicione ao seu caminho.
fonte
sudo apt install libreadline-dev libncurses-dev
Eu consegui compilar meu próprio binário com isso:
Faça o download do arquivo fonte "autoconf" na página de download do SQLite . Descompacte e extraia o alcatrão, mude para o diretório de origem.
Compile o código fonte com:
Estou executando no RedHat, então tive que executar
yum install readline-devel
antes. Isso pode ser diferente na sua máquina.fonte