>Description:
Two compile problems. The second one has me stumped. I am pasting in error
info on both at the end of this form.
Problem #1: snprintf error in client/sql_string.cc. I substituted sprintf,
hope it's safe.
Problem #2: myisam/mi_open.c has parse error. I can't find the reason, my C
skills are poor.
>How-To-Repeat:
gnu-make
>Fix:
I do not really know if my fix to #1 is safe. I can't find a fix for #2.
>Submitter-Id: License #7307
>Originator: Ann Cantelow, System Admin
>Organization: CSD Internet - www.csd.net
>MySQL support: Basic licence for ISP's
>Synopsis: 2 compile problems for 3.23.33 on Tru64 v4.0G (no patches)
>Severity: critical
>Priority: medium
>Category: mysql
>Class: support
>Release: mysql-3.23.33 (Source distribution)
>Server: Compile not successful (Previous: /usr/local/bin/mysqladmin Ver 7.11
>Distrib 3.22.27, for dec-osf4.0d on alphaev5)
TCX Datakonsult AB, by Monty
Server version 3.22.30-log <--- I'm trying to replace this with 3.23.33.
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /tmp/mysql.sock
Uptime: 10 days 1 hour 7 min 22 sec
Threads: 25 Questions: 2970644 Slow queries: 152 Opens: 585 Flush tables: 1 Open
tables: 63
>Environment:
System: OSF1 hermes.csd.net Tru64 V4.0G(no patches) 1530 alpha
Machine: alpha
Some paths: /usr/local/bin/perl /usr/bin/make /usr/local/bin/gcc /usr/bin/cc
GCC: Reading specs from /usr/local/lib/gcc-lib/alphaev56-dec-osf4.0d/2.95.2/specs
gcc version 2.95.2 19991024 (release)
Wrong -- Compilation info: CC='cc -pthread -std1' CFLAGS='-I./include
-DDONT_USE_THR_ALARM' CXX='gcc' CXXFLAGS='-O3 -DDONT_USE_THR_ALARM' LDFLAGS= ''
Wrong -- Configure command: ./configure --with-low-memory
'--with-named-thread-libs=-lpthread -lmach -lexc'
Above is the 3.22.30-patched version I'm trying to replace. Current info:
Configure command: ./configure --localstatedir=/usr/local/var/mysql
--with-unix-socket-path=/usr/var/mysql/tmp/mysql.sock
Compilation info: How to get this? These are in Top level Makefile:
CC = gcc
CFLAGS = -O6 -DDBUG_OFF
CPP = gcc -E
CXX = c++
CXXFLAGS = -O3 -DDBUG_OFF -fno-implicit-templates
CXXLDFLAGS =
Do you need anything else?
Perl: This is perl, version 5.004_04 built for alpha-dec_osf
1) ----------- in client/sql_string compile
----------------------------------------------
c++ -DUNDEF_THREADS_HACK -I./../include -I../include
-I./.. -I.. -I.. -O3 -DDBUG_OFF
-fno-implicit-templates -c sql_string.cc
In file included from ../include/global.h:186,
from sql_string.cc:24:
/usr/include/alloca.h:68: warning: declaration of `void * alloca(int)'
/usr/include/alloca.h:68: warning: conflicts with built-in declaration `void *
alloca(long unsigned int)'
sql_string.cc: In method `bool String::set(double, unsigned int = 2)':
sql_string.cc:182: implicit declaration of function `int snprintf(...)'
gnu-make: *** [sql_string.o] Error 1
---- Solution? This seems to work: -----
Change this:
-------
ifdef HAVE_SNPRINTF
buff[sizeof(buff)-1]=0; // Safety
snprintf(buff,sizeof(buff)-1, "%.*f",(int) decimals,num);
#else
-------
To this:
-------
ifdef HAVE_SNPRINTF
buff[sizeof(buff)-1]=0; // Safety
sprintf(buff, "%.*f",(int) decimals,num);
#else
-------
Looks safe to me because of "Safety" line-- ?
2) ------------- in myisam/mi_open.c compile
----------------------------------------------------
hermes.csd.net> gnu-make
gcc -DMAP_TO_USE_RAID -I./../include -I../include -O6 -DDBUG_OFF -c mi_open.c
In file included from
/usr/local/lib/gcc-lib/alphaev56-dec-osf4.0d/2.95.2/include/stdarg.h:36,
from ../include/my_sys.h:42,
from ../include/my_base.h:29,
from ../include/myisam.h:27,
from myisamdef.h:20,
from fulltext.h:21,
from mi_open.c:19:
/usr/local/lib/gcc-lib/alphaev56-dec-osf4.0d/2.95.2/include/va-alpha.h:36: warning:
redefinition of `va_list'
/usr/local/lib/gcc-lib/alphaev56-dec-osf4.0d/2.95.2/include/va_list.h:7: warning:
`va_list' previously declared here
In file included from fulltext.h:21,
from mi_open.c:19:
myisamdef.h:202: parse error before `pthread_rwlock_t'
myisamdef.h:202: warning: no semicolon at end of struct or union
myisamdef.h:204: warning: data definition has no type or storage class
myisamdef.h:218: parse error before `MYISAM_SHARE'
myisamdef.h:218: warning: no semicolon at end of struct or union
myisamdef.h:234: `checksum' redeclared as different kind of symbol
../include/my_sys.h:576: previous declaration of `checksum'
myisamdef.h:269: parse error before `}'
myisamdef.h:477: parse error before `*'
myisamdef.h:634: parse error before `MYISAM_SHARE'
myisamdef.h:635: parse error before `*'
mi_open.c:33: parse error before `*'
mi_open.c: In function `test_if_reopen':
mi_open.c:51: `share' undeclared (first use in this function)
mi_open.c:51: (Each undeclared identifier is reported only once
mi_open.c:51: for each function it appears in.)
mi_open.c:51: dereferencing pointer to incomplete type
mi_open.c: In function `mi_open':
mi_open.c:73: storage size of `info' isn't known
mi_open.c:74: `MYISAM_SHARE' undeclared (first use in this function)
mi_open.c:74: parse error before `share_buff'
mi_open.c:84: `share_buff' undeclared (first use in this function)
mi_open.c:91: `share' undeclared (first use in this function)
mi_open.c:258: `pthread_rwlock_t' undeclared (first use in this function)
mi_open.c:423: dereferencing pointer to incomplete type
mi_open.c:436: sizeof applied to an incomplete type
mi_open.c:507: dereferencing pointer to incomplete type
mi_open.c:509: dereferencing pointer to incomplete type
mi_open.c:511: dereferencing pointer to incomplete type
mi_open.c:512: dereferencing pointer to incomplete type
mi_open.c: At top level:
mi_open.c:567: parse error before `*'
mi_open.c: In function `setup_functions':
mi_open.c:569: `share' undeclared (first use in this function)
mi_open.c: At top level:
mi_open.c:993: parse error before `MYISAM_SHARE'
mi_open.c: In function `mi_open_datafile':
mi_open.c:996: `share' undeclared (first use in this function)
mi_open.c:1011: `info' undeclared (first use in this function)
mi_open.c: At top level:
mi_open.c:1018: parse error before `*'
mi_open.c: In function `mi_open_keyfile':
mi_open.c:1020: `share' undeclared (first use in this function)
gnu-make: *** [mi_open.o] Error 1
-----
myisql-3.23.22-beta did not have this problem, with same compiler. I moved in a
version
of 3.23.22-beta from another machine and compiled on the same machine to be sure.
Is there anything else I can provide?
Many Thanks,
Ann Cantelow
---------------------------------------------------------------------
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
Compile problems with 3.23.33 on Tru64 4.0G
Ann Cantelow <[EMAIL PROTECTED]> Tue, 20 Feb 2001 17:25:34 -0800
