On Mon, 2006-02-13 at 16:04 +0100, Matthias Saou wrote:
Hi,
This is something I've seen with synergy 1.2.7 which builds fine on FC4
and older : After an autoreconf on FC development, configure fails to
detect X, the reason being :
(sorry, some line breaks get mangled by sylpheed...)
:^configure:5738: checking for X
configure:5843: g++ -E conftest.cc
configure:5849: $? = 0
configure:5899: g++ -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
-mtune=generic -g conftest.cc -lXt >&5 /usr/include/X11/Xlib.h: In
function 'int main()': /usr/include/X11/Xlib.h:1492: error: too many
arguments to function 'void XrmInitialize()' conftest.cc:46: error: at
this point in file configure:5905: $? = 1 configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "synergy"
| #define VERSION "1.2.7"
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_POSIX_SIGWAIT 1
| #define HAVE_PTHREAD_SIGNAL 1
| #define HAVE_PTHREAD 1
| #define HAVE_NANOSLEEP 1
| #define HAVE_INET_ATON 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_WCHAR_H 1
| #define HAVE_ALLOCA_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_SYS_SELECT_H 1
| #define HAVE_SYS_UTSNAME_H 1
| #define HAVE_ISTREAM 1
| #define HAVE_OSTREAM 1
| #define HAVE_SSTREAM 1
| #define TIME_WITH_SYS_TIME 1
| /* end confdefs.h. */
| #include <X11/Xlib.h>
| int
| main ()
| {
| XrmInitialize (0)
| ;
| return 0;
| }
configure:5958: result: no
After a quick glance, I see nothing weird in configure.in. Could this be
related to the recent changes in X detection? (it used to be Intrinsic.h
being checked IIRC).
Yes.
If this seems to be indeed an autoconf bug,
It's a bug in RH's change.
Xlib.h contains this prototypes:
void XrmInitialize( void );
But their hack bogusly assumes:
void XrmInitialize( int );
I'll gladly report it in bugzilla.
Please do so.
IMO, their change is harmful, but that's not your problem, here. They
simply screwed it.
Ralf