Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / MySQL / Установка MySQL / Заметки по операционным системам /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Примечания к другим Unix-системам - Программирование от RIN.RU
Примечания к другим Unix-системам



Примечания к HP-UX версий 11.x


Для HP-UX версий 11.x мы рекомендуем использовать MySQL не ниже 3.23.15.


Из-за некоторых критических ошибок в стандартных библиотеках HP-UX до попытки запуска MySQL на HP-UX 11.0 необходимо установить следующие патчи:


PHKL_22840 Streams cumulative
PHNE_22397 ARPA cumulative


Применение данных патчей решит проблему получения EWOULDBLOCK от recv() и EBADF от accept() в потоковых приложениях.


При использовании gcc 2.95.1 в системе, к которой не были применены патчи,
возникнет ошибка:


In file included from /usr/include/unistd.h:11,
from ../include/global.h:125,
from mysql_priv.h:15,
from item.cc:19:
/usr/include/sys/unistd.h:184: declaration of C function ...
/usr/include/sys/pthread.h:440: previous declaration ...
In file included from item.h:306,
from mysql_priv.h:158,
from item.cc:19:


Проблема заключается в том, что HP-UX существуют несовместимые определения функции pthreads_atfork(). Конфликтующие прототипы находятся в "/usr/include/sys/unistd.h":184 и в "/usr/include/sys/pthread.h":440
(подробности приведены ниже).


Одно из возможных решений заключается в том, чтобы скопировать "/usr/include/sys/unistd.h" в "mysql/include" и отредактировать `unistd.h" так, чтобы определение совпадало с определением из `pthread.h". Ниже приведен результат работы diff:


183,184c183,184
< extern int pthread_atfork(void (*prepare)(), void (*parent)(),
< void (*child)());
---
> extern int pthread_atfork(void (*prepare)(void), void (*parent)(void),
> void (*child)(void));




После этого должна работать конфигурационная программа со следующими параметрами:


CFLAGS="-fomit-frame-pointer -O3 -fpic" CXX=gcc \
CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti -O3" \
./configure --prefix=/usr/local/mysql --disable-shared


Ниже приведена информация, которую прислал нам пользователь HP-UX версии 11.x. Она касается компиляции MySQL компилятором Hp-UX:x:


Окружение:
подходящие компиляторы.
setenv CC cc
setenv CXX aCC
опции
setenv CFLAGS -D_REENTRANT
setenv CXXFLAGS -D_REENTRANT
setenv CPPFLAGS -D_REENTRANT
% aCC -V
aCC: HP ANSI C++ B3910B X.03.14.06
% cc -V /tmp/empty.c
cpp.ansi: HP92453-01 A.11.02.00 HP C Preprocessor (ANSI)
ccom: HP92453-01 A.11.01.00 HP C Compiler
cc: "/tmp/empty.c", line 1: warning 501: Empty source file.
конфигурация:
./configure --with-pthread \
--prefix=/source-control/mysql \
--with-named-thread-libs=-lpthread \
--with-low-memory


к "include/m_ctype.h" добавлена запись #define _CTYPE_INCLUDED. Это одно из обозначений, определенных в HP в "/usr/include/ctype.h":


/* Don"t include std ctype.h when this is included */
#define _CTYPE_H
#define __CTYPE_INCLUDED
#define _CTYPE_INCLUDED
#define _CTYPE_USING /* Don"t put names in global namespace. */



  • для того, чтобы компилятор распознавал прототип функции localtime_r, во время компиляции необходимо использовать флаг -D_REENTRANT. Можно также написать собственный прототип для localtime_r. Но я хочу устранить существующие ошибки без внесения новых. Поскольку я не знаю точно, когда этот ключ действительно нужен, я добавил его использование во всех случаях.

  • флаги оптимизации, используемые при сборке MySQL (-O3), не распознаются компилятором HP. Я не изменял ключи.


При получении следующего сообщения об ошибке при работе configure


checking for cc option to accept ANSI C... no
configure: error: MySQL requires a ANSI C compiler (and a C++ compiler).
Try gcc. See the Installation chapter in the Reference Manual.


следует удостовериться, что путь к компилятору K&R не указан раньше, чем путь к компиляторам HP-UX C и C++.


<<<  НазадВперед  >>>
 1  2  3  4  5 


 8  Комментарии к статье  8 8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь