# Главная
# О библиотеке

# Выбор дистрибутива
преимущества Linux/UNIX | основные дистрибутивы | серверный Linux | BSD | LiveCDs | прочее

# Установка и удаление программ
общие вопросы | каталоги софта | специальные случаи

# Настройка и работа
установка, загрузчики | настройка Linux | консоль | файловые системы | процессы | шеллы, русификация, коммандеры | виртуальные машины, эмуляторы

# X Window и оконные менеджеры
настройка X Window | GNOME | KDE | IceWM и др.

# Работа с текстами
редакторы | офис | шрифты, кодировки и русификация | преобразования текстовых файлов | LaTeX, SGML и др. | словари

# Графика
GIMP | фото | обработка изображений | форматы графических файлов

# Сети, администрирование
общие вопросы | Dialup & PPP | брандмауэры | маршрутизация | работа в Windows-сетях | веб-серверы | Apache | прокси-серверы | сетевая печать | прочее

# Программирование
GCC & GNU make | программирование в UNIX | графические библиотеки | Tcl | Perl | PHP | Java & C# | СУБД | CVS | прочее

# Ядро
# Мультимедиа
# Интернет
# Почта
# Безопасность
# Железо
# Разное

# Linux HowTo (как сделать)
# Книги и руководства
# Материалы на английском языке


MySQL The World's Most Popular Open Source Database # Online shop | Site map |  
CompanyProductsSupport & ConsultingTraining & CertificationDownloadsDocumentation
  BooksArticlesMailing ListsPresentationsOther Sites  
Search the MySQL manual:
MySQL Manual
  • 2 Установка MySQL
    • 2.6 Заметки по операционным системам
      • 2.6.6 Примечания к другим Unix-системам
        • 2.6.6.1 Примечания к бинарному дистрибутиву HP-UX
        • 2.6.6.2 Примечания к HP-UX версии 10.20
        • 2.6.6.3 Примечания к HP-UX версий 11.x
        • 2.6.6.4 Примечания к IBM-AIX
        • 2.6.6.5 Примечания к SunOS 4
        • 2.6.6.6 Примечания к Alpha-DEC-UNIX (Tru64)
        • 2.6.6.7 Примечания к Alpha-DEC-OSF/1
        • 2.6.6.8 Примечания к SGI Irix
        • 2.6.6.9 Примечания к Caldera (SCO)
        • 2.6.6.10 Примечания к Caldera (SCO) Unixware Version 7.0

Buy this Reference Manual in softcover from Barnes & Noble!

MySQL Reference Manual
Previous / Next / Up / Table of Contents

2.6.6.3 Примечания к 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++.

User Comments

Add your own comment.

Top / Previous / Next / Up / Table of Contents
# MySQL.com home | Site map | Contact us | Press | Jobs | Privacy policy | Trademark info | © 1995-2003 MySQL AB. All rights reserved.