Compile failure on Tru64 because of strtoll

Compile failure on Tru64 because of strtoll

am 14.03.2003 19:27:18 von Michael Mauch

Hi,

compiling MySQL 3.23.55 on Tru64 (OSF/1) 4.0g fails with:

cc -DDEFAULT_CHARSET_HOME=\"/house/elmicha/spe145\" -DDATADIR=\"/house/elmicha/spe145/var\" -DSHAREDIR=\"/house/elmicha/spe145/share/mysql\" -DUNDEF_THREADS_HACK -DDONT_USE_RAID -I. -I../././libmysql -I.. -I../././libmysql/../include -I../include -I../././libmysql/.. -I.././. -I.. -O -DDBUG_OFF -DUNDEF_HAVE_GETHOSTBYNAME_R -c -MD strtoll.c -DPIC -o .libs/strtoll.lo
cc: Error: strto.c, line 82: In this declaration, the type of "strtoll" is not compatible with the type of a previous declaration of "strtoll" at line number 44 in file /usr/include.dtk/stdlib.h. (notcompat)
function (const char *nptr,char **endptr,int base)
^

% cc -V
Compaq C V6.5-207 (dtk) on Digital UNIX V4.0G (Rev. 1530)
Compiler Driver V6.5-207 (dtk) (dtk) cc Driver

I tried it with just --prefix=/house/elmicha/spe145 and with the
configure line mentioned for Tru64 5.1a in INSTALL-SOURCE:

CC="cc -pthread" CFLAGS="-O4 -ansi_alias -ansi_args -ed -speculate all" CXX="cxx -pthread" CXXFLAGS="-O4 -ansi_alias -fast -inline speed -speculate all -noexceptions -nortti" configure --prefix=$machdir --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-thread-libs="-lpthread -lmach -lexc -lc" --disable-shared --with-mysqld-ldflags=-all-static

The results were the same. The same error message appears in the
libmysql that is bundled with PHP-4.3.2RC1, mysql_version.h says that's
3.23.49.

/usr/include.dtk/stdlib.h has:

extern long long int strtoll(
const char * /*restrict*/ __nptr,
char ** /*restrict*/ __endptr,
int __base);

The declaration in strto.c is expanded to:

longlong strtoll (const char *nptr,char **endptr,int base)

If I change the line

#define longtype longlong

into

#define longtype long long

strto.c does compile.


How-To-Repeat:

a) Get a free shell account on a Tru64 machine from .
b) Connect to the 192.233.54.145 machine, upload the tarball (or copy it
from /house/elmicha/local/src/mysql-3.23.55.tar.gz).
c) gunzip -c mysql-3.23.55.tar.gz | tar xf -
d) See lots of "tar: ././@LongLink : Unknown filetype"
e) Remember pax; gunzip -c mysql-3.23.55.tar.gz | pax -f -
f) See lots of "pax: ././@LongLink : Unknown filetype"
g) Find and upload GNU tar-1.13.25.tar.gz
h) Try to compile tar-1.13.25, stare at error message, start swearing.
i) Remember they also have Linux machines with GNU tools there, happily
unpack the MySQL tarball, return to the Tru64 machine.
j) configure --prefix=$HOME/somewhere; see above.

Regards...
Michael

------------------------------------------------------------ ---------
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 bugs-thread13963@lists.mysql.com
To unsubscribe, e-mail