Giter VIP home page Giter VIP logo

Comments (8)

protonish avatar protonish commented on May 21, 2024 3

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.

taku910 avatar taku910 commented on May 21, 2024 1

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.

taku910 avatar taku910 commented on May 21, 2024

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.

ornew avatar ornew commented on May 21, 2024

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.

taku910 avatar taku910 commented on May 21, 2024

Please try libprotobuf9v5. I don't know the reason, but the package name has changed.

from sentencepiece.

ornew avatar ornew commented on May 21, 2024

@nishfreak Thank you.

I tried it, but it was a failure.

from sentencepiece.

demobin8 avatar demobin8 commented on May 21, 2024

@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.

ShigekiKarita avatar ShigekiKarita commented on May 21, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.