douhuan9289
2013-08-23 03:21
浏览 84
已采纳

如何使用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.

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dongzhuo2371 2013-08-23 04:17
    已采纳

    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?

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • douyi1855 2013-08-24 03:07

    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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题