英文:
How to use levigo
问题
我想在Go语言中使用leveldb,并找到了levigo工具。
我尝试使用以下命令进行构建:
go get github.com/jmhodges/levigo
然后我遇到了错误:
/home/fun/workspace/study/leveldb/test/libleveldb.a(env_posix.o): In function `leveldb::(anonymous namespace)::StartThreadWrapper(void*)':
env_posix.cc:(.text+0x1e): undefined reference to `operator delete(void*)'
/home/fun/workspace/study/leveldb/test/libleveldb.a(env_posix.o): In function `leveldb::(anonymous namespace)::PosixEnv::NewLogger(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::Logger**)':
env_posix.cc:(.text+0x10c): undefined reference to `operator new(unsigned long)'
/home/fun/workspace/study/leveldb/test/libleveldb.a(env_posix.o): In function `leveldb::(anonymous namespace)::PosixEnv::NewSequentialFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::SequentialFile**)':
env_posix.cc:(.text+0x1e1): undefined reference to `operator new(unsigned long)'
env_posix.cc:(.text+0x1f7): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
然后我尝试运行:
CGO_CFLAGS="-I/path/to/leveldb/include" CGO_LDFLAGS="-L/path/to/leveldb/lib" go get github.com/jmhodges/levigo
但是它没有起作用,并报告了几乎相同的错误。有人知道发生了什么以及如何修复吗?谢谢。
英文:
I want to use leveldb in go,and find the levigo tool
I try to build with the follow command
> go get github.com/jmhodges/levigo
Then I got failed with error:
/home/fun/workspace/study/leveldb/test/libleveldb.a(env_posix.o): In function `leveldb::(anonymous namespace)::StartThreadWrapper(void*)':
env_posix.cc:(.text+0x1e): undefined reference to `operator delete(void*)'
/home/fun/workspace/study/leveldb/test/libleveldb.a(env_posix.o): In function `leveldb::(anonymous namespace)::PosixEnv::NewLogger(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::Logger**)':
env_posix.cc:(.text+0x10c): undefined reference to `operator new(unsigned long)'
/home/fun/workspace/study/leveldb/test/libleveldb.a(env_posix.o): In function `leveldb::(anonymous namespace)::PosixEnv::NewSequentialFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::SequentialFile**)':
env_posix.cc:(.text+0x1e1): undefined reference to `operator new(unsigned long)'
env_posix.cc:(.text+0x1f7): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
then I try to run :
> CGO_CFLAGS="-I/path/to/leveldb/include" CGO_LDFLAGS="-L/path/to/leveldb/lib" go get github.com/jmhodges/levigo
it does not work and report almost the same error .
anybody know what happened and how to fix it?
thank you.
答案1
得分: 2
以下是这些命令的输出:
$ uname -a
Linux peter 3.8.0-27-generic #40-Ubuntu SMP Tue Jul 9 00:17:05 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
$ go version
go version devel +037a28ab0725 Thu Aug 22 12:13:54 2013 +0900 linux/amd64
$ sudo apt-get install libleveldb-dev
正在读取软件包列表... 完成
正在构建依赖关系树
正在读取状态信息... 完成
libleveldb-dev 已经是最新版。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
$ go get -v github.com/jmhodges/levigo
github.com/jmhodges/levigo (下载)
github.com/jmhodges/levigo
$
英文:
Here's my installation of levigo:
$ uname -a
Linux peter 3.8.0-27-generic #40-Ubuntu SMP Tue Jul 9 00:17:05 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
$ go version
go version devel +037a28ab0725 Thu Aug 22 12:13:54 2013 +0900 linux/amd64
$ sudo apt-get install libleveldb-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libleveldb-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ go get -v github.com/jmhodges/levigo
github.com/jmhodges/levigo (download)
github.com/jmhodges/levigo
$
What output do you get if you run these commands?
答案2
得分: 2
以下是翻译好的内容:
这是我的安装步骤,并且成功地运行了:
- 安装leveldb:
$ tar zxvf leveldb-1.12.0.tar.gz
$ cd leveldb-1.12.0/
$ make
$ sudo cp -r include/leveldb /usr/include/
$ sudo cp libleveldb.* /usr/lib/
- 安装levigo:
$ go get github.com/jmhodges/levigo
英文:
Here is my installation and it worked successfully:
- install leveldb:
> $ tar zxvf leveldb-1.12.0.tar.gz
> $ leveldb-1.12.0/
> $ make
> $ sudo cp -r include/leveldb /usr/include/
> $ sudo cp libleveldb.* /usr/lib/
- install levigo:
> $ go get github.com/jmhodges/levigo
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论