Re: [patch #8505] ac_cv_header_lua_h always set to yes
Tim Perkins <[email protected]>
| Newsgroups | gmane.comp.sysutils.autoconf.archive-maintainers |
|---|---|
| Message-ID | <CAGgFoEpgxPCTrL1vghV3nt1WENuKQGqrF3jxzVNS90Lu=LrRMQ@mail.gmail.com> |
On Sun, Dec 14, 2014 at 6:20 PM, <[email protected]> wrote: > > Also you were faster to reverse the patch than I was able to defend my > point of view. > I know, but I tend to work in bursts. I realize that is frustrating. Whatever it means, ax_lua.m4 in some cases is broken and my goal was to > improve it. > I have to admit, I didn't really understand the original issue. The title said ac_cv_header_lua_h is always true, but I couldn't reproduce that error. Maybe it had something to do with the project you were building? I'm curious if CPPFLAGS has some includes in it, or LUA_INCLUDE has something in it? I wrote the ax_lua.m4 macros to, over everything else, respect the user's input when they explicitly set variables like LUA_INCLUDE. The automatic best-effort searching only kicks in when those variables aren't set, and there is nothing better to do. If the user sets LUA_INCLUDE for example, the macro will only use those flags, and fail if they don't work. It doesn't try to outsmart the user. I'm just trying to provide some background. This is based on the Autoconf mentality that any variable the user sets is considered precious. One of the problems I saw with the patch is that it was potentially writing LUA_INCLUDE, even when set by the user. ngx_http_lua_module > I might be looking at the wrong thing, but I'm not sure this actually uses ax_lua.m4. # ls -l /usr/include | grep lua > lrwxrwxrwx 1 root root 29 13 août 01:01 lauxlib.h -> > /usr/include/lua5.1/lauxlib.h > Ok, now I get it. The macro first attempts to find the headers using CPPFLAGS and LUA_INCLUDE. Like I mentioned before, it does this to respect the user's settings. Because the header exist (symlinked) in /usr/include, they are always found by this first check. Because the macro already found the headers, it won't search through the list of include directories. But the headers it found are the wrong version. Yeah, this is a tough one, because I can't really ignore the user's CPPFLAGS, but in your case this is screwing things up. I think I have to stand by what I said before on the ticket, setting LUA_INCLUDE should fix this. You can set it as an environment variable, or you can put it in the command: ./configure LUA_INCLUDE=-I/usr/include/5.2 CPPFLAGS would work too. I'm not too familiar with Gentoo, but I have to wonder why the symlinks are necessary, if they are just causing problems. I think it would be better to get rid of them. -- Tim