Hi,

I loaded a fresh hardware with SuSE 7.3 and find myself unable
to compile MySQL database any more. What happens?

I unpack mysql-3.23.47 and do

./configure

which stops at some point:

checking for inline... inline
checking for off_t... yes
checking for st_rdev in struct stat... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking size of char... 1
checking size of int... 4
checking size of long... 4
checking size of long long... 8
checking size of off_t... 0
configure: error: MySQL needs a off_t type.

The same thing happens when using or not using some options and/or
compiler flags with
./configure.

The log file says:

In file included from configure:6797:
/usr/include/stdlib.h: In function `atoi':
/usr/include/stdlib.h:362: `__constnptr' undeclared (first use in this function)
/usr/include/stdlib.h:362: (Each undeclared identifier is reported only once
/usr/include/stdlib.h:362: for each function it appears in.)
/usr/include/stdlib.h: In function `atol':
/usr/include/stdlib.h:367: `strtoconstnptr' undeclared (first use in this functi
/usr/include/stdlib.h:367: parse error before `)'
/usr/include/stdlib.h: In function `atoll':
/usr/include/stdlib.h:374: `strtocconstnptr' undeclared (first use in this funct
/usr/include/stdlib.h:374: parse error before `)'
configure: failed program was:
#line 6793 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
#if STDC_HEADERS
#include <stdlib.h>
#include <stddef.h>
#endif
main()
{
  FILE *f=fopen("conftestval", "w");
  if (!f) exit(1);
  fprintf(f, "%d\n", sizeof(off_t));
  exit(0);
}


Obviously it fails in a common system include file, namely stdlib.h, at
this point:

/*
 *      ISO C99 Standard: 7.20 General utilities        <stdlib.h>
 */

#ifndef _STDLIB_H
#include <features.h>

  <snip>

/* Convert a string to a floating-point number.  */
extern double atof (__const char *__nptr) __THROW __attribute_pure__;
/* Convert a string to an integer.  */
extern int atoi (__const char *__nptr) __THROW __attribute_pure__;
/* Convert a string to a long integer.  */
extern long int atol (__const char *__nptr) __THROW __attribute_pure__;

  <snip>

#ifdef __USE_EXTERN_INLINES
/* Define inline functions which call the internal entry points.  */

  <snip>

extern __inline double
atof (__const char *__nptr) __THROW
{
  return strtod (__nptr, (char **) NULL);
}
extern __inline int
atoi (__const char *__nptr) __THROW
{
  return (int) l (__constnptr, (char **) NULL, 10);
}
extern __inline long int
atol (__const char *__nptr) __THROW
{
  return strtoconstnptr, (char **) NULL, 10);
}

  <snip>

#endif /* Optimizing and Inlining.  */



Compile option __USE_EXTERN_INLINES may be set from features.h at this
point (grep finds no other file *.h where it is defined):

features.h:
/* Decide whether we can define 'extern inline' functions in headers.  */
#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \
    && !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__
# define __USE_EXTERN_INLINES   1
#endif

What goes wrong here? Am I missing some prerequisite include file? Or can
I turn off 'extern inline' in some way? I do not know if my installation
is broken or I don't get the options right.

TIA for any help.
Thomas Spahni


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to