Changes between Initial Version and Version 1 of How_to_Compile


Ignore:
Timestamp:
01/19/12 16:13:33 (10 years ago)
Author:
branden
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • How_to_Compile

    v1 v1  
     1{{{ 
     2 
     3August 10, 1999 
     4 
     5MAKEFILES AND COMPILATION PROCEDURES 
     6 
     7Lucky Vidmar Mon Feb 14 21:48:28 GMT 2000 
     8 
     9There is a change in the procedure for building the complete release of 
     10Earthworm. Version 3.9 introduces a top-level Makefile in the src 
     11directory. It contains all directives necessary to build all Earthworm 
     12modules, as well as to clean up the Earthworm file hierarchy, under 
     13both Solaris and NT. 
     14 
     15Detailed information is available in the Makefile. Following are the 
     16procedures for building Earthworm: 
     17 
     18SOLARIS: 
     19 
     20 - source run_test/params/ew_sol_sparc.cmd 
     21 - cd src 
     22 - make solaris 
     23 
     24NT 
     25 
     26 - run script run_test/params/ew_nt.cmd 
     27 - cd src 
     28 - nmake nt 
     29 
     30 
     31To clean up the Earthworm file tree, i.e. to remove .o, .obj, core, 
     32and backup files, run the following: 
     33 
     34 - cd src; make clean_solaris (on a Solaris system) 
     35 - cd src; nmake clean_nt (on an NT system) 
     36 
     37 
     38To clean the bin directory: 
     39 
     40 - cd src: make clean_bin_solaris (on a Solaris system) 
     41 - cd src; nmake clean_bin_nt (on an NT system) 
     42 
     43 
     44Whenever a new module is added to Earthworm, or an old one is 
     45retired, the top-level Makefile should be modified to reflect the 
     46change. See the comments in the Makefile for more information. 
     47 
     48Each Earthworm module should contain makefiles for both NT and 
     49Solaris, regardless of the platform on which it is meant to be 
     50compiled. If a module is not supposed to be compiled on a platform, 
     51the corresponding makefile should only contain the clean-up 
     52directives. This enables complete clean-up of the Earthworm file 
     53hierarchy using the top-level Makefile on both NT and Solaris. 
     54 
     55COMPILING THE DATABASE PART OF EARTHWORM 
     56 
     57SOLARIS:  
     58 
     59The changes described here are no longer needed, but if they are not performed, then you will receive extra  
     60warning messages when newly linking an Oracle based application.  
     61 
     62When building earthworm DBMS applications(ON A SOLARIS SYSTEM), a 
     63change may be made to an Oracle makefile (/opt/oracle/rdbms/lib/env_rdbms.mk to prevent harmless error messages. 
     64Go to the bottom of the file and comment out all lines in the file starting 
     65with the $(LIBCLNTSH) target definition, so that the file looks as below. 
     66The example provided is from Oracle8. 
     67#$(LIBCLNTSH): \ 
     68#            ${ORACLE_HOME}/lib/libclient.a ${ORACLE_HOME}/lib/libsql.a \ 
     69#            ${ORACLE_HOME}/lib/libnetv2.a ${ORACLE_HOME}/lib/libnttcp.a \ 
     70#            ${ORACLE_HOME}/lib/libnetwork.a ${ORACLE_HOME}/lib/libncr.a \ 
     71#            ${ORACLE_HOME}/lib/libcommon.a ${ORACLE_HOME}/lib/libgeneric.a \ 
     72#            ${ORACLE_HOME}/lib/libmm.a ${ORACLE_HOME}/rdbms/lib/xaondy.o \ 
     73#            ${ORACLE_HOME}/lib/libnlsrtl3.a ${ORACLE_HOME}/lib/libcore4.a \ 
     74#            ${ORACLE_HOME}/lib/libepc.a 
     75# $(SILENT)$(ECHO) "Building client shared library libclntsh.so ..." 
     76# $(SILENT)$(ECHO) "Call script $$ORACLE_HOME/bin/genclntsh ..." 
     77# $(GENCLNTSH) 
     78# $(SILENT)$(ECHO) "Built $$ORACLE_HOME/lib/libclntsh.so ... DONE" 
     79 
     80If you do not perform the described modifications, then you will get the  
     81following warning the first time you execute make in each directory (or the first  
     82time after you have executed "make clean"):  
     83Building client shared library libclntsh.so ... 
     84Call script /opt/oracle/bin/genclntsh ... 
     85/opt/oracle/bin/genclntsh 
     86cp: cannot create /opt/oracle/lib/libcommon9034.a: Permission denied 
     87chmod: WARNING: can't access /opt/oracle/lib/libcommon9034.a 
     88ar: archive, /opt/oracle/lib/libcommon9034.a, not found 
     89ld: fatal: file /opt/oracle/lib/libclntsh.so.1.0: cannot open file: Permission de 
     90nied 
     91ln: cannot create libclntsh.so: File exists 
     92Built /opt/oracle/lib/libclntsh.so ... DONE 
     93 
     94Genclntsh is a program executed by Oracle to build several libraries for your machine. It needs to  
     95be run once, at Oracle install time, but never again(unless you perform an OS or Oracle upgrade).  
     96Because of the way the makefiles come from Oracle, the make program will attempt to rerun the  
     97genclntsh script whenever it cannot find a record of it in the local .make.state file. The program  
     98runs, complains about not being able overwrite the libraries, and then completes harmlessly.  
     99This should not be harmful unless it is confusing to the person compiling.  
     100NOTE*: There is no negative consequence of performing the change described in the documentation.  
     101 
     102then: 
     103 
     104 - source run_test/params/ew_sol_sparc.cmd 
     105 - cd src/oracle 
     106 - make solaris   
     107  
     108NT 
     109  
     110 - run script run_test/params/ew_nt.cmd 
     111 - cd src\oracle\schema\src 
     112 - nmake nt 
     113 - cd src\oracle\apps\src 
     114 - nmake nt 
     115  
     116 
     117}}}