Неустранимая ошибка при сборке SQLCipher (файл 'openssl/rand.h' не найден)
Я пытаюсь собрать SQLCipher на моем Mac и получаю фатальную ошибку после запуска make.
Система: OS X El Capitan Я установил openssl после следования этой инструкции.
Перед запуском make я статически связал libcrypto.a командой
./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" \
LDFLAGS="/usr/local/opt/openssl/lib/libcrypto.a"
Я получил ошибку
sqlite3.c:18280:10: fatal error: 'openssl/rand.h' file not found
#include <openssl/rand.h>
^
1 error generated.
make: *** [sqlite3.lo] Error 1
4 ответа
Убедитесь, что brew правильно связался с библиотеками openssl. Запустите эту команду
brew link openssl --force
Тогда попробуйте еще раз.
Я столкнулся с этим специально для библиотеки golang, которую пытался установить. Я получил следующую ошибку при попытке запустить go get github.com/xeodou/go-sqlcipher
:
# github.com/xeodou/go-sqlcipher
project/src/github.com/xeodou/go-sqlcipher/sqlite3-binding.c:18280:10: fatal error: 'openssl/rand.h' file not found
Я исправил это, добавив следующее в мой профиль bash:
export CGO_LDFLAGS="-L/usr/local/opt/openssl/lib"
export CGO_CPPFLAGS="-I/usr/local/opt/openssl/include"
Надеюсь, это поможет.
У меня не было варки на моей машине, но я исправил эту ошибку по-другому. В XCode я пошел в Предпочтения-> местоположения ->"исходные деревья"-> Нажмите +, установил OPENSSL_SRC в "полный путь к openssl-источнику"
Я сделал все это, но у меня сработало следующее: brew reinstall openssl
Конечно, вы должны быть владельцем /usr/local, чтобы убедиться в этом: sudo chown -R username /usr/local
,
Надеюсь, это поможет любому нуждающемуся.