Discussion:
Configure breaks by build
Sascha Manns
2017-02-19 20:48:16 UTC
Permalink
Hello list,

i'm preparing some autotools files for my new project.

I have in my configure.ac:

GDK30_MINIMUM_VERSION=2.99.0
GTK30_MINIMUM_VERSION=2.99.0
ATK_MINIMUM_VERSION=2.99.0

PKG_CHECK_MODULES(gdk-3.0 >= $GDK30_MINIMUM_VERSION
                  gtk+-3.0 >= $GTK30_MINIMUM_VERSION
                  atk >= $ATK_MINIMUM_VERSION)

After running the autogen.sh i'm getting:

configure.ac:48: error: AC_SUBST: `gdk-3.0 >= $GDK30_MINIMUM_VERSION 
                  gtk+-3.0 >= $GTK30_MINIMUM_VERSION
                  atk >= $ATK_MINIMUM_VERSION_CFLAGS' is not a valid
shell variable name

But what to do now?

Greetings
Sascha
Zack Weinberg
2017-02-20 15:37:47 UTC
Permalink
Post by Sascha Manns
GDK30_MINIMUM_VERSION=2.99.0
GTK30_MINIMUM_VERSION=2.99.0
ATK_MINIMUM_VERSION=2.99.0
PKG_CHECK_MODULES(gdk-3.0 >= $GDK30_MINIMUM_VERSION
gtk+-3.0 >= $GTK30_MINIMUM_VERSION
atk >= $ATK_MINIMUM_VERSION)
configure.ac:48: error: AC_SUBST: `gdk-3.0 >= $GDK30_MINIMUM_VERSION
gtk+-3.0 >= $GTK30_MINIMUM_VERSION
atk >= $ATK_MINIMUM_VERSION_CFLAGS' is not a valid
shell variable name
Try instead

m4_define([GDK30_MINIMUM_VERSION], [2.99.0])
m4_define([GTK30_MINIMUM_VERSION], [2.99.0])
m4_define([ATK_MINIMUM_VERSION], [2.99.0])

PKG_CHECK_MODULES([
gdk-3.0 >= GDK30_MINIMUM_VERSION
gtk+-3.0 >= GTK30_MINIMUM_VERSION
atk >= ATK_MINIMUM_VERSION
])

I don't know that this will work, but it looks like PKG_CHECK_MODULES
can't handle shell variables in its argument, so the obvious thing is
to try m4 variables instead.

zw
Sascha Manns
2017-02-20 17:37:58 UTC
Permalink
Hi Zack,
Post by Zack Weinberg
Post by Sascha Manns
GDK30_MINIMUM_VERSION=2.99.0
GTK30_MINIMUM_VERSION=2.99.0
ATK_MINIMUM_VERSION=2.99.0
PKG_CHECK_MODULES(gdk-3.0 >= $GDK30_MINIMUM_VERSION
                  gtk+-3.0 >= $GTK30_MINIMUM_VERSION
                  atk >= $ATK_MINIMUM_VERSION)
configure.ac:48: error: AC_SUBST: `gdk-3.0 >=
$GDK30_MINIMUM_VERSION
                  gtk+-3.0 >= $GTK30_MINIMUM_VERSION
                  atk >= $ATK_MINIMUM_VERSION_CFLAGS' is not a
valid
shell variable name
Try instead
m4_define([GDK30_MINIMUM_VERSION], [2.99.0])
m4_define([GTK30_MINIMUM_VERSION], [2.99.0])
m4_define([ATK_MINIMUM_VERSION], [2.99.0])
PKG_CHECK_MODULES([
    gdk-3.0 >= GDK30_MINIMUM_VERSION
    gtk+-3.0 >= GTK30_MINIMUM_VERSION
    atk >= ATK_MINIMUM_VERSION
])
I don't know that this will work, but it looks like PKG_CHECK_MODULES
can't handle shell variables in its argument, so the obvious thing is
to try m4 variables instead.
That one works. Thank you very much.

Greetings
Sascha

Eric Blake
2017-02-20 15:44:17 UTC
Permalink
Post by Sascha Manns
Hello list,
i'm preparing some autotools files for my new project.
GDK30_MINIMUM_VERSION=2.99.0
GTK30_MINIMUM_VERSION=2.99.0
ATK_MINIMUM_VERSION=2.99.0
PKG_CHECK_MODULES(gdk-3.0 >= $GDK30_MINIMUM_VERSION
gtk+-3.0 >= $GTK30_MINIMUM_VERSION
atk >= $ATK_MINIMUM_VERSION)
The autoconf package does not maintain the PKG_CHECK_MODULES() macro, so
your question is probably better asked on the pkg-config development
list. However, it appears to me that you are getting an error because
your usage of the macro is incorrect. Here's an example I picked up
from a package that uses the macro correctly:

PKG_CHECK_MODULES([LIBNL_ROUTE3], [libnl-route-3.0])

which makes it look like you forgot a first argument.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
Loading...