GNOME Bugzilla – Bug 605930
[shave] common/shave not existing yet when configure checks need it
Last modified: 2010-01-06 19:16:16 UTC
not doing this causes a compilation error in check_log.c, which will redefine localtime_r if HAVE_LOCALTIME_R is not set
Created attachment 150715 [details] [review] one-line fix ooops, forgot to attach
I've seen reports of these compilation errors before, but IIRC they usually went away with an autogen/autoregen or after a 'touch config.h'. (Isn't time.h always present as per the C standard? Does it make sense for the addition the to AC_CHECK_HEADERS check to affect the AC_CHECK_FUNCS check?)
Same problem here but the patch is not the solution. Seems that shave is just broken in some way or another :) [...] configure:20052: checking for localtime_r configure:20052: /bin/sh /home/slomo/projects/gstreamer/head/gstreamer/common/shave cc gcc -o conftest -g -O2 conftest.c -lrt -ldl >&5 /bin/sh: /home/slomo/projects/gstreamer/head/gstreamer/common/shave: No such file or directory configure:20052: $? = 127 [...]
Perhaps I just got lucky with a recompile then.
I'm guessing SHAVE_INIT is changing the configure test environment (CC etc.) to use shave, but common/shave is only created later via AC_OUTPUT, so all checks that invoke a compiler will fail. Moving SHAVE_INIT after AG_GST_CHECK_CHECKS fixes this for me: commit 0c1e45acf32be3f6afeb65d26b43bfd8a90bb88c Author: Tim-Philipp Müller <tim.muller@collabora.co.uk> Date: Wed Jan 6 17:35:07 2010 +0000 configure: move SHAVE_INIT behind all checks Move SHAVE_INIT behind all other checks, in particular AG_GST_CHECK_CHECKS. This should fix problems with header checking and checking for localtime_r, which causes compilation errors with clean checkouts where common/shave has not been created yet when those checks are run. It seems like SHAVE_INIT changes the environment so that checks depending on a compiler need shave to exist at that point, which will fail if AC_OUTPUT hasn't created it yet. Fixes #605930.
Guess I should actually push this into the right repo... => commit 9a4f0d8ca31af2b48313d19b2dc67a5bea5c50f6 now.
*** Bug 606243 has been marked as a duplicate of this bug. ***