问题
I'm sure this is a fairly simple problem. I have a very simple configure.ac file which I am using to just learn how autoconf & pkg-config work together. The confgure.ac
file looks like:
AC_PREREQ(2.61)
AC_INIT(autoconf_test, 1.0, nowhere@dev.null)
PKG_CHECK_MODULES(libusbmuxd, libusbmuxd >= 0.1.4)
I can then execute autoconf from the command line and it does produce a configure script. However, when I run the configure script, I get the following error:
./configure: line 1618: syntax error near unexpected token `libusbmuxd,'
./configure: line 1618: `PKG_CHECK_MODULES(libusbmuxd, libusbmuxd >= 0.1.4)'
If I use the pkg-config program from the command line to check to see whether it can find this library, it succeeds.
/usr/lib/pkgconfig $pkg-config --libs --cflags --modversion libusbmuxd
1.0.7
-I/usr/local/Cellar/usbmuxd/1.0.7/include -L/usr/local/Cellar/usbmuxd/1.0.7/lib -lusbmuxd
So, it seems clear that for some reason the PGK_CHECK_MODULE
macro cannot be located and I am not sure why.
This probably isn't OS specific, but I am using Mac OS X 10.6.8.
回答1:
When you are bootstrapping (ie, running autoreconf), aclocal is unable to find pkg.m4. This is because pkg-config was either not installed or has been installed somewhere that aclocal does not know about. (ie, it was installed with a different prefix than automake.) There is actually a large school of thought that says that the best way to use pkg-config with the autotools is to not use it. If you look through the autoconf mailing list archive, you will see this debated ad-nauseum. I'm not saying that you should avoid using pkg-config (although I do believe it is best to do so), but please be aware that many people to recommend avoiding it completely.
回答2:
It seems the homebrew people decided this wasn't their problem and swept it into a warning. super frustrating since no one will see since no one is using homebrew or automake and expecting to have to dig deep into the details of what is wrong. Here's the link.
来源:https://stackoverflow.com/questions/8578181/using-the-pkg-config-macro-pkg-check-modules-failing