Comments (8)
I faced a similar issue initially. It was indeed because of unavailability of libprotobuf9v5 / libprotobuff-c++.
However, downloading the debian package and installing it manually fixes the issue right away. The package can be downloaded here - 64 bit or 32 bit .
from sentencepiece.
I tried to install sentencepiece into a clean Ubuntu 16.04 LTS, but no error was found.
% sudo apt-get install autoconf automake libtool libprotobuf9v5 protobuf-compiler libprotobuf-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
libprotobuf9v5 はすでに最新バージョン (2.6.1-1.3) です。
libprotobuf9v5 は手動でインストールしたと設定されました。
以下の追加パッケージがインストールされます:
autotools-dev libltdl-dev libprotoc9v5 libsigsegv2 m4 zlib1g-dev
提案パッケージ:
autoconf-archive gnu-standards autoconf-doc libtool-doc gfortran
| fortran95-compiler gcj-jdk
以下のパッケージが新たにインストールされます:
autoconf automake autotools-dev libltdl-dev libprotobuf-dev libprotoc9v5
libsigsegv2 libtool m4 protobuf-compiler zlib1g-dev
アップグレード: 0 個、新規インストール: 11 個、削除: 0 個、保留: 455 個。
2,368 kB のアーカイブを取得する必要があります。
この操作後に追加で 11.2 MB のディスク容量が消費されます。
続行しますか? [Y/n] y
...
% make check
v -f .deps/util_test.Tpo .deps/util_test.Po
g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT test_main.o -MD -MP -MF .deps/test_main.Tpo -c -o test_main.o test_main.cc
mv -f .deps/test_main.Tpo .deps/test_main.Po
g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT testharness.o -MD -MP -MF .deps/testharness.Tpo -c -o testharness.o testharness.cc
mv -f .deps/testharness.Tpo .deps/testharness.Po
/bin/bash ../libtool --tag=CXX --mode=link g++ -std=c++11 -Wall -O3 -pthread -o spm_test builder_test.o flags_test.o normalizer_test.o sentencepiece_processor_test.o unicode_script_test.o model_interface_test.o model_factory_test.o trainer_interface_test.o trainer_factory_test.o word_model_test.o word_model_trainer_test.o bpe_model_test.o bpe_model_trainer_test.o char_model_test.o char_model_trainer_test.o unigram_model_test.o unigram_model_trainer_test.o util_test.o test_main.o testharness.o libsentencepiece.la libtrain.a -lprotobuf -pthread -lpthread
libtool: link: g++ -std=c++11 -Wall -O3 -pthread -o .libs/spm_test builder_test.o flags_test.o normalizer_test.o sentencepiece_processor_test.o unicode_script_test.o model_interface_test.o model_factory_test.o trainer_interface_test.o trainer_factory_test.o word_model_test.o word_model_trainer_test.o bpe_model_test.o bpe_model_trainer_test.o char_model_test.o char_model_trainer_test.o unigram_model_test.o unigram_model_trainer_test.o util_test.o test_main.o testharness.o -pthread ./.libs/libsentencepiece.so libtrain.a -lprotobuf -lpthread -pthread
make[3]: ディレクトリ '/home/taku/sentencepiece/src' から出ます
make check-TESTS
make[3]: ディレクトリ '/home/taku/sentencepiece/src' に入ります
make[4]: ディレクトリ '/home/taku/sentencepiece/src' に入ります
PASS: spm_test
Testsuite summary for sentencepiece 0.1.0
TOTAL: 1
PASS: 1
SKIP: 0
XFAIL: 0
FAIL: 0
XPASS: 0
ERROR: 0
============================================================================
make[4]: ディレクトリ '/home/taku/sentencepiece/src' から出ます
make[3]: ディレクトリ '/home/taku/sentencepiece/src' から出ます
make[2]: ディレクトリ '/home/taku/sentencepiece/src' から出ます
make[1]: ディレクトリ '/home/taku/sentencepiece/src' から出ます
make[1]: ディレクトリ '/home/taku/sentencepiece' に入ります
make[1]: ディレクトリ '/home/taku/sentencepiece' から出ます
from sentencepiece.
The description to install protocol buffer was not correct:
Could you please try the following command?
sudo apt-get install autoconf automake libtool libprotobuf-c++ protobuf-compiler libprotobuf-dev
I've already updated the document.
from sentencepiece.
The results are as follows. All except libprotobuf-c++
are installed.
$ sudo apt-get install autoconf automake libtool libprotobuf-c++ protobuf-compiler libprotobuf-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libprotobuf-c-dev' for regex 'libprotobuf-c+'
Note, selecting 'libprotobuf-c0-dev' for regex 'libprotobuf-c+'
Note, selecting 'libprotobuf-c1' for regex 'libprotobuf-c+'
Note, selecting 'libprotobuf-c1-dbg' for regex 'libprotobuf-c+'
Note, selecting 'libprotobuf-c-dev' instead of 'libprotobuf-c0-dev'
autoconf is already the newest version (2.69-9).
automake is already the newest version (1:1.15-4ubuntu1).
libprotobuf-dev is already the newest version (2.6.1-1.3).
libtool is already the newest version (2.4.6-0.1).
protobuf-compiler is already the newest version (2.6.1-1.3).
libprotobuf-c-dev is already the newest version (1.2.1-1).
libprotobuf-c1 is already the newest version (1.2.1-1).
libprotobuf-c1-dbg is already the newest version (1.2.1-1).
0 upgraded, 0 newly installed, 0 to remove and 15 not upgraded.
$ dpkg -l | grep protobuf
ii libmirprotobuf3:amd64 0.21.0+16.04.20160330-0ubuntu1 amd64 Display server for Ubuntu - RPC definitions
ii libprotobuf-c-dev 1.2.1-1 amd64 Protocol Buffers C static library and headers (protobuf-c)
ii libprotobuf-c1 1.2.1-1 amd64 Protocol Buffers C shared library (protobuf-c)
ii libprotobuf-c1-dbg 1.2.1-1 amd64 Protocol Buffers C shared library debug symbols (protobuf-c)
ii libprotobuf-dev:amd64 2.6.1-1.3 amd64 protocol buffers C++ library (development files)
ii libprotobuf-java 2.6.1-1.3 all Java bindings for protocol buffers
ii libprotobuf-lite9v5:amd64 2.6.1-1.3 amd64 protocol buffers C++ library (lite version)
ii libprotobuf9v5:amd64 2.6.1-1.3 amd64 protocol buffers C++ library
ii protobuf-c-compiler 1.2.1-1 amd64 Protocol Buffers C compiler (protobuf-c)
ii protobuf-compiler 2.6.1-1.3
The result of Make did not change.
$ ./autogen.sh
$ ./configure
$ make clearn
$ make
make all-recursive
make[1]: Entering directory '/home/ornew/sentencepiece'
Making all in src
make[2]: Entering directory '/home/ornew/sentencepiece/src'
protoc --cpp_out=. ./sentencepiece.proto
protoc --cpp_out=. ./sentencepiece_model.proto
make all-am
make[3]: Entering directory '/home/ornew/sentencepiece/src'
g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT builder.o -MD -MP -MF .deps/builder.Tpo -c -o builder.o builder.cc
mv -f .deps/builder.Tpo .deps/builder.Po
g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT unicode_script.o -MD -MP -MF .deps/unicode_script.Tpo -c -o unicode_script.o unicode_script.cc
mv -f .deps/unicode_script.Tpo .deps/unicode_script.Po
g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT trainer_factory.o -MD -MP -MF .deps/trainer_factory.Tpo -c -o trainer_factory.o trainer_factory.cc
mv -f .deps/trainer_factory.Tpo .deps/trainer_factory.Po
g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT trainer_interface.o -MD -MP -MF .deps/trainer_interface.Tpo -c -o trainer_interface.o trainer_interface.cc
mv -f .deps/trainer_interface.Tpo .deps/trainer_interface.Po
g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT unigram_model_trainer.o -MD -MP -MF .deps/unigram_model_trainer.Tpo -c -o unigram_model_trainer.o unigram_model_trainer.cc
mv -f .deps/unigram_model_trainer.Tpo .deps/unigram_model_trainer.Po
g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT word_model_trainer.o -MD -MP -MF .deps/word_model_trainer.Tpo -c -o word_model_trainer.o word_model_trainer.cc
mv -f .deps/word_model_trainer.Tpo .deps/word_model_trainer.Po
g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT char_model_trainer.o -MD -MP -MF .deps/char_model_trainer.Tpo -c -o char_model_trainer.o char_model_trainer.cc
mv -f .deps/char_model_trainer.Tpo .deps/char_model_trainer.Po
g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT bpe_model_trainer.o -MD -MP -MF .deps/bpe_model_trainer.Tpo -c -o bpe_model_trainer.o bpe_model_trainer.cc
mv -f .deps/bpe_model_trainer.Tpo .deps/bpe_model_trainer.Po
rm -f libtrain.a
ar cru libtrain.a builder.o unicode_script.o trainer_factory.o trainer_interface.o unigram_model_trainer.o word_model_trainer.o char_model_trainer.o bpe_model_trainer.o
ar: `u' modifier ignored since `D' is the default (see `U')
ranlib libtrain.a
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT error.lo -MD -MP -MF .deps/error.Tpo -c -o error.lo error.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT error.lo -MD -MP -MF .deps/error.Tpo -c error.cc -fPIC -DPIC -o .libs/error.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT error.lo -MD -MP -MF .deps/error.Tpo -c error.cc -o error.o >/dev/null 2>&1
mv -f .deps/error.Tpo .deps/error.Plo
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT flags.lo -MD -MP -MF .deps/flags.Tpo -c -o flags.lo flags.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT flags.lo -MD -MP -MF .deps/flags.Tpo -c flags.cc -fPIC -DPIC -o .libs/flags.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT flags.lo -MD -MP -MF .deps/flags.Tpo -c flags.cc -o flags.o >/dev/null 2>&1
mv -f .deps/flags.Tpo .deps/flags.Plo
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT sentencepiece_processor.lo -MD -MP -MF .deps/sentencepiece_processor.Tpo -c -o sentencepiece_processor.lo sentencepiece_processor.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT sentencepiece_processor.lo -MD -MP -MF .deps/sentencepiece_processor.Tpo -c sentencepiece_processor.cc -fPIC -DPIC -o .libs/sentencepiece_processor.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT sentencepiece_processor.lo -MD -MP -MF .deps/sentencepiece_processor.Tpo -c sentencepiece_processor.cc -o sentencepiece_processor.o >/dev/null 2>&1
mv -f .deps/sentencepiece_processor.Tpo .deps/sentencepiece_processor.Plo
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT util.lo -MD -MP -MF .deps/util.Tpo -c -o util.lo util.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT util.lo -MD -MP -MF .deps/util.Tpo -c util.cc -fPIC -DPIC -o .libs/util.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT util.lo -MD -MP -MF .deps/util.Tpo -c util.cc -o util.o >/dev/null 2>&1
mv -f .deps/util.Tpo .deps/util.Plo
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT normalizer.lo -MD -MP -MF .deps/normalizer.Tpo -c -o normalizer.lo normalizer.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT normalizer.lo -MD -MP -MF .deps/normalizer.Tpo -c normalizer.cc -fPIC -DPIC -o .libs/normalizer.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT normalizer.lo -MD -MP -MF .deps/normalizer.Tpo -c normalizer.cc -o normalizer.o >/dev/null 2>&1
mv -f .deps/normalizer.Tpo .deps/normalizer.Plo
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT model_factory.lo -MD -MP -MF .deps/model_factory.Tpo -c -o model_factory.lo model_factory.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT model_factory.lo -MD -MP -MF .deps/model_factory.Tpo -c model_factory.cc -fPIC -DPIC -o .libs/model_factory.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT model_factory.lo -MD -MP -MF .deps/model_factory.Tpo -c model_factory.cc -o model_factory.o >/dev/null 2>&1
mv -f .deps/model_factory.Tpo .deps/model_factory.Plo
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT model_interface.lo -MD -MP -MF .deps/model_interface.Tpo -c -o model_interface.lo model_interface.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT model_interface.lo -MD -MP -MF .deps/model_interface.Tpo -c model_interface.cc -fPIC -DPIC -o .libs/model_interface.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT model_interface.lo -MD -MP -MF .deps/model_interface.Tpo -c model_interface.cc -o model_interface.o >/dev/null 2>&1
mv -f .deps/model_interface.Tpo .deps/model_interface.Plo
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT unigram_model.lo -MD -MP -MF .deps/unigram_model.Tpo -c -o unigram_model.lo unigram_model.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT unigram_model.lo -MD -MP -MF .deps/unigram_model.Tpo -c unigram_model.cc -fPIC -DPIC -o .libs/unigram_model.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT unigram_model.lo -MD -MP -MF .deps/unigram_model.Tpo -c unigram_model.cc -o unigram_model.o >/dev/null 2>&1
mv -f .deps/unigram_model.Tpo .deps/unigram_model.Plo
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT word_model.lo -MD -MP -MF .deps/word_model.Tpo -c -o word_model.lo word_model.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT word_model.lo -MD -MP -MF .deps/word_model.Tpo -c word_model.cc -fPIC -DPIC -o .libs/word_model.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT word_model.lo -MD -MP -MF .deps/word_model.Tpo -c word_model.cc -o word_model.o >/dev/null 2>&1
mv -f .deps/word_model.Tpo .deps/word_model.Plo
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT char_model.lo -MD -MP -MF .deps/char_model.Tpo -c -o char_model.lo char_model.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT char_model.lo -MD -MP -MF .deps/char_model.Tpo -c char_model.cc -fPIC -DPIC -o .libs/char_model.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT char_model.lo -MD -MP -MF .deps/char_model.Tpo -c char_model.cc -o char_model.o >/dev/null 2>&1
mv -f .deps/char_model.Tpo .deps/char_model.Plo
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT bpe_model.lo -MD -MP -MF .deps/bpe_model.Tpo -c -o bpe_model.lo bpe_model.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT bpe_model.lo -MD -MP -MF .deps/bpe_model.Tpo -c bpe_model.cc -fPIC -DPIC -o .libs/bpe_model.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT bpe_model.lo -MD -MP -MF .deps/bpe_model.Tpo -c bpe_model.cc -o bpe_model.o >/dev/null 2>&1
mv -f .deps/bpe_model.Tpo .deps/bpe_model.Plo
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT sentencepiece.pb.lo -MD -MP -MF .deps/sentencepiece.pb.Tpo -c -o sentencepiece.pb.lo sentencepiece.pb.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT sentencepiece.pb.lo -MD -MP -MF .deps/sentencepiece.pb.Tpo -c sentencepiece.pb.cc -fPIC -DPIC -o .libs/sentencepiece.pb.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT sentencepiece.pb.lo -MD -MP -MF .deps/sentencepiece.pb.Tpo -c sentencepiece.pb.cc -o sentencepiece.pb.o >/dev/null 2>&1
mv -f .deps/sentencepiece.pb.Tpo .deps/sentencepiece.pb.Plo
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT sentencepiece_model.pb.lo -MD -MP -MF .deps/sentencepiece_model.pb.Tpo -c -o sentencepiece_model.pb.lo sentencepiece_model.pb.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT sentencepiece_model.pb.lo -MD -MP -MF .deps/sentencepiece_model.pb.Tpo -c sentencepiece_model.pb.cc -fPIC -DPIC -o .libs/sentencepiece_model.pb.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT sentencepiece_model.pb.lo -MD -MP -MF .deps/sentencepiece_model.pb.Tpo -c sentencepiece_model.pb.cc -o sentencepiece_model.pb.o >/dev/null 2>&1
mv -f .deps/sentencepiece_model.pb.Tpo .deps/sentencepiece_model.pb.Plo
/bin/bash ../libtool --tag=CXX --mode=link g++ -std=c++11 -Wall -O3 -pthread -o libsentencepiece.la -rpath /usr/local/lib error.lo flags.lo sentencepiece_processor.lo util.lo normalizer.lo model_factory.lo model_interface.lo unigram_model.lo word_model.lo char_model.lo bpe_model.lo sentencepiece.pb.lo sentencepiece_model.pb.lo -lprotobuf -pthread -lpthread
libtool: link: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.9/crtbeginS.o .libs/error.o .libs/flags.o .libs/sentencepiece_processor.o .libs/util.o .libs/normalizer.o .libs/model_factory.o .libs/model_interface.o .libs/unigram_model.o .libs/word_model.o .libs/char_model.o .libs/bpe_model.o .libs/sentencepiece.pb.o .libs/sentencepiece_model.pb.o -lprotobuf -lpthread -L/usr/lib/gcc/x86_64-linux-gnu/4.9 -L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/4.9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crtn.o -O3 -pthread -pthread -pthread -Wl,-soname -Wl,libsentencepiece.so.0 -o .libs/libsentencepiece.so.0.0.0
libtool: link: (cd ".libs" && rm -f "libsentencepiece.so.0" && ln -s "libsentencepiece.so.0.0.0" "libsentencepiece.so.0")
libtool: link: (cd ".libs" && rm -f "libsentencepiece.so" && ln -s "libsentencepiece.so.0.0.0" "libsentencepiece.so")
libtool: link: ar cru .libs/libsentencepiece.a error.o flags.o sentencepiece_processor.o util.o normalizer.o model_factory.o model_interface.o unigram_model.o word_model.o char_model.o bpe_model.o sentencepiece.pb.o sentencepiece_model.pb.o
ar: `u' modifier ignored since `D' is the default (see `U')
libtool: link: ranlib .libs/libsentencepiece.a
libtool: link: ( cd ".libs" && rm -f "libsentencepiece.la" && ln -s "../libsentencepiece.la" "libsentencepiece.la" )
g++ -DHAVE_CONFIG_H -I. -I.. -std=c++11 -Wall -O3 -pthread -MT spm_encode_main.o -MD -MP -MF .deps/spm_encode_main.Tpo -c -o spm_encode_main.o spm_encode_main.cc
mv -f .deps/spm_encode_main.Tpo .deps/spm_encode_main.Po
/bin/bash ../libtool --tag=CXX --mode=link g++ -std=c++11 -Wall -O3 -pthread -o spm_encode spm_encode_main.o libsentencepiece.la -lprotobuf -pthread -lpthread
libtool: link: g++ -std=c++11 -Wall -O3 -pthread -o .libs/spm_encode spm_encode_main.o -pthread ./.libs/libsentencepiece.so -lprotobuf -lpthread -pthread
spm_encode_main.o: In function `std::_Function_handler<void (std::string const&), main::{lambda(std::string const&)#3}>::_M_invoke(std::_Any_data const&, std::string const&)':
spm_encode_main.cc:(.text+0x1df): undefined reference to `google::protobuf::Message::Utf8DebugString() const'
./.libs/libsentencepiece.so: undefined reference to `google::protobuf::internal::empty_string_'
./.libs/libsentencepiece.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::string*)'
./.libs/libsentencepiece.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::string*)'
./.libs/libsentencepiece.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
./.libs/libsentencepiece.so: undefined reference to `google::protobuf::DescriptorPool::FindFileByName(std::string const&) const'
./.libs/libsentencepiece.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteString(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
./.libs/libsentencepiece.so: undefined reference to `google::protobuf::Message::InitializationErrorString() const'
./.libs/libsentencepiece.so: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::Delete(std::string*)'
./.libs/libsentencepiece.so: undefined reference to `google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::string const&))'
./.libs/libsentencepiece.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
./.libs/libsentencepiece.so: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::New()'
./.libs/libsentencepiece.so: undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char*)'
./.libs/libsentencepiece.so: undefined reference to `google::protobuf::Message::GetTypeName() const'
collect2: error: ld returned 1 exit status
Makefile:834: recipe for target 'spm_encode' failed
make[3]: *** [spm_encode] Error 1
make[3]: Leaving directory '/home/ornew/sentencepiece/src'
Makefile:678: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/ornew/sentencepiece/src'
Makefile:418: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/ornew/sentencepiece'
Makefile:350: recipe for target 'all' failed
make: *** [all] Error 2
I think that it is a problem that libprotobuf-c++
does not exist.
$ apt-cache search libprotobuf-c++
libprotobuf-c-dev - Protocol Buffers C static library and headers (protobuf-c)
libprotobuf-c1 - Protocol Buffers C shared library (protobuf-c)
libprotobuf-c1-dbg - Protocol Buffers C shared library debug symbols (protobuf-c)
protobuf-c-compiler - Protocol Buffers C compiler (protobuf-c)
Available protocolbuffer packages on default repo:
libprotobuf-dev: protocol buffers C++ library (development files)
libprotobuf-java: Java bindings for protocol buffers
libprotobuf-lite9v5: protocol buffers C++ library (lite version)
libprotobuf-lite9v5-dbgsym: debug symbols for package libprotobuf-lite9v5
libprotobuf9v5: protocol buffers C++ library
libprotobuf9v5-dbgsym: debug symbols for package libprotobuf9v5
libprotoc-dev: protocol buffers compiler library (development files)
libprotoc9v5: protocol buffers compiler library
libprotoc9v5-dbgsym: debug symbols for package libprotoc9v5
protobuf-compiler: compiler for protocol buffer definition files
protobuf-compiler-dbgsym: debug symbols for package protobuf-compiler
python-protobuf: Python bindings for protocol buffers
python-protobuf-dbgsym: debug symbols for package python-protobuf
(quotes from https://launchpad.net/ubuntu/xenial/+source/protobuf )
from sentencepiece.
Please try libprotobuf9v5. I don't know the reason, but the package name has changed.
from sentencepiece.
@nishfreak Thank you.
I tried it, but it was a failure.
from sentencepiece.
@ornew check if you have multi verison protobuf
i build success on a machine with
locate libprotobuf.so
/data0/matlab/bin/glnxa64/libprotobuf.so.8
/data0/matlab/bin/glnxa64/libprotobuf.so.8.0.0
/usr/lib/x86_64-linux-gnu/libprotobuf.so
/usr/lib/x86_64-linux-gnu/libprotobuf.so.9
/usr/lib/x86_64-linux-gnu/libprotobuf.so.9.0.1
and protoc --version
gave me libprotoc 2.6.1
buf failed on a machine with
locate libprotobuf.so
/usr/lib/x86_64-linux-gnu/libprotobuf.so
/usr/lib/x86_64-linux-gnu/libprotobuf.so.9
/usr/lib/x86_64-linux-gnu/libprotobuf.so.9.0.1
/usr/local/MATLAB/MATLAB_Production_Server/R2014a/bin/glnxa64/libprotobuf.so.8
/usr/local/MATLAB/MATLAB_Production_Server/R2014a/bin/glnxa64/libprotobuf.so.8.0.0
/usr/local/lib/libprotobuf.so
/usr/local/lib/libprotobuf.so.10
/usr/local/lib/libprotobuf.so.10.0.0
and protoc --version
gave me libprotoc 3.0.0
after i install the last release version protobuf3.3.0, build success
from sentencepiece.
If someone still met this linker error even with installation guide in README, try static link with libprotobuf 2.6.1 or 3.6.1 built from source like. It works for me.
cd /tmp
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protobuf-cpp-3.6.1.tar.gz
tar -xvf protobuf-cpp-3.6.1.tar.gz
cd protobuf-3.6.1
./configure --prefix=`pwd`/stage
make
cd /tmp/sentencepiece/build
export PATH=/tmp/protobuf-3.6.1/stage/bin:$PATH
cmake .. -DProtobuf_LIBRARY=/tmp/protobuf-3.6.1/stage/lib/libprotobuf.a -DProtobuf_INCLUDE_DIRS=/tmp/protobuf-3.6.1/stage/include -DSPM_ENABLE_SHARED=OFF
make
from sentencepiece.
Related Issues (20)
- Segmentation fault (core dumped) HOT 2
- How to safely extend vocabulary? HOT 3
- Extract & modify the merge rules from the .model file of a SentencePiece BPE model HOT 1
- Same oov count while using different vocab size HOT 2
- Evaluate Profile-Guided Optimization (PGO)
- Official support for Android compilation in Release/Assets HOT 1
- Merging tokenizers issue HOT 4
- RuntimeError HOT 1
- coredump when build with CXXFLAG `-Wp,-D_GLIBCXX_ASSERTIONS` HOT 4
- High frequency token segmented into letter sequence when input is a tsv file HOT 3
- Error while installing the library "sentence-transformers" which has dependency on "sentencepiece" HOT 11
- Getting requirements to build wheel did not run successfully. HOT 5
- Not found google.protobuf packages HOT 1
- error while installing sentencepiece python 3.12.2 HOT 2
- Many tests fail HOT 2
- entry points return non-zero exit code (at least for `--help`) HOT 2
- HELP NEEDED Mask Token in SentencePiece tokenizer HELP NEEDED HOT 1
- Sequence of byte '<0x09>' as token HOT 1
- TSV for NFC normalization HOT 1
- Allow whitespace-only pieces
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sentencepiece.