2013-08-23 1 views
1

Je veux utiliser LevelDB en aller et trouver l'outil levigo je tente de construire avec la commande de suiviComment utiliser levigo

go get github.com/jmhodges/levigo

Puis je me suis échoué avec l'erreur:

/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&)' 

alors j'essaye de courir:

CGO_CFLAGS="-I/path/to/leveldb/include" CGO_LDFLAGS="-L/path/to/leveldb/lib" go get github.com/jmhodges/levigo

cela ne fonctionne pas et signale presque la même erreur. quelqu'un sait ce qui s'est passé et comment y remédier? merci.

Répondre

2

Voici mon installation de 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 
$ 

Quelle sortie obtenez-vous si vous exécutez ces commandes?

+0

J'essaie vos commandes, étape par étape , et il a échoué sur la dernière étape, les erreurs signalées sont les mêmes qu'avant – AndreMouche

+0

J'ai encore essayé, et quand j'exécute la dernière commande, il rapporte les erreurs suivantes: fun @ fun: ~ $ go -v github.com/jmhodges/levigo github.com/jmhodges/levigo # github.com/jmhodges/levigo 1: erreur: 'leveldb_free' non déclaré (première utilisation dans cette fonction) 1: remarque: chaque identificateur non déclaré n'est signalé qu'une seule fois pour chaque fonction apparaissant dans 1: erreur: 'leveldb_compact_range 'non déclaré (première utilisation dans cette fonction) – AndreMouche

2

Voici mon installation et cela a fonctionné avec succès:

  • installer 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/

  • installer levigo:

    $ go get github.com/jmhodges/levigo