[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Build failure, git repo.



Peter TB Brett:
> On Monday 02 November 2009 20:10:15 Karl Hammar wrote:
> >   $ ./autogen.sh
> >   checking for ./configure.ac ... yes
> > ...
> >   libgeda/docs/images/Makefile.am:24: `%'-style pattern rules are a GNU
> >  make extension libgeda/docs/images/Makefile.am:27: `%'-style pattern rules
> >  are a GNU make extension autogen.sh: running /usr/bin/autoconf ...
> >   $ ./configure
> >   checking for a BSD-compatible install... /usr/bin/install -c
> > ...
> >   checking where the gettext function comes from... libc
> >   checking for gettext... /usr/bin/gettext
> >   ./configure: line 17247: PKG_PROG_PKG_CONFIG: command not found
> >   ./configure: line 17260: syntax error near unexpected token `GUILE,'
> >   ./configure: line 17260: `  PKG_CHECK_MODULES(GUILE, guile-1.8 , ,'
> >   $
> You need to install pkgconfig -- aclocal can't find the pkg.m4 file.  If in 
> doubt, check that you have all dependencies installed. ;-)

  $ pkg-config --version
  0.22
  $ ls -l /usr/share/aclocal/pkg.m4 
  -rw-r--r-- 1 root root 5221 Jun 19  2007 /usr/share/aclocal/pkg.m4

Oh, I see ...

  $ cd /usr/local/share/aclocal/
  $ ln -s /usr/share/aclocal/pkg.m4 .

Then all is well and make succeeds!

===

So, why didn't it work from the beginning?
I did a program (attached) showing which files and versions I
get (after moving /usr/local/bin/.. ~/bin/.. etc files avay):

  $ show_version
  file in path              readlink -f gives         version    m4 depenancy
...
  /usr/bin/aclocal          /usr/bin/aclocal-1.9      1.9.6      
  /usr/bin/automake         /usr/bin/automake-1.10    1.10.1     

And I see that for some reason there is a mismatch between aclocal
and automake. Fixing that didn't solve the undefined 'builddir'
but it was the cause of the missing "MKDIR_P". So:

  AC_PROG_MKDIR_P in configure.ac is not needed

===

After a day or so of testing, I find:

. autoconf et al hardcodes path to m4, ouch!

. I need at least automake >= 1.10 to make the undefined
  'builddir' problem go away

. automake >= 1.10 needs libtool >= 2.2, unclear error msg:
  configure.ac:45: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL
	If this token and others are legitimate, please use m4_pattern_allow.
	See the Autoconf documentation.
  configure.ac:46: error: possibly undefined macro: AC_DISABLE_STATIC
  configure.ac:47: error: possibly undefined macro: AC_PROG_LIBTOOL

. automake 1.11 needs autoconf >= 2.62, clear error msg:
  configure.ac:19: error: Autoconf version 2.62 or higher is required

So I suggest attached patch. One could possible handle the libtool
case better.

Regards,
/Karl

-----------------------------------------------------------------------
Karl Hammar                    Aspö Data               karl@xxxxxxxxxxx
Lilla Aspö 148                                                 Networks
S-742 94 Östhammar          +46  173 140 57                   Computers
Sweden                     +46  70 511 97 84                 Consulting
-----------------------------------------------------------------------

diff --git a/autogen.sh b/autogen.sh
index b8502ec..9d2e902 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -22,7 +22,7 @@
 #####################################################################
 
 ac_script=configure.ac
-am_version=1.6.0
+am_version=1.10.0
 aclocal_flags="$ACLOCAL_FLAGS -I m4"
 tooldir=build-tools
 podirs="libgeda/po gschem/po gattrib/po"
diff --git a/configure.ac b/configure.ac
index 89f7846..8e614fb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -49,7 +49,6 @@ AC_PROG_LIBTOOL
 AM_PROG_CC_C_O
 AX_GCC_FLAGS([-Wall])
 
-AC_PROG_MKDIR_P
 AM_PROG_LEX
 AX_PROG_AWK
 AX_PROG_GROFF
#!/bin/sh

prgms="m4 autoconf autoheader autom4te autoreconf autoscan autoupdate libtool libtoolize aclocal automake"

printf "%-30s %-30s %-10s %s\n" "file in path" "readlink -f gives" version "m4 depenancy"

for i in $prgms
do
  first=$(which "$i")
  file=$(readlink -f $first)

  # e.g. "m4 (GNU M4) 1.4.11"
  ver=$("$i" --version | head -1 | sed -e "s/^.*) //; s/ .*$//;")

  # autoconf et al hardwires path to m4, which m4?
  dep=
  if file $file | grep -q script
  then
    dep=$(grep bin/m4 $file)
    if [ "$dep" ]
    then
      dep=$(echo $dep | sed -e "s/bin\/m4.*$/bin\/m4/; s/^.* ['""]\?//;")
    fi
  fi

  printf "%-30s %-30s %-10s %s\n" $first $file $ver $dep
done

_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user