douhuan9289
douhuan9289
2013-08-23 03:21

如何使用levigo

  • leveldb
已采纳

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 dongzhuo2371 8年前

    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 douyi1855 8年前

    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

    点赞 评论 复制链接分享

为你推荐