вCoding

Корректно ставим драйвер SQLite для GoLang в Windows 10 x64

Всем привет, недавно мне пришлось написать небольшую программу на языке Go, которая использовала SQLite в качестве БД. Все это дело я собирал и разрабатывал на Macbook под управление Mac OS X. В качестве драйвера SQLite использовался пакет https://github.com/mattn/go-sqlite3. И все было хорошо, пока не встала задача установки данной программы на ПК с Windows 10 x64. Тут и начались траблы)))

Все пакеты устанавливаль и не выдавали ошибок. При запуске моего приложение, в консоль вываливаль ошибка о том, что драйвер sqlite3 не найден. Сразу же был найден пост на github странице пакета, но ничего  не помогло. Копнув глубже была найдена проблема, необходимо было вручную скомпилировать библиотеку sqlite используя gcc компилятор, а потом используя bash выполнить команду сборки пакета sqlite драйвера в golang. Если вы сталкнулись с подобной проблеммой вот вам рецепт приготовления.

  1. Скачиваем и устанавливаем актуальную версию GoLang (https://golang.org/dl/);
  2. Прописываем в переменных системного окружения пути к Go, а так же переменную GOARCH=386 (если не хотим мучиться с установкой mingw64), это скажет компилятору Go формировать 32 битные испольнитеотные файлы и библиотеки (https://github.com/golang/go/wiki/WindowsCrossCompiling);
  3. Скачиваем актуальную версию MinGW32 (http://www.mingw.org);
  4. Устанавливаем MinGW32 с компилятором GCC, Automake, AutoConfig и MSYS (в качестве bash);
  5. Скачиваем исходники sqlite (https://www.sqlite.org/download.html) с параметрами автоконфигурирования (sqlite-autoconf-{version}.tar.gz), распаковываем в любоу папке;
  6. Запускаем MSYS и переходим в каталог с распаковаными исходниками sqlite;
  7. Выполняем конфигурирование: # ./configure
  8. Собираем библиотеку: # make
  9. Устанавливаем библиотеку в MinGW: # make install
  10. Скачиваем драйвер sqlite в go не выходя из MSYS: # go get -u  github.com/mattn/go-sqlite3 (если же драйвер скачан, тогда выполняем сборку  # go build  github.com/mattn/go-sqlite3)
  11. Собираем нушу программу;
  12. Радуемся.

Если данная статья будет вам полезна, просьба написать комментарий.

Все спасибо!

Похожие посты

Добавить комментарий