Title: Compiling on Debian 6.0.2 (Linux 2.6.32-5-686 #1 SMP Mon Jun) and autoconf error
Post by: Vadtec on July 11, 2011, 09:15:20 PM
Greetings all, OS: Debian 6.0.2 (Linux 2.6.32-5-686 #1 SMP Mon Jun) pushpool: 0.5.1 Pursuant to https://forum.bitcoin.org/index.php?topic=8707.msg135119#msg135119 (https://forum.bitcoin.org/index.php?topic=8707.msg135119#msg135119), I have ran into a problem. I have downloaded pushpool 0.5.1, and extracted it. When I cd into the dir, I do not see a "configure" script, so I run autoreconf, and get the following: alex@home:~/bitcoin$ cd pushpool-0.5.1/ alex@home:~/bitcoin/pushpool-0.5.1$ autoreconf configure.ac:35: error: possibly undefined macro: AC_MSG_ERROR 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
Knowing this is a problem, I the run autoreconf -vi, and get the following: alex@home:~/bitcoin/pushpool-0.5.1$ autoreconf -vi autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: running: /usr/bin/autoconf autoreconf: running: /usr/bin/autoheader autoreconf: running: automake --add-missing --copy --no-force autoreconf: Leaving directory `.'
All seems well...but it's not. Having accounted for some missing packages (like a new enough openssl), I proceed to the following: alex@home:~/bitcoin/pushpool-0.5.1$ ./configure LDFLAGS=-L/home/alex/bitcoin/openssl/lib/ CPPFLAGS=-I/home/alex/bitcoin/openssl/include/ checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking whether gcc needs -traditional... no checking whether gcc and cc understand -c and -o together... yes checking for ranlib... ranlib checking for ANSI C header files... yes checking for event_base_new in -levent... yes checking for pthread_create in -lpthread... yes checking for uncompress in -lz... yes checking for json_loads in -ljansson... yes checking for MD5_Init in -lcrypto... yes checking for memcached_get in -lmemcached... yes checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for a Python interpreter with version >= 2.2... python checking for python... /usr/bin/python checking for python version... 2.6 checking for python platform... linux2 checking for python script directory... ${prefix}/lib/python2.6/dist-packages checking for python extension module directory... ${exec_prefix}/lib/python2.6/dist-packages ./configure: line 4767: syntax error near unexpected token `AX_LIB_MYSQL' ./configure: line 4767: `AX_LIB_MYSQL()'
and alex@home:~/bitcoin/pushpool-0.5.1$ ls m4/ ax_lib_mysql.m4 ax_lib_postgresql.m4 ax_lib_sqlite3.m4
Thinking that maybe something from autom4te is out of sync, I then run autoreconf -fvi and get the following: alex@home:~/bitcoin/pushpool-0.5.1$ autoreconf -fvi autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: running: /usr/bin/autoconf --force configure.ac:35: error: possibly undefined macro: AC_MSG_ERROR 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
To help, here are the versions of the autotools suit I'm using: automake (GNU automake) 1.11.1 Copyright (C) 2009 Free Software Foundation, Inc.
aclocal (GNU automake) 1.11.1 Copyright (C) 2009 Free Software Foundation, Inc.
autoconf (GNU Autoconf) 2.67 Copyright (C) 2010 Free Software Foundation, Inc.
autoheader (GNU Autoconf) 2.67 Copyright (C) 2010 Free Software Foundation, Inc.
autom4te (GNU Autoconf) 2.67 Copyright (C) 2010 Free Software Foundation, Inc.
I am a programmer, but I am not well versed in autotools or m4, so I am at a loss as to what is going on with this. Does anyone have any info on how to get pushpool compiled on Debian 6, or how to fix this error? Any help is greatly appreciated. - Vadtec
Title: Re: Compiling on Debian 6.0.2 (Linux 2.6.32-5-686 #1 SMP Mon Jun) and autoconf error
Post by: drawoc on July 11, 2011, 09:38:12 PM
Do you have the packages libtool and libmysql++-dev installed?
Title: Re: Compiling on Debian 6.0.2 (Linux 2.6.32-5-686 #1 SMP Mon Jun) and autoconf error
Post by: Vadtec on July 11, 2011, 09:42:57 PM
drawoc, Yes, both are installed. But the problem lies with the "error: possibly undefined macro: AC_MSG_ERROR" issue, and also the issue that autom4te doesn't seem to be finding the m4 file for AX_LIB_MYSQL. ltmain.sh (GNU libtool) 2.2.6b Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
Copyright (C) 2008 Free Software Foundation, Inc.
- Vadtec
Title: Re: Compiling on Debian 6.0.2 (Linux 2.6.32-5-686 #1 SMP Mon Jun) and autoconf error
Post by: drawoc on July 11, 2011, 11:18:31 PM
It just occurred to me, you should probably be running ./autogen.sh instead of doing the autotools commands yourself. Running that file should solve your issue. If you look in it, the significant part is: Which tells aclocal to include the additional files you need.
Title: Re: Compiling on Debian 6.0.2 (Linux 2.6.32-5-686 #1 SMP Mon Jun) and autoconf error
Post by: Vadtec on July 11, 2011, 11:25:57 PM
drawoc, I just extracted pushpool-0.5.1.tar.gz, and I have the following: [btc@vps pushpool-0.5.1]$ ls aclocal.m4 AUTHORS ChangeLog config.guess configure.ac db-postgresql.c elist.h hist.c INSTALL Makefile.am msg.c README ubbp.h anet.c autotools-config.h.in compile config.sub COPYING db-sqlite.c example-blkmon.cfg htab.c install-sh Makefile.in NEWS server.c util.c anet.h blkmond config.c configure db-mysql.c depcomp example-cfg.json htab.h m4 missing protocol.h server.h
As you can see, no autogen.sh. I will try manually running aclocal -I m4 and see what happens. Since I didn't see it, I thought maybe it wasn't a setup that used it, so I didn't bother asking about it. - Vadtec
Title: Re: Compiling on Debian 6.0.2 (Linux 2.6.32-5-686 #1 SMP Mon Jun) and autoconf error
Post by: drawoc on July 11, 2011, 11:37:12 PM
Oh, I was assuming that you were using the github branch from that post you linked to (https://github.com/jine/pushpool (https://github.com/jine/pushpool)) Anyway, hopefully running that command should help, although you need to run autoconf again after that to re generate configure. If that doesn't work, here's the full autogen.sh for reference: #!/bin/sh
# You need autoconf 2.5x, preferably 2.57 or later # You need automake 1.7 or later. 1.6 might work.
set -e
aclocal -I m4 autoheader automake --gnu --add-missing --copy autoconf
Title: Re: Compiling on Debian 6.0.2 (Linux 2.6.32-5-686 #1 SMP Mon Jun) and autoconf error
Post by: Vadtec on July 11, 2011, 11:47:57 PM
drawoc, I ran the following on a fresh extract of the tarball: alex@home:~/bitcoin$ cd pushpool-0.5.1/ alex@home:~/bitcoin/pushpool-0.5.1$ aclocal -I m4 alex@home:~/bitcoin/pushpool-0.5.1$ autoheader alex@home:~/bitcoin/pushpool-0.5.1$ automake alex@home:~/bitcoin/pushpool-0.5.1$ autoconf configure.ac:35: error: possibly undefined macro: AC_MSG_ERROR If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation.
Thankfully, running the script you provided yielded a working configure script...so far. I'll fix the dependency issues and report if that fixed the problem or not. - Vadtec
Title: Re: Compiling on Debian 6.0.2 (Linux 2.6.32-5-686 #1 SMP Mon Jun) and autoconf error
Post by: Vadtec on July 11, 2011, 11:53:18 PM
drawoc, I just ran the configure script, and didn't get any errors about AC_MSG_ERROR or AX_LIB_MYSQL, but I am getting the following now: checking dependency style of g++... gcc3 checking for SQLite3 library >= 3.0.0... not found checking for mysql_config... /usr/bin/mysql_config checking for pg_config... no no ./configure: line 5644: syntax error near unexpected token `,' ./configure: line 5644: `LIBCURL_CHECK_CONFIG(, 7.10.1, ,'
I'm researching what might be going on, but I have the curl packages installed, so I'm going to defer back to m4 on this one too. - Vadtec * Addendum: I just cloned the git repo and I am receiving the same error as above.
Title: Re: Compiling on Debian 6.0.2 (Linux 2.6.32-5-686 #1 SMP Mon Jun) and autoconf error
Post by: drawoc on July 12, 2011, 12:14:08 AM
You definitely have the -dev packages installed? Hmm, odd. Does /usr/share/aclocal/libcurl.m4 exist? (I assume it does) If you read your aclocal.m4, do you see a comment block like this (It's on the first page for me): # LIBCURL_CHECK_CONFIG ([DEFAULT-ACTION], [MINIMUM-VERSION], # [ACTION-IF-YES], [ACTION-IF-NO]) # ---------------------------------------------------------- # David Shaw <dshaw@jabberwocky.com> May-09-2006
Title: Re: Compiling on Debian 6.0.2 (Linux 2.6.32-5-686 #1 SMP Mon Jun) and autoconf error
Post by: Vadtec on July 12, 2011, 01:12:02 AM
drawoc, root@home:~# apt-get install libcurl-dev Reading package lists... Done Building dependency tree Reading state information... Done Package libcurl-dev is a virtual package provided by: libcurl4-openssl-dev 7.21.0-2 libcurl4-gnutls-dev 7.21.0-2 You should explicitly select one to install.
E: Package 'libcurl-dev' has no installation candidate root@home:~# dpkg -l | grep curl ii curl 7.21.0-2 Get a file from an HTTP, HTTPS or FTP server ii libcurl-ocaml 0.5.3-1 OCaml curl bindings (Runtime Library) ii libcurl3 7.21.0-2 Multi-protocol file transfer library (OpenSSL) ii libcurl3-gnutls 7.21.0-2 Multi-protocol file transfer library (GnuTLS) ii libcurl4-openssl-dev 7.21.0-2 Development files and documentation for libcurl (OpenSSL) ii php5-curl 5.3.3-7+squeeze3 CURL module for php5 root@home:~# apt-get install libcurl Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package libcurl root@home:~# apt-get install curl-dev Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package curl-dev
I have to assume I have it installed. I reinstalled all of it, and it is working now. Talk about an evening of ::annoyed:: lol... Thanks for the help! - Vadtec
Title: Re: Compiling on Debian 6.0.2 (Linux 2.6.32-5-686 #1 SMP Mon Jun) and autoconf error
Post by: drawoc on July 12, 2011, 02:10:26 AM
Glad it's working for you.
|