home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 29 Fixes_o / 29-Fixes_o.zip / csd211.rme < prev    next >
Text File  |  1996-01-15  |  22KB  |  563 lines

  1. # @(#) 1.4 src/buildcsd/README.CSD, som, som2.1
  2. # 4/27/95 08:09:29 ¢4/27/95 19:04:23|
  3. # 10H9767, 10H9769
  4. # (C) COPYRIGHT International Business Machines Corp. 1992,1995
  5. # All Rights Reserved
  6. # Licensed Materials - Property of IBM
  7.  
  8. Instructions for using the CSD211 update for SOMobjects 2.1
  9. ====================================================================
  10.  
  11. To use this update you must have already installed SOMobjects on your
  12. system.  This update works for the Toolkit, Workstation, and Workgroup.
  13. To begin the update you need to be in the SOMBASE directory.
  14.  
  15. YOU MUST ALSO ENSURE THAT THE "SOMBASE", "PATH", "LIBPATH", "SMINCLUDE",
  16. ENVIRONMENT VARIABLES HAVE BEEN SET-UP ACCORDING TO THE SOMobjects 2.1
  17. INSTALLATION INSTRUCTIONS.
  18.  
  19. DISK REQUIREMENTS:
  20. =================
  21. You must have 10MB of free disk space prior to installing this update.
  22. Following the update there are some files that you can remove to reclaim
  23. space.
  24.  
  25. Please ensure that you have AT LEAST 1MB free in the directory that
  26. you are running this update AFTER you have downloaded and UNPACKED
  27. the update program and file.
  28.  
  29. Windows Users:
  30. =============
  31.  
  32. Change to the drive in which SOM is installed (e.g. C:)
  33. D:\> C:
  34.  
  35. Change directory to %SOMBASE% (assume %SOMBASE% = "C:\SOM"):
  36. C:\> cd %SOMBASE%
  37.  
  38. Download the csd files "csd211.ex_" and "csd211.wi_" and the wunpack.exe
  39. file to the %SOMBASE% directory.  Before using the update you will need
  40. to unpack these files using the wunpack.exe file:
  41. C:\SOM> wunpack csd211.ex_ csd211.exe
  42. C:\SOM> wunpack csd211.wi_ csd211.win
  43.  
  44. You are now ready to run the update:
  45. C:\SOM> csd211
  46.  
  47. NOTE:
  48. =====
  49. By default, the CSD will only overwrite files that are older than the ones
  50. contained in the CSD data file.
  51. If you want to force the overwrite, regardless of the dates then you
  52. should type:
  53. C:\SOM> csd211 -f
  54.  
  55. The update will do two main things:
  56.  
  57. 1) Update any files that have changed since the last update.
  58. 2) Rebuild header files. (This will take most of the time.)
  59.  
  60. YOU MUST NOW REBOOT THE SYSTEM TO FINISH THE UPDATE!
  61.  
  62. Note: the update for this CSD does not update your AUTOEXEC.BAT file as did
  63. some earlier SOMobjects CSD's.
  64.  
  65. When you reboot your system, it will run SOMCORBA if you have selected
  66. those C bindings.  If you also use C++ bindings, the system will run
  67. SOMXH following the reboot.
  68.  
  69. After the bindings are generated, you must pick up the new interface
  70. repository file.  This is discussed below in the "Interface Repository
  71. File Notes" section.
  72.  
  73. You may delete the following files after the update:
  74.    csd211.ex_
  75.    csd211.wi_
  76.    csd211.exe
  77.    csd211.win
  78.  
  79. ---------------------- The update is finished. ----------------------------
  80.  
  81. OS/2 Users:
  82. ==========
  83.  
  84. Change to the drive in which SOM is installed (e.g. C:)
  85. D:\> C:
  86.  
  87. Change directory to %SOMBASE% (assume %SOMBASE% = "C:\SOM"):
  88. C:\> cd %SOMBASE%
  89.  
  90. Download the csd files "csd211.ex@" and "csd211.os@" to the %SOMBASE%
  91. directory.  Before using the update you will need to unpack these files:
  92. C:\SOM> unpack csd211.ex@
  93. C:\SOM> unpack csd211.os@
  94.  
  95. You are now ready to run the update:
  96. C:\SOM> csd211
  97.  
  98. NOTE:
  99. =====
  100. By default, the CSD will only overwrite files that are older than the ones
  101. contained in the CSD data file.
  102. If you want to force the overwrite, regardless of the dates then you
  103. should type:
  104. C:\SOM> csd211 -f
  105.  
  106. The update will do three main things:
  107.  
  108. 1) Update any files that have changed since the last update.
  109. 2) Update the syslevel files.
  110. 3) Rebuild header files. (This will take most of the time.)
  111.  
  112. YOU MUST NOW REBOOT THE SYSTEM TO FINISH THE UPDATE!
  113.  
  114. Note: the update for this CSD does not update your CONFIG.SYS file like
  115. earlier SOMobjects CSD's.
  116.  
  117. You may delete the following files after the update:
  118.    csd211.ex@
  119.    csd211.os@
  120.    csd211.exe
  121.    csd211.os2
  122.  
  123. ---------------------- The update is finished. -----------------------------
  124.  
  125. AIX Users:
  126. ==========
  127.  
  128. Login as "root".
  129. (Ensure that LIBPATH, PATH, and SMINCLUDE are still set-up according to
  130. the SOMobjects 2.1 installation instructions after you have logged in
  131. as "root".)
  132.  
  133. Change directory to $SOMBASE (assume $SOMBASE = "/usr/lpp/som"):
  134. /#> cd $SOMBASE
  135.  
  136. FOR AIX 3.2.5
  137. =============
  138.  
  139. Download the csd files "csd211.325.Z" and "csd211.aix.Z" to the $SOMBASE
  140. directory. Before using the update you will need to uncompress these files:
  141. /usr/lpp/som#> uncompress csd211.325.Z csd211.aix.Z
  142. /usr/lpp/som#> chmod a+x csd211.325
  143.  
  144. You are now ready to run the update:
  145. /usr/lpp/som#> csd211.325
  146.  
  147. *********************************************************************
  148.  
  149. FOR AIX 4.1.1
  150. =============
  151.  
  152. Download the csd files "csd211.411.Z" and "csd211.aix.Z" to the $SOMBASE
  153. directory. Before using the update you will need to uncompress these files:
  154. /usr/lpp/som#> uncompress csd211.411.Z csd211.aix.Z
  155. /usr/lpp/som#> chmod a+x csd211.411
  156.  
  157. You are now ready to run the update:
  158. /usr/lpp/som#> csd211.411
  159.  
  160. *********************************************************************
  161.  
  162. NOTE:
  163. =====
  164. By default, the CSD will only overwrite files that are older than the ones
  165. contained in the CSD data file.
  166. If you want to force the overwrite, regardless of the dates then you
  167. should type:
  168. /usr/lpp/som#> csd211.325 -f
  169. or
  170. /usr/lpp/som#> csd211.411 -f
  171.  
  172. The update will do three main things:
  173.  
  174. 1) Update any files that have changed since the last update.
  175. 2) Set the fix level for installp (for somk only).
  176. 3) Rebuild header files. (This will take most of the time.)
  177.  
  178. ---------------------- The update is finished. -----------------------------
  179.  
  180.  
  181. Interface Repository File Notes:
  182. ================================
  183.  
  184. * Interface Repository Files (IR Files):
  185.   This update includes two new IR Files in the "etc" directory:
  186.   "somnew.ir" and "som211.ir".
  187.  
  188.   "somnew.ir" is a complete IR File replacement for the GA "som.ir"
  189.   "som211.ir" contains just the idl files that have changed since GA.
  190.  
  191.   If you haven't changed the GA "som.ir" (this is the most likely case)
  192.   then you can replace it with "somnew.ir":
  193.  
  194.     OS/2:
  195.     C:\> cd %SOMBASE%/etc
  196.     C:\%SOMBASE%\ETC> ren som.ir somir.ga
  197.     C:\%SOMBASE%\ETC> ren somnew.ir som.ir
  198.  
  199.     AIX:
  200.     cd $SOMBASE/etc
  201.     $ mv som.ir somir.ga
  202.     $ mv somnew.ir som.ir
  203.  
  204.     WIN:
  205.     C:\> cd %SOMBASE%/etc
  206.     C:\%SOMBASE%\ETC> ren som.ir somir.ga
  207.     C:\%SOMBASE%\ETC> ren somnew.ir som.ir
  208.  
  209.   If you have changed the GA "som.ir" then you can pickup the changes
  210.   by adding "som211.ir" into your SOMIR path, for example:
  211.  
  212.     OS/2:
  213.     C> set SOMIR=%SOMBASE%\etc\som211.ir;%SOMBASE%\etc\som.ir;SOM.IR
  214.  
  215.     AIX:
  216.     $  SOMIR="$SOMBASE/etc/som211.ir:$SOMBASE/etc/som.ir:./som.ir";
  217.        export SOMIR
  218.  
  219.     WIN:
  220.     C> set SOMIR=%SOMBASE%\etc\som211.ir;%SOMBASE%\etc\som.ir;SOM.IR
  221.  
  222.   Or, if you have the all of the ".idl" files available and the SOM Compiler
  223.   "sc", you can rebuild the IR file:
  224.  
  225.     OS/2:
  226.     C> set SOMIR=%SOMBASE%\etc\som.ir
  227.     C> cd %SOMBASE%\include
  228.     C> sc -usir *.idl
  229.  
  230.     AIX:
  231.     $  SOMIR="$SOMBASE/etc/som.ir"; export SOMIR
  232.     $  cd $SOMBASE/include
  233.     $  sc -usir *.idl
  234.  
  235.     WIN:
  236.     C> set SOMIR=%SOMBASE%\etc\som.ir
  237.     C> cd %SOMBASE%\include
  238.     C> sc -usir *.idl
  239.  
  240. Fixes included in this Update CSD211
  241. ===========================================
  242.  
  243. CSD211 - New distribution utility
  244.  
  245. Feature number: 10419
  246.  
  247. Note:  The new distribution utility is provided as-is to assist
  248.        people who install distributed applications.  It is NOT
  249.        to be considered part of any SOMobjects product and will
  250.        not be supported.
  251.  
  252.  
  253. Implementation Repository Distribution
  254. --------------------------------------
  255.  
  256. The Implementation Repository distribution utility has been written
  257. to provide a means to distribute server and class information across
  258. Implementation Repositories.  Since the selected information can be
  259. distributed to other Implementation Repositories, the Implementation
  260. Repository no longer needs to be shared.  With this utility,
  261. information in the Implementation Repository can be grouped according
  262. to selection identifiers.  A distribution file can be created using
  263. the selection identifiers to decide which information is to be
  264. included.  The distribution file can then be transported to other
  265. hosts and the information can be applied to the other Implementation
  266. Repositories.
  267.  
  268. The Implementation Repository distribution utility uses selection
  269. identifiers to group the server and class information to be
  270. distributed to other Implementation Repositories.  A selection
  271. identifier is a string, with a maximum of 49 bytes, which is used to
  272. group server information to be distributed. (Note:  on OS/2 and AIX,
  273. selection identifiers are implemented as class associations in the
  274. Implementation Repository.  The selection identifiers will be preceded
  275. with a "*" to denote that the class is really a selection identifier.)
  276.  
  277. The Implementation Repository Distribution utility is a command line
  278. utility with four options:  add selection identifier, remove selection
  279. identifier, create distribution file, apply distribution file.
  280.  
  281.  
  282. Add selection identifier
  283.  
  284.    To add a selection identifier to a server in the Implementation
  285.    Repository, specify the "a" option, followed by the selection
  286.    identifier and then the alias name of the server.  For example:
  287.  
  288.              dstf  "a" "Headquarters_1" "Headquarters"
  289.  
  290.    associates the selection identifier "Headquarters_1" with the
  291.    server alias "Headquarters" in the Implementation Repository.
  292.  
  293.  
  294. Remove selection identifier
  295.  
  296.    To remove a selection identifier from a server in the
  297.    Implementation Repository, specify the "r" option, followed
  298.    by the selection identifier and then the alias name of the
  299.    server.  For example:
  300.  
  301.              dstf  "r" "Headquarters_1" "Headquarters"
  302.  
  303.    removes the association of selection identifier "Headquarters_1"
  304.    with the server alias "Headquarters" in the Implementation
  305.    Repository.
  306.  
  307.  
  308. Create Distribution File
  309.  
  310.    To create an Implementation Repository distribution file to be
  311.    distributed to other Implementation Repositories,  specify the
  312.    "C" option, followed by the name of the file to be created and
  313.    a list of selection identifier to be included in the file.
  314.    For example:
  315.  
  316.              dstf  "C" "My_Company" "My_Company_Headquarters"
  317.                    "My_Company_Branch1" "My_Company_Branch2"
  318.  
  319.    creates a distribution file "My_Company" containing the server and
  320.    class information for all servers associated with the selection
  321.    identifiers  "My_Company_Headquarters" "My_Company_Branch1"
  322.    "My_Company_Branch2".
  323.  
  324.    A distribution file can also be created to contain all information
  325.    in an Implementation Repository by specifying "*ALL" for the
  326.    selection identifier.  For example:
  327.  
  328.              dstf "C" "All_Implrep" "*ALL"
  329.  
  330.    creates a distribution file "All_Implrep" that contains all the
  331.    information in the Implementation Repository.
  332.  
  333.  
  334. Apply Distribution File
  335.  
  336.    To apply an Implementation Repository distribution file to the
  337.    Implementation Repositories, specify the "A" option, followed by
  338.    the name of the file to be applied, the apply option, and a list
  339.    of selection identifiers to be applied.  There are 2 options that
  340.    can be used when applying a distribution file:
  341.       "10" Merge - Add any new server information in the distribution
  342.                    file to the implementation repository.  Update any
  343.                    existing server with the information in the
  344.                    distribution file.
  345.       "20" Replace - Remove any entries in the Implementation
  346.                    Repository that are associated with the specified
  347.                    selection identifier.  Add the entries from the
  348.                    distribution file to the Implementation Repository.
  349.  
  350.    For example:
  351.              dstf  "A" "My_Company" "10" "My_Company_Headquarters"
  352.                    "My_Company_Branch1" "My_Company_Branch2"
  353.  
  354.    applies the distribution file "My_Company" for all servers
  355.    associated with the selection identifiers  "My_Company_Headquarters"
  356.    "My_Company_Branch1" "My_Company_Branch2".  Any existing servers in
  357.    the Implementation Repository associated with the specified
  358.    selection identifiers will be updated using the information in the
  359.    distribution file.  If a server associated with a selection
  360.    identifier does not exist in the distribution file, its information
  361.    in the Implementation Repository will not be changed.
  362.  
  363.  
  364.              dstf  "A" "My_Company" "20" "My_Company_Headquarters"
  365.                    "My_Company_Branch1" "My_Company_Branch2"
  366.  
  367.    applies the distribution file "My_Company" for all servers
  368.    associated with the selection identifiers  "My_Company_Headquarters"
  369.    "My_Company_Branch1" "My_Company_Branch2".  Any existing servers in
  370.    the Implementation Repository associated with the specified
  371.    selection identifiers will be deleted and replaced with the entries
  372.    from the distribution file.
  373.  
  374.  
  375. Restriction(s)
  376.  
  377.    The distribution tool currently has the limitation that
  378.    a distribution file cannot be applied to a nonexistent
  379.    Implementation Repository.  (There must be valid files
  380.    in the directory specified by SOMDDIR before attempting
  381.    to apply a distribution file.)
  382.  
  383. ----------------------------------------------------------------------
  384.  
  385. CSD211 - New DSOM functions
  386.  
  387. (Defect 9772)
  388.  
  389. Two new DSOM functions have been added:
  390.  
  391.         SOMD_YesORBfree is a companion to SOMD_NoORBfree.
  392.         It signifies that the application, which had previously
  393.         called SOMD_NoORBfree, now wishes to free ORB-allocated
  394.         memory using ORBfree rather than SOMFree.
  395.  
  396.         SOMD_QueryORBfree allows an application to determine
  397.         whether SOMD_NoORBfree or SOMD_YesORBfree has been
  398.         called (whether an application should be freeing ORB-allocated
  399.         memory using ORBfree or SOMFree).  It returns TRUE if ORBfree
  400.         should be used and FALSE if SOMFree should be used.
  401.  
  402. Notes regarding SOMD_NoORBfree/SOMD_YesORBfree and SOMD_QueryORBfree:
  403.  
  404. 1.  SOMD_NoORBfree and SOMD_YesORBfree affect global process state,
  405. hence these functions must be used carefully by threaded applications
  406. to avoid conflict.
  407.  
  408. 2.  Applications must be written to insure that the same mode of
  409. memory management is in effect when memory is allocated as when it
  410. is freed; otherwise, memory leaks will result.  For example, if an
  411. application calls SOMD_NoORBfree, makes a remote method call resulting
  412. in some memory being allocated, calls SOMD_YesORBfree, then (because
  413. SOMD_QueryORBfree now returns TRUE), calls ORBfree on that memory, the
  414. memory will not be freed.  Similarly, if an application calls
  415. SOMD_YesORBfree, makes a remote call, calls SOMD_NoORBfree, then
  416. (becuase SOMD_QueryORBfree now returns FALSE), uses SOMFree to free
  417. the data structure, then although the data structure itself is freed,
  418. the memory that DSOM uses to maintain information about the memory
  419. (e.g., its TypeCode) will not be freed.
  420.  
  421. ----------------------------------------------------------------------
  422.  
  423. CSD211 - Features
  424.  
  425. Features
  426. --------
  427.  
  428.  7359 - It's not a fatal error to delete an unregistered server
  429.         via regimpl - an error message will be produced only when
  430.         SOMDDEBUG is set
  431.  8011 - Allow servers to be designated nonstoppable - via a new
  432.         "-n {on║off}" option to regimpl.  When a server is registered
  433.         as nonstoppable, neither the "dsom stop" command nor the
  434.         somdShutdownServer method can be used to terminate the server.
  435.  
  436. ----------------------------------------------------------------------
  437.  
  438. CSD211 - Defects
  439.  
  440. Defects
  441. -------
  442.  3256      The COM emitter adds invalid comments to the .c file
  443.  3406      The .xh compiler generates annoying messages
  444.  3561      Incorrect marshalling of TypeCodes in DSOM
  445.  6369      Fixes for problems in 2.1 Collection Classes
  446.             1. somf_TDictionary_somfKeyAtM and
  447.                somf_TDictionary_somfKeyAtMF get a "Segmentation fault
  448.                (core dumped)" if the value being passed is not in
  449.                the dictionary.
  450.             2. somf_TCollection_somfMember will delete objects
  451.                from the collection.
  452.             3. If somf_TDeque_somfTDequeInitD is called on a non-empty
  453.                TDeque, the objects from the second TDeque are added to
  454.                it.
  455.             4. somf_TPrimitiveLinkedList_somfRemove will core dump if
  456.                user tries to remove an object that does not exist in
  457.                the linked list.
  458.             5. somf_TSet_somfXorSS does not set the count correctly
  459.                under certain conditions.
  460.             6. somf_TSortedSequence_somfOccurrencesOf will core dump
  461.                if it is called on a TSortedSequence object that is
  462.                empty.
  463.  6466      problem with size of unions calculated in tcSize
  464.  6989      If somf_TSequence_somfCreateIterator is not overridden,
  465.            incorrect message will be displayed.
  466.  7206      Comment such as "// /_Fachtyp_/" causes exception when using
  467.            sc.
  468.  7223      Error message is not generated by the C and C++ emitters if
  469.            noself modifier is used for methods.
  470.  7290      The // comment at begin of IDL file causes incorrect error
  471.            message when running 'sc'.
  472.  7334      If the staticdata modifier is used for an attribute or
  473.            instance variable the instance data access macro is defined
  474.            incorrectly in the .ih.
  475.  7436      The pdl emitter still assumes that there is only a single
  476.            interface or module) per idl file, and emits duplicate
  477.            information into the pdl file.
  478.  7447      TypeCode_size & TypeCode_alignment not computed correctly on
  479.            AIX for structs containing doubles
  480.  7516      If the somfTPriorityQueue class is used, _somfInsert will
  481.            insert objects into the wrong order.
  482.  7779      emitih: BeginInitializer generated incorrectly
  483.  7879      SOM generated macro name '_value' conflicts with the '_value'
  484.            field of the CORBA standard type 'any'.
  485.  7921      DSOM does not marshall 'any' parameter with TypeCode tk_null
  486.            or tk_void
  487.  8046      sc -r option
  488.  8060      SOM Compiler problem - duplicate sequence type nodes.
  489.  8068      SOMD peer example for Windows has unneeded DSOMEventCallBack
  490.            and TimerEventCallBack
  491.  8076      The file produced by newemit (gen_emit.efc) does not handle
  492.            opening the emitfile correctly.
  493.  8161      If the source file is not in current directory, no PDL file
  494.            is emitted by the PDL Emitter and "The file cannot be found."
  495.            message is generated.
  496.  8187      Deadlock after invoking oneway method from a DSOM server
  497.  8218      DSOM does not correctly marshall an out struct containing a
  498.            NULL string
  499.  8219      Error in SOM compiler help message
  500.  8237      Ability to specify multithreaded server using pregimpl
  501.            (OS/2 only)
  502.  8339      In C++ binding, the .xh and .xih files are generated
  503.            differently between using "=" and ":". A coredump will
  504.            be generated if metaclass : ... is used.
  505.  8362      Error in the CTOI.CMD file when converting .CSC files to
  506.            .IDL files.
  507.  8396      Only the comment at the end of a union will be handled by
  508.            the emitter and the emitter framework. Comments within
  509.            the union are ignored.
  510.  8420      If object pointers are in the struct, only the first object
  511.            pointer is handled correctly by the .h compiler.
  512.  8503      Allow a DSOM client to continue communicating with a server
  513.            after the server goes down and comes back up
  514.  8556      -d option on sc
  515.  8615      SOM produces unfriendly error message "YOU LOSE BIGTIME"
  516.            when an iterator is used before calling somfFirst
  517.  8702      DSOM PERSIST_STORE error (AIX)
  518.  9218      regimpl problem writing to read-only file (regimpl terminates
  519.            with no error message unless SOMDDEBUG is set)
  520.  9306      Name clash between som and cset (identifier "version" in
  521.            somdtype.idl)
  522.  9463      Using delete operator with proxies
  523.  9571      If an overloaded initializer is declared with no additional
  524.            parameters, any initializers declared after it will not be
  525.            properly emitted in the .xh file.
  526.  9694      A class object is implicitely created each time the dll
  527.            is loaded and never freed.
  528.  9740      On OS/2 there is no way to have all classes traced as
  529.            described in the documentation (2.1 Users Guide, pg 10-9).
  530.  9772      How to know when SOMD_NoORBfree has been called.  (A new
  531.            function, SOMD_QueryORBfree, has been added.)
  532.  9863      Having a large set of -I include paths generates an error
  533.            message even if emptyfile.idl is empty.
  534.  9876      When sommBeforeMethod returns FALSE, the primary method is
  535.            still invoked
  536. ----------------------------------------------------------------------
  537.  
  538. CSD211 - Duplicate or not reproducible defects
  539.  
  540.  
  541. The following defects are either duplicates of fixed defects
  542. or are not reproducible under the new level:
  543.  
  544. Defects
  545. -------
  546.  2657      memory leaks found when using contents method
  547.  3387      _System calling convention.
  548.  5457      Possible Persistence Framework bugs
  549.  6015      Persistence Framework woe
  550.  6425      unknown SOMFree calls
  551.  7510      scopes, bugs and docs
  552.  7570      Name clashes
  553.  8500      InterfaceRepository, CSet++ HeapView Debugger and memory leak
  554.  8654      Variable syntax error in somenv.csh
  555.  8805      GPF on server when server started after an abnormal stop
  556.  8870      Before/After hook used with DSOM
  557.  8922      passthru behavior
  558.  9158      Change default for .xh emitter to be "-mnocfront" instead
  559.            of "-mcfront"
  560.  9864      somDestruct called more often than needed
  561.  
  562. ----------------------------------------------------------------------
  563.