rioyokotalab / caffe2

Caffe2 is a lightweight, modular, and scalable deep learning framework.
https://caffe2.ai
Other
2 stars 0 forks source link

[warsaw] protobuf Install error #5

Closed Hiroki11x closed 7 years ago

Hiroki11x commented 7 years ago

I installed libtool from source

However, the following error occured

@warsaw:~/env/src/protobuf-3.3.0$ ./autogen.sh 
~~
configure.ac:30: error: possibly undefined macro: AC_PROG_LIBTOOL
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1

https://github.com/maxmind/libmaxminddb/issues/9

Is is necessary to yum install libtool ?

Hiroki11x commented 7 years ago

Edit Makefile.am

ACLOCAL_AMFLAGS = -I /home/hiroki11x/env/local/libtool-2.4.6/share/aclocal

The error is below

configure.ac:30: error: possibly undefined macro: AC_PROG_LIBTOOL
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1
Hiroki11x commented 7 years ago

https://superuser.com/questions/565988/autoconf-libtool-and-an-undefined-ac-prog-libtool

Is there any way to do this?

Hiroki11x commented 7 years ago

in Reedbush

I use pyenv and pip install protobuf

http://keisanbutsuriya.hateblo.jp/entry/2015/03/21/183323

It is valid for only Caffe2 build

sekiya-a commented 7 years ago

I could run ./autogen.sh successfully with below commands:

$ brew install libtool autoconf automake
$ ./autogen.sh

automake / aclocal cannot find libtool.m4 in the macro search path, so below will be work:

ACLOCAL_AMFLAGS = -I m4 -I /home/hiroki11x/env/local/libtool-2.4.6/share/aclocal
Hiroki11x commented 7 years ago

@sekiya-a
Do you use Linuxbrew ?

sekiya-a commented 7 years ago

yes

but latter solution should not need linuxbrew.

2017/07/19 16:21、Hiroki Naganuma notifications@github.comのメール:

@sekiya-a https://github.com/sekiya-a Do you use Linuxbrew ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/rioyokotalab/caffe2/issues/5#issuecomment-316295773, or mute the thread https://github.com/notifications/unsubscribe-auth/ARnuULpeIhiaO46JX7-kASmVN_Z-RN-1ks5sPa6MgaJpZM4OZL3a.

Hiroki11x commented 7 years ago
wget https://github.com/google/protobuf/archive/v3.3.0.tar.gz
tar zxvf v3.3.0.tar.gz
cd protobuf-3.3.0
vim Makefile.am
-ACLOCAL_AMFLAGS = -I m4
+ACLOCAL_AMFLAGS = -I m4 -I /home/hiroki11x/env/local/libtool-2.4.6/share/aclocal
./autogen.sh

is correct ? @sekiya-a

I failed in the above flow

$ ./autogen.sh 
+ autoreconf -f -i -Wall,no-obsolete
configure.ac:30: error: possibly undefined macro: AC_PROG_LIBTOOL
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
sekiya-a commented 7 years ago

gmockがこけているようです

-bash-4.2$ cd gmock; /usr/bin/autoreconf -isvf
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force
autoreconf: configure.ac: tracing
autoreconf: configure.ac: adding subdirectory gtest to autoreconf
autoreconf: Entering directory `gtest'
autoreconf: running: aclocal --force -I m4
autoreconf: running: libtoolize --force
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'.
libtoolize: linking file 'build-aux/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: linking file 'm4/libtool.m4'
libtoolize: linking file 'm4/ltoptions.m4'
libtoolize: linking file 'm4/ltsugar.m4'
libtoolize: linking file 'm4/ltversion.m4'
libtoolize: linking file 'm4/lt~obsolete.m4'
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --force-missing
configure.ac:24: installing 'build-aux/missing'
Makefile.am: installing 'build-aux/depcomp'
autoreconf: Leaving directory `gtest'
autoreconf: configure.ac: not using Libtool
configure.ac:26: error: possibly undefined macro: AC_PROG_LIBTOOL
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.

gmockconfigure.acとかMakefile.amを編集して手動でaclocal -I m4 && libtoolize && autoreconf -isvfとかすれば上手く行きます

面倒なのでlinuxbrewを使うと良いと思います

追記: 直接の原因はaclocalからlibtoolのマクロファイルが見えていないことだと思います ACLOCAL_PATH=/home/hiroki11x/env/local/libtool-2.4.6/share/aclocal ./autogen.sh とかでも上手く行くかもしれません

Hiroki11x commented 7 years ago
ACLOCAL_PATH=/home/hiroki11x/env/local/libtool-2.4.6/share/aclocal ./autogen.sh

suceeded

thanks for your help @sekiya-a