>>>>> "Roman" == Roman Maeder <maeder@stripped> writes:
>> Note that if you are using a binary MySQL distribution which is
>> compiled with a compiler that has longlong, the above
>> -DNO_CLIENT_LONG_LONG will crash your client!
>>
>> You have to:
>>
>> a) Recompile the mysql client library with your current compiler
>>
>> or
>>
>> b) Recompile the modules with gcc.
Roman> that explains a lot. Problem with a) is that Mysql 3.22.23b cannot
Roman> be compiled without "long long", or so it seems, from this "configure"
Roman> error:
csh> env CC=acc CFLAGS=-g CXX=gcc ./configure --disable-shared --without-server
Roman> checking size of long long... 0
Roman> configure: error: MySQL needs a long long type.
Roman> is there an official or unofficial way to at least build the client lib
Roman> in this case?
Yes; Remove the longlong test from configure and run with:
env CC=acc CFLAGS="-g -DNO_CLIENT_LONG_LONG" CXX=gcc
CXXFLAGS="-DNO_CLIENT_LONG_LONG" ./configure --disable-shared --without-server
Another way is after (because you are using a sparc) all my_ulonglong struct
entries in mysql.h add:
ulong dummy;
For example:
typedef struct st_mysql_data {
my_ulonglong rows;
unsigned int fields;
MYSQL_ROWS *data;
MEM_ROOT alloc;
} MYSQL_DATA;
->
typedef struct st_mysql_data {
my_ulonglong rows;
#ifdef NO_CLIENT_LONG_LONG
ulong dummy;
#endif
unsigned int fields;
MYSQL_ROWS *data;
MEM_ROOT alloc;
} MYSQL_DATA;
Regards,
Monty