c++ headers errors

Hello.

I am trying to get mysqld working. I already built it for 6.0 some
months ago.
But I get weird compiler errors in 6.1 in header files . Some of them
gone after i switched to qcc
instead of c++, but “Parse error …” still present( string.h, 124, 129
and so on ) .
Also tried to add -fhonor-std, but it did’t help too.
I have default QNX 6.1 installation updated to patch A.

How can I solve this ?

Here goes complete error log:

make[2]: Entering directory /mysql-3.23.41/client' c++ -DUNDEF_THREADS_HACK -I./../include -I../include -I./.. -I ... -I.. -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptio ns -fno-rtti -c mysql.cc In file included from ../include/global.h:158, from mysql.cc:28: /usr/include/stdlib.h:239: abort’ is already declared in this scope
/usr/include/stdlib.h:239: abs' is already declared in this scope /usr/include/stdlib.h:240: exit’ is already declared in this scope
/usr/include/stdlib.h:240: labs' is already declared in this scope In file included from ../include/global.h:164, from mysql.cc:28: /usr/include/math.h:558: cos’ is already declared in this scope
/usr/include/math.h:558: fabs' is already declared in this scope /usr/include/math.h:559: sin’ is already declared in this scope
/usr/include/math.h:559: sqrt' is already declared in this scope /usr/include/math.h:570: cosf’ is already declared in this scope
/usr/include/math.h:570: fabsf' is already declared in this scope /usr/include/math.h:571: sinf’ is already declared in this scope
/usr/include/math.h:571: sqrtf' is already declared in this scope /usr/include/math.h:582: cosl’ is already declared in this scope
/usr/include/math.h:582: fabsl' is already declared in this scope /usr/include/math.h:583: sinl’ is already declared in this scope
/usr/include/math.h:583: sqrtl' is already declared in this scope In file included from /usr/include/strings.h:14, from ../include/m_string.h:29, from mysql.cc:30: /usr/include/string.h:124: parse error before 010’
/usr/include/string.h:129: parse error before 010' /usr/include/string.h:134: parse error before 010’
/usr/include/string.h:139: parse error before 010' /usr/include/string.h:144: parse error before 010’
/usr/include/string.h:155: memcmp' is already declared in this scope /usr/include/string.h:155: memcpy’ is already declared in this scope
/usr/include/string.h:156: strcmp' is already declared in this scope /usr/include/string.h:156: strcpy’ is already declared in this scope
/usr/include/string.h:156: strlen' is already declared in this scope mysql.cc: In function int com_tee(String *, char *)’:
mysql.cc:1760: assignment to char *' from const char *’ discards
qualifiers
mysql.cc: In function int com_pager(String *, char *)': mysql.cc:1819: assignment to char *’ from const char *' discards qualifiers mysql.cc: In function int com_source(String *, char *)’:
mysql.cc:1995: assignment to char *' from const char *’ discards
qualifiers
mysql.cc: In function int com_status(String *, char *)': mysql.cc:2233: assignment to char *’ from const char *' discards qualifiers make[2]: *** [mysql.o] Error 1 make[2]: Leaving directory /mysql-3.23.41/client’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mysql-3.23.41’
make: *** [all-recursive-am] Error 2

Dmitry Alexeyev
dmi@qnx.org.ru

I am sorry.
_S macro which used in string.h was already declared in mysql’s headers.
Other errors are eliminated by using -fno-bulitins and -fhonor-std

Dmitry Alexeyev
dmi@qnx.org.ru

Dmitry Alexeyev wrote:

Hello.

I am trying to get mysqld working. I already built it for 6.0 some
months ago.
But I get weird compiler errors in 6.1 in header files . Some of them
gone after i switched to qcc
instead of c++, but “Parse error …” still present( string.h, 124, 129
and so on ) .
Also tried to add -fhonor-std, but it did’t help too.
I have default QNX 6.1 installation updated to patch A.

How can I solve this ?

Here goes complete error log:

make[2]: Entering directory /mysql-3.23.41/client' c++ -DUNDEF_THREADS_HACK -I./../include -I../include -I./.. -I .. -I.. -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptio ns -fno-rtti -c mysql.cc In file included from ../include/global.h:158, from mysql.cc:28: /usr/include/stdlib.h:239: abort’ is already declared in this scope
/usr/include/stdlib.h:239: abs' is already declared in this scope /usr/include/stdlib.h:240: exit’ is already declared in this scope
/usr/include/stdlib.h:240: labs' is already declared in this scope In file included from ../include/global.h:164, from mysql.cc:28: /usr/include/math.h:558: cos’ is already declared in this scope
/usr/include/math.h:558: fabs' is already declared in this scope /usr/include/math.h:559: sin’ is already declared in this scope
/usr/include/math.h:559: sqrt' is already declared in this scope /usr/include/math.h:570: cosf’ is already declared in this scope
/usr/include/math.h:570: fabsf' is already declared in this scope /usr/include/math.h:571: sinf’ is already declared in this scope
/usr/include/math.h:571: sqrtf' is already declared in this scope /usr/include/math.h:582: cosl’ is already declared in this scope
/usr/include/math.h:582: fabsl' is already declared in this scope /usr/include/math.h:583: sinl’ is already declared in this scope
/usr/include/math.h:583: sqrtl' is already declared in this scope In file included from /usr/include/strings.h:14, from ../include/m_string.h:29, from mysql.cc:30: /usr/include/string.h:124: parse error before 010’
/usr/include/string.h:129: parse error before 010' /usr/include/string.h:134: parse error before 010’
/usr/include/string.h:139: parse error before 010' /usr/include/string.h:144: parse error before 010’
/usr/include/string.h:155: memcmp' is already declared in this scope /usr/include/string.h:155: memcpy’ is already declared in this scope
/usr/include/string.h:156: strcmp' is already declared in this scope /usr/include/string.h:156: strcpy’ is already declared in this scope
/usr/include/string.h:156: strlen' is already declared in this scope mysql.cc: In function int com_tee(String *, char *)’:
mysql.cc:1760: assignment to char *' from const char *’ discards
qualifiers
mysql.cc: In function int com_pager(String *, char *)': mysql.cc:1819: assignment to char *’ from const char *' discards qualifiers mysql.cc: In function int com_source(String *, char *)’:
mysql.cc:1995: assignment to char *' from const char *’ discards
qualifiers
mysql.cc: In function int com_status(String *, char *)': mysql.cc:2233: assignment to char *’ from const char *' discards qualifiers make[2]: *** [mysql.o] Error 1 make[2]: Leaving directory /mysql-3.23.41/client’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mysql-3.23.41’
make: *** [all-recursive-am] Error 2

Dmitry Alexeyev
dmi@qnx.org.ru