Hello!

On a Sun with

        SunOS ai001273 5.6 Generic_105181-13 sun4u sparc SUNW,Ultra-30

I configured

        ./configure --prefix=/opt/ZITP7.33 --enable-shared --with-pthread
--with-low-memory --enable-assembler --enable-thread-safe-client
--with-mysqld-user=www --without-readline --with-extra-charsets=german1
--with-berkeley-db-includes=/opt/ZITP7.33/include

with envvars from

        setenv CC       gcc
        setenv CFLAGS   "-Wa,-xarch=v8plusa -O6 -mcpu=v9 -mtune=ultrasparc"
        setenv CXX      gcc
        setenv CXXFLAGS "-Wa,-xarch=v8plusa -O6 -mcpu=v9 -mtune=ultrasparc
-felide-constructors -fno-exceptions -fno-rtti"

compilation stops with:

        gmake[2]: Entering directory `/opt/www/Diele/mysql-3.23.32/client'
        gcc -DUNDEF_THREADS_HACK -I./../include -I../include -I./.. -I.. -I.. -O3
-DDBUG_OFF -Wa,-xarch=v8plusa -O6 -mcpu=v9 -mtune=ultrasparc
-felide-constructors -fno-exceptions -fno-rtti -fno-implicit-templates
-DHAVE_RWLOCK_T -c mysql.cc
        mysql.cc: In function `int com_status(String *, char *)':
        mysql.cc:2190: integer constant out of range
        mysql.cc:2190: warning: decimal integer constant is so large that it is
unsigned
        gmake[2]: *** [mysql.o] Error 1
        gmake[2]: Target `all' not remade because of errors.
        gmake[2]: Leaving directory `/opt/www/Diele/mysql-3.23.32/client'

2182    
2183      if ((status=mysql_stat(&mysql)) && !mysql_error(&mysql)[0])
2184      {
2185        char *pos,buff[40];
2186        ulong sec;
2187        pos=strchr(status,' ');
2188        *pos++=0;
2189        tee_fprintf(stdout, "%s\t\t\t", status);    /* print label */
2190        if ((status=str2int(pos,10,0,LONG_MAX,(long*) &sec)))
2191        {
2192          nice_time((double) sec,buff,0);
2193          tee_puts(buff, stdout);                   /* print nice time */
2194          while (*status == ' ') status++;          /* to next info */
2195        }
2196        if (status)
2197        {
2198          tee_putc('\n', stdout);
2199          tee_puts(status, stdout);
2200        }
2201      }



During compilation of mysql-3.23.32/client/mysql.cc these actual def's are
valid:

        gcc -DUNDEF_THREADS_HACK -I./../include  -I../include -I./.. -I.. -DDBUG_OFF
-Wa,-xarch=v8plusa -O6 -mcpu=v9 -mtune=ultrasparc -felide-constructors
-fno-exceptions -fno-rtti -fno-implicit-templates -DHAVE_RWLOCK_T -c mysql.cc -E
-dD -v -o mysql.ccp
        Reading specs from /appl/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/specs
        gcc version 2.95.2 19991024 (release)
         /appl/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/cpp -lang-c++ -v
-I./../include -I../include -I./.. -I.. -D__GNUC__=2 -D__GNUG__=2
-D__GNUC_MINOR__=95 -D__cplusplus -Dsparc -Dsun -Dunix -D__svr4__ -D__SVR4
-D__sparc__ -D__sun__ -D__unix__ -D__svr4__ -D__SVR4 -D__sparc -D__sun -D__unix
-Asystem(unix) -Asystem(svr4) -D__OPTIMIZE__ -dD -D__sparc_v9__
-D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc) -DUNDEF_THREADS_HACK
-DDBUG_OFF -DHAVE_RWLOCK_T mysql.cc -o mysql.ccpo
        GNU CPP version 2.95.2 19991024 (release) (sparc)

Solaris' /usr/include/limits.h do correctly:

        #define LONG_MIN        (-2147483647L-1L)
        #define LONG_MAX        2147483647L     
        #define ULONG_MAX       4294967295UL    

        #define LLONG_MIN       (-9223372036854775807LL-1LL)
        #define LLONG_MAX       9223372036854775807LL
        #define ULLONG_MAX      18446744073709551615ULL

but then gcc's
/appl/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/include/limits.h are included:

        #define __LONG_MAX__ 9223372036854775807L
        #define LONG_MIN (-LONG_MAX-1)
        #define LONG_MAX __LONG_MAX__
        #define ULONG_MAX (LONG_MAX * 2UL + 1)
        #define __LONG_LONG_MAX__ 9223372036854775807LL
        #define LONG_LONG_MIN (-LONG_LONG_MAX-1)
        #define LONG_LONG_MAX __LONG_LONG_MAX__
        #define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1)

and finally mySQL's ../include/global.h:

        #define HAVE_LONG_LONG 1
        #define LONGLONG_MIN    ((long long) 0x8000000000000000LL)
        #define LONGLONG_MAX    ((long long) 0x7FFFFFFFFFFFFFFFLL)

and finally gcc sees line #2190 as:

            if ((status=str2int(pos,10,0,9223372036854775807L  ,(long*) &sec)))


Gcc's /appl/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/include/limits.h reads:

76      /* Minimum and maximum values a `signed long int' can hold.
77         (Same as `int').  */
78      #ifndef __LONG_MAX__
79      #if defined (__alpha__) || defined (__sparc_v9__) || defined (__sparcv9)
80      #define __LONG_MAX__ 9223372036854775807L
81      #else
82      #define __LONG_MAX__ 2147483647L
83      #endif /* __alpha__ || sparc64 */
84      #endif
85      #undef LONG_MIN
86      #define LONG_MIN (-LONG_MAX-1)
87      #undef LONG_MAX
88      #define LONG_MAX __LONG_MAX__
89      
90      /* Maximum value an `unsigned long int' can hold.  (Minimum is 0).  */
91      #undef ULONG_MAX
92      #define ULONG_MAX (LONG_MAX * 2UL + 1)
93      
94      #if defined (__GNU_LIBRARY__) ? defined (__USE_GNU) : !defined
(__STRICT_ANSI__)
95      /* Minimum and maximum values a `signed long long int' can hold.  */
96      #ifndef __LONG_LONG_MAX__
97      #define __LONG_LONG_MAX__ 9223372036854775807LL
98      #endif
99      #undef LONG_LONG_MIN
100     #define LONG_LONG_MIN (-LONG_LONG_MAX-1)
101     #undef LONG_LONG_MAX
102     #define LONG_LONG_MAX __LONG_LONG_MAX__
103     
104     /* Maximum value an `unsigned long long int' can hold.  (Minimum is 0).  */
105     #undef ULONG_LONG_MAX
106     #define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1)
107     #endif


What do you suggest to do? My workaround was to insert "#define  __LONG_MAX__"
as line #28 ... and:


Compilation finished at Wed Jan 31 17:50:36


-- 
Greetings
Pete

(Peter Dyballa, ZIT P 7.33, 14.937 AHH, 47561)

Ce qui été compris n'existe plus

[Attachment omitted, unknown MIME type or encoding (application/ms-tnef)]

---------------------------------------------------------------------
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