Notas SCO
A versão atual foi testado somente nos sistemas sco3.2v5.0.4
e sco3.2v5.0.5
. A versãoo para o sco 3.2v4.2
também tem tido muito progresso.
Até o momento o compilador recomendado no OpenServer é o gcc 2.95.2. Com isto você deve estar apto a compilar o MariaDB apenas com:
CC=gcc CXX=gcc ./configure ... (opções)
- Para o OpenServer 5.0.X você precisa usar gcc-2.95.2p1 ou mais novo da Skunkware. http://www.SCO.com/skunkware/ e ecolher o pacote OpenServer browser ou por ftp em ftp to ftp2.SCO.com no diretório pub/skunkware/osr5/devtools/gcc.
- Você precisa do GCC versão 2.5.x para este produto e do sistema de desenvolvimento. Eles são necessários nesta versão do SCO Unix. Você não pode usar apenas o sistema GCC Dev.
- Você deve obter o pacote FSU Pthreads e instalá-lo primeiro. Pode ser obtido em http://www.cs.wustl.edu/~schmidt/ACE_wrappers/FSU-threads.tar.gz. Você pode também obter um pacote precompilado de http://www.mysql.com/Downloads/SCO/FSU-threads-3.5c.tar.gz.
- FSU Pthreads pode ser compilado com SCO Unix 4.2 com tcpip, ou OpenServer 3.0 ou OpenDesktop 3.0 (OS 3.0 ODT 3.0), com o Sistema de Desenvolvimento da SCO instalado usando uma boa versão do GCC 2.5.x ODT ou OS 3.0, no qual você necessitará de uma boa versão do GCC 2.5.x. Existem vários problemas sem uma boa versão. Esta versão do produto necessita do sistema de Desenvolvimento SCO Unix. Sem ele, você estará perdendo as bibliotecas e o editor de ligação necessário.
- Para construir a FSU Pthreads no seu sistema, faça o seguinte:
- Execute
./configure
no diretóriothreads/src
e selecione a opção SCO OpenServer. Este comando copiaMakefile.SCO5
paraMakefile
. - Execute
make
. - Para instalar no diretório padrão
/usr/include
, use o usuário root, depois mude para o diretóriothread/src
e executemake install
- Execute
- Lembre de usar o GNU
make
quando estiver construindo o MariaDB. - Se você não iniciou o
mysqld_safe
como root, você provavelmente só irá obter, por padrão, os 110 arquivos abertos por processo. Omysqld
irá gravar uma nota sobre isto no arquivo log. - Com o SCO 3.2V5.0.5, você deve usar o FSU Pthreads versão 3.5c ou mais nova. Você deve também usar o gcc 2.95.2 ou mais novo.
O seguinte comando
configure
deve funcionar:shell>
./configure --prefix=/usr/local/mysql --disable-shared
- Com SCO 3.2V4.2, você deve usar FSU Pthreads versão 3.5c ou mais nova. O seguinte comando
configure
deve funcionar:shell>
CFLAGS='-D_XOPEN_XPG4' CXX=gcc CXXFLAGS='-D_XOPEN_XPG4' \
./configure \
--prefix=/usr/local/mysql \
--with-named-thread-libs='-lgthreads -lsocket -lgen -lgthreads' \
--with-named-curses-libs='-lcurses'
Você pode ter alguns problemas com alguns arquivos de inclusão. Neste caso, você pode encontrar novos arquivos de inclusão específicos do SCO em http://www.mysql.com/Downloads/SCO/SCO-3.2v4.2-includes.tar.gz. Você deve descompactar este arquivo no diretório
include
da sua árvore fonte do MariaDB.
Notas de desenvolvimento SCO:
- O MariaDB deve detectar automaticamente FSU Pthreads e ligar o
mysqld
com-lgthreads -lsocket -lgthreads
. - As bibliotecas de desenvolvimento SCO são re-entrantes nas FSU Pthreads. A SCO diz que suas bibliotecas de funções são re-entrantes, então elas devem ser re-entrantes com as FSU-Pthreads. FSU Pthreads no OpenServer tentam usar o esquema SCO para criar bibliotecas re-entrantes.
- FSU Pthreads (ao menos a versão em http://www.mysql.com) vem ligada com GNU
malloc
. Se você encontrar problemas com uso de memória, tenha certeza que ogmalloc.o
esteja incluído emlibgthreads.a
elibgthreads.so
. - Na FSU Pthreads, as seguintes chamadas de sistema são compatíveis com pthreads:
read()
,write()
,getmsg()
,connect()
,accept()
,select()
ewait()
. - O CSSA-2001-SCO.35.2 (O patch é listado de costume como patch de segurança erg711905-dscr_remap ver 2.0.0) quebra FSU threads e deixa o mysqld instável. Você deve remove-lo se você deseja executar o mysqld em uma máquina OpenServer 5.0.6.
- A SCO fornece Patches do Sistema Operacional em ftp://ftp.sco.com/pub/openserver5 para OpenServer 5.0.x
- A SCO fornece correções de segurança e libsocket.so.2 em ftp://ftp.sco.com/pub/security/OpenServer e ftp://ftp.sco.com/pub/security/sse para OpenServer 5.0.x
- Correções de segurança pre-OSR506. També a correção do telnetd em ftp://stage.caldera.com/pub/security/openserver/ ou ftp://stage.caldera.com/pub/security/openserver/CSSA-2001-SCO.10/ com a libsocket.so.2 e libresolv.so.1 com instruções para instalar em sistemas pre-OSR506.
É provavelmente uma boa idéia para instalar os patches acima tentando compilar/usar o MariaDB.
Se você deseja instalar o DBI no SCO, você deve editar o Makefile
em DBI-xxx e cada subdiretório.
Note que o exemplo abaixo considera o gcc 2.95.2 ou mais novo:
OLD: NEW: CC = cc CC = gcc CCCDLFLAGS = -KPIC -W1,-Bexport CCCDLFLAGS = -fpic CCDLFLAGS = -wl,-Bexport CCDLFLAGS = LD = ld LD = gcc -G -fpic LDDLFLAGS = -G -L/usr/local/lib LDDLFLAGS = -L/usr/local/lib LDFLAGS = -belf -L/usr/local/lib LDFLAGS = -L/usr/local/lib LD = ld LD = gcc -G -fpic OPTIMISE = -Od OPTIMISE = -O1 OLD: CCCFLAGS = -belf -dy -w0 -U M_XENIX -DPERL_SCO5 -I/usr/local/include NEW: CCFLAGS = -U M_XENIX -DPERL_SCO5 -I/usr/local/include
Isto é porque o carregador dinâmico Perl não irá carregar os módulos DBI
se elas foram compiladas com icc
ou cc
.
Perl trabalha melhor quando compilado com cc
.