How do I get rid of the old version of sqlcipher?

There seem to be two versions installed. One is 3.4.1 which can be installed and uninstalled via apt-get and version 3.26.0 which lies in /usr/local/bin/sqlcipher. I cannot remember to have installed it. I need to install sqlcipher 4 but I think I first need to remove 3.26.0. I use ubuntu.

Hi @Hans

It appears Ubuntu may be distributing the 3.4.1 version of SQLCipher based on this.

If you are looking for an open source solution, and are unable to locate an alternative distribution, you might try building the binary on Linux yourself. We have some instructions to assist in getting started.

Hi Developernotes

Thank you for your answer! I followed the instructions, cloned the repository and executed

./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" LDFLAGS="-lcrypto"
make

which gave me the following output:

make: Nothing to be done for 'all'.

Hi @Hans

The ./configure command is separate from the invocation of make. Is that how you ran it? If not, would you try running them separately? If so, would you try running make clean, followed by a separate invocation of make?

Thanks! I rerun it (a lot of stuff happened in the console) and a lot of files are created. sqlcipher -version still doesn’t show a new version though. But is the version 4 installed now?

Hi @Hans

Check to see if there is a sqlcipher binary within the root directory of your source clone. Run something like:

find . -name "sqlcipher"

If it is present, you should able to execute it:

./sqlcipher

Hi developernotes

Sorry for the late response… that doesn’t work :frowning: super frustrating! The first code gives me the location of the cloned repo:

find . -name "sqlcipher"                         
./Desktop/test/sqlcipher
./Desktop/test/sqlcipher/sqlcipher

and the second command:

./sqlcipher       
zsh: no such file or directory: ./sqlcipher

Hi @Hans

In that case, adjust your search to confirm you are looking for files:

find . -type f -iname "sqlcipher"

For any result, attempt to invoke the full path returned in the output. For example:

./Desktop/test/sqlcipher/sqlcipher

Hi developernotes

Sorry to cause these kind of troubles, but I don’t quite get it. I need the v4 of sqlcipher as a dependency for some other project. I used your last advice and got the following:

I don’t need to start the application but rather have it installed for some other software to use it.

Sorry that I am so lost here.

Hi @Hans

Since your other software has a dependency on SQLCipher, you might reach out to that vendor for integration steps now that you’ve build SQLCipher locally.