MAC 312/759 - Informações Operacionais

Voce deve saber:

Que software está disponível e onde encontrá-lo
Que máquinas usar
Como preparar seu environment
Que opções passar ao compilador C++ e ao linker


Software

Orbix 2.2 MT: Uma versão Solaris do Orbix para C++, com suporte a multithreading. Está em /usr/local/Orbix_2.2MT/, com documentação no formato html (Programming Guide, Reference Guide) e man pages.
SunPro C++ 4.1: O compilador C++ requerido pelo software acima. Está em /usr/local/SUNWspro/, com documentação no formato AnswerBook e man pages. Há também um diretório READMEs.
Standards<ToolKit>: Uma implementação de STL, de auto_ptrs, da classe string e das classes de exceção padronizadas pela ANSI/ISO. Está em /usr/local/StdC++Lib/, com documentação no formato html. Esta biblioteca de classes não é requerida pelo Orbix, mas ajuda bastante!
OrbixWeb 2.0.1: Uma versão do Orbix para Java. Está em /usr/local/OrbixWeb2.0.1/, com documentação no formato html e man pages.
JDK 1.1.4: O Java Development Kit requerido pelo OrbixWeb. Está em /usr/local/jdk1.1.4/, com documentação no formato html.
OrbixNames 1.03: O Name Service da Iona. Está instalado junto com o Orbix 2.2 MT, em /usr/local/Orbix_2.2MT/, com documentação no formato pdf e man pages.
OrbixTalk 1.1: O Event Service da Iona. Está em /usr/local/OrbixTalk1.1/.


Máquinas

jaca
rebutosa
sushi
fradim

Esses hosts rodam Solaris 2.5.x (SunOS 5.5.x), o sistema operacional requirido pelos programas que voce vai usar. O Orbix daemon já está rodando neles.


Environment

Para o C++:
  • Na variável PATH, inclua o diretório
    	   /usr/local/SUNWspro/bin
    	   
  • Na variável MANPATH, inclua o diretório
    	   /usr/local/SUNWspro/man
    	   
  • Na variável LD_LIBRARY_PATH (que deve ser definida e exportada), inclua o diretório
    	   /usr/local/SUNWspro/lib
    	   
  • Defina a variável de licença
    	   LM_LICENSE_FILE=/usr/local/etc/sunpro.lic,1
    	   export LM_LICENSE_FILE
    	   
Para o JDK:
  • Na variável PATH, inclua o diretório
    	   /usr/local/jdk1.1.4/bin
    	   
Para o Orbix, OrbixWeb e OrbixNames:
  • Defina as variáveis (só a terceira precisa ser exportada)
    	   ORBIX_HOME=/usr/local/Orbix_2.2MT
    	   ORBIXWEB_HOME=/usr/local/OrbixWeb2.0.1
    	   IT_CONFIG_PATH=$ORBIX_HOME/Orbix.cfg
    	   export IT_CONFIG_PATH
    	   
  • Na variável PATH, inclua os diretórios
    	   $ORBIXWEB_HOME/bin:$ORBIX_HOME/corba2/bin:$ORBIX_HOME/bin
    	   
  • Na variável MANPATH, inclua os diretórios
    	   $ORBIXWEB_HOME/man:$ORBIX_HOME/man
    	   
  • Na variável LD_LIBRARY_PATH (que deve ser definida e exportada), inclua o diretório
    	   $ORBIX_HOME/corba2/lib
    	   
  • Na variável CLASSPATH (que deve ser definida e exportada), inclua o diretório
    	   $ORBIXWEB_HOME/classes
    	   
Juntando tudo:

O trecho relevante do meu arquivo .bash_profile aparece abaixo.

SunOS=`uname -r | cut -c1`

if [ $SunOS -eq 4 ]
  then
    PATH=.:$HOME/bin:/usr/X11R5/bin:/usr/gnu/bin:/usr/local/bin:/bin:/usr/local:/usr/lang:/usr/ucb:/usr/bin:/usr/hosts:/usr/openwin/bin
    MANPATH=/usr/gnu/man:/gnu/man:/usr/X11R5/man:/usr/openwin/man:/usr/local/man:/usr/man:/usr/lang/man
    export PATH MANPATH
  else
    ORBIX_HOME=/usr/local/Orbix_2.2MT
    ORBIXWEB_HOME=/usr/local/OrbixWeb2.0.1
    IT_CONFIG_PATH=$ORBIX_HOME/Orbix.cfg
    JDK_HOME=/usr/local/jdk1.1.4
    PATH=.:$HOME/bin:$ORBIXWEB_HOME/bin:$ORBIX_HOME/corba2/bin:$ORBIX_HOME/bin:$JDK_HOME/bin:/opt/bin:/usr/dt/bin:/usr/X11R5/bin:/usr/local/SUNWspro/bin:/usr/ccs/bin:/usr/gnu/bin:/usr/local/bin:/usr/ucb:/usr/sbin:/usr/bin:/usr/hosts:/usr/openwin/bin:/etc:/usr/games
    MANPATH=$ORBIXWEB_HOME/man:$ORBIX_HOME/man:/usr/local/SUNWspro/man:/usr/gnu/man:/usr/dt/man:/usr/X11R5/man:/usr/local/man:/usr/man:/usr/openwin/man
    LD_LIBRARY_PATH=$ORBIX_HOME/corba2/lib:/usr/local/SUNWspro/lib
    CLASSPATH=$ORBIXWEB_HOME/classes
    LM_LICENSE_FILE=/usr/local/etc/sunpro.lic,1
    export ORBIX_HOME ORBIXWEB_HOME IT_CONFIG_PATH
    export PATH MANPATH LD_LIBRARY_PATH CLASSPATH
    export LM_LICENSE_FILE
fi

Opções de Compilação/Linkagem

Quando compilar aplicações Orbix em C++, use a opção -I para informar ao CC onde estão os header files do Orbix:
-I/usr/local/Orbix_2.2MT/corba2/include
Quando "linkar" aplicações Orbix em C++, use a opção -L para informar ao ld (o linker) onde estão os as bibliotecas do Orbix:
-L/usr/local/Orbix_2.2MT/corba2/lib
Para mais detalhes (que bibliotecas "linkar", etc.), veja os exemplos no diretório de demos. Comece pelo grid. Note que o Makefile desse exemplo (bem como os Makefiles dos outros exemplos) incluem o arquivo orbixmtsol2s4.mk.
Se voce usar a STL, ou a classe string ANSI/ISO, ou alguma outra classe da biblioteca Standards<ToolKit>, voce precisará passar mais opções ao compilador e ao linker. Um exemplo simples de uso do Orbix com a STL e a classe string ANSI/ISO (o "quoter" visto em classe) está neste diretório. Note que o Makefile desse exemplo inclui o arquivo orbix-stl.mk, que agrupa definições de opções para o Orbix e para o Standards<ToolKit>.


Last modified: Wed Oct 1 15:37:50 EST 1997
Francisco Reverbel
reverbel at ime.usp.br