Страниц: [1]
  Печать  
Автор Тема: Сборка сервера mysql-5.1.68 для QNX6.3.2  (Прочитано 2623 раз)
pavel123__
Full Member
***
Offline Offline

Сообщений: 139


Просмотр профиля
« : Марта 22, 2013, 08:50:03 am »

Доброго времени суток всем!

Пытался собрать сервер mysql-5.1.68 для QNX6.3.2 из исходников.
Скрипт configure выполнился полностью. Когда запустил make получил следующие ошибки:

1).
#error wchar_t must store iso 10646 characters

В файле mysql-5.1.68\cmd-line-utils\libedit\chartype.h обнаружил следующее:

/* XXXMYSQL : Added FreeBSD & AIX to bypass this check.
  TODO : Verify if FreeBSD & AIX stores ISO 10646 in wchar_t. */
#if !defined(__NetBSD__) && !defined(__sun) \
  && !(defined(__APPLE__) && defined(__MACH__)) \
  && !defined(__FreeBSD__) && !defined(_AIX)
#ifndef __STDC_ISO_10646__
/* In many places it is assumed that the first 127 code points are ASCII
 * compatible, so ensure wchar_t indeed does ISO 10646 and not some other
 * funky encoding that could break us in weird and wonderful ways. */
   #error wchar_t must store ISO 10646 characters
#endif
#endif

Что нужно доустановить в QNX чтобы wchar смог хранить ISO 10646 символы?

2). В файле mysql-5.1.68\cmd-line-utils\libedit\el.c указан хедер #include <langinfo.h>
которого нет в системе.

Что нужно доустановить в QNX чтобы он появился?
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #1 : Марта 22, 2013, 09:21:28 am »

1) У QNX 6.5.0 есть __STDC_ISO_10646__, она объявлена в sys/platform.h. Для нормальной работы достаточно такого кода перед проверкой __STDC_ISO_10646__:

#ifdef __QNXNTO__
#include <sys/netrino.h>
#endif /* __QNXNTO__ */

Возможно в QNX 6.3.2 ещё нет такого макроса, тогда вписать && !defined(__QNXNTO__) в общую проверку.

2) Его нет. configure скрипт должен был это определить. Вполне возможно configure это определил, но в коде забыли обвернуть код, использующий langinfo.h с помощью макроса #if defined(HAVE_LANGINFO_H)/#endif. Для правильно написанного кода достаточно сэмулировать возврат NULL из функции nl_langinfo(). Дальше всё должно нормально работать.
Записан

Страниц: [1]
  Печать  
 
Перейти в: