Hi,

I'm trying to compile LyX 1.3.0cvs on RedHat 8.0, and I found that I got
a double declaration of strerror. This is primarily caused by there
being no *test* for strerror, but there is a macro which declares
strerror if HAVE_STRERROR is not defined.

I fixed this problem by adding

AC_CHECK_FUNCS(strerror)

to config/autoconf.ac . Then I ran into another problem, that mkstemp
was declared more than once. 

Investigation reveals that the following code provides the redundant
declaration:

#ifdef HAVE_MKSTEMP
#ifndef HAVE_DECL_MKSTEMP
#if defined(__cplusplus)
extern "C"
#endif
int mkstemp(char*);
#endif
#endif

The macro HAVE_MKSTEMP is defined further up src/config.h, but
HAVE_DECL_MKSTEMP is never defined. In config.log I found

configure:17585: checking if mkstemp is declared by header unistd.h
configure:17615: result: yes

Thus it appears that there is something wrong with LYX_CHECK_DECL, which
should have defined HAVE_DECL_MKSTEMP when it found the function.

Has anyone else had success with cvs lyx and autoconf 2.53? What did you
do?

Ben.
Returning to lyx-devel after a long period of absence, during which I
have completed and submitted my thesis. Thanks to all lyx authors who
made it possible!




Reply via email to