导入sqlite3驱动程序时出现问题

时间:2018-11-19 17:52:39

标签: go module sqlite

因此,我一直在尝试将以下sqlite3驱动程序集成到我的Go项目中; https://github.com/mattn/go-sqlite3,使用命令;

go get github.com/mattn/go-sqlite3 && go install github.com/mattn/go-sqlite3

按照自述文件中的说明进行操作。不幸的是,无论如何都没有成功-在运行命令并尝试使用import("github.com/mattn/go-sqlite3")导入驱动程序之后,我只剩下两个非常小的特定错误,我认为这些错误与gcc编译器有关?

# command-line-arguments
/usr/bin/ld: $WORK/b001/_pkg1_.a(_x009.o): undefined reference to symbol 'pthread_mutexattr_settype@@GLIBC_2.2.5'
//usr/lib64/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

这是go env的输出,我同时安装了sqlite3和GCC;

GOARCH="amd64"
GOBIN=""
GOCACHE="/home/maciej/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/maciej/go"
GORACE=""
GOROOT="/usr"
GOTMPDIR=""
GOTOOLDIR="/usr/libexec/gcc/x86_64-redhat-linux/8"
GCCGO="/usr/bin/gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build343666347=/tmp/go-build -gno-record-gcc-switches -funwind-tables"

sqlite3 -version
3.22.0 2018-01-22 18:45:57
gcc version 8.2.1 20181105 (Red Hat 8.2.1-5) (GCC)

出于好奇,我尝试使用TDM gcc 5.1.0在Windows 10上运行完全相同的过程,并且该过程运行良好,我非常感谢关于我的问题的任何建议,谢谢。

1 个答案:

答案 0 :(得分:0)

使用水牛时,我遇到了同样的问题。解决方法:

步骤1:转到以下页面:http://tdm-gcc.tdragon.net/

第2步:下载TDM64捆绑包

第3步:启动TDM64捆绑包,安装程序将打开

我写了一篇关于此的博客文章:https://blog.gobuffalo.io/install-buffalo-on-windows-10-e08b3aa304a3