VirtualBox

source: vbox/trunk/src/libs/libxslt-1.1.22/vms/readme.vms@ 12198

Last change on this file since 12198 was 7296, checked in by vboxsync, 17 years ago

Added libxslt-1.1.22 sources.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Date Revision Author Id
File size: 4.7 KB
Line 
1Building XSLT under OpenVMS
2===========================
3
4Here's a summary of the issues I encountered when building XSLT under
5VMS. I'd previously done the same for the LIBXML package, on which
6XSLT depends.
7
8I present this list "as is" to hopefully act as a guide to anyone
9having similar problems in the future.
10
11That's it. Good luck!
12
13John A Fotheringham (jaf@jafsoft.com)
14November 2001
15
16
17Installation kit
18----------------
19
20- File attributes. When downloading essentially a Unix distribution,
21 some of the file attributes may not be correct... especially those
22 in the [.VMS] subdirectory. In EDT you could see line feeds and
23 carriage returns as <LF><CR> etc. To correct this use the command
24
25 $ set file <filespec> /attr=rfm=stm
26
27 This sets the record format to be "stream". Other variants may be
28 used instead depending on how you got the files onto your system.
29 Files will look okay in an EDT editor once the attributes are set.
30 Without this the command file may not run correctly, since it may
31 be interpreted as a single line.
32
33- VMS-specific files are in a [.VMS] directory. If you've found
34 this file then you already know this :-) This directory contains
35
36 BUILD_XSLT.COM - a build command file
37 README.VMS - these notes
38
39- Don't execute BUILD_LIBXML.COM until you've done all the
40 following
41
42 - read these notes
43 - define the logicals XMLOLB and LIBXML
44 - copy CONFIG.H to [.libxslt] and [.libexslt]
45 - reviewed the configuration section of BUILD_XSLT.COM, and in
46 particular update the module lists in line with MAKEFILE
47 - re-read these notes :-p
48
49 instructions for all these steps are below.
50
51- the XSLT package requires the LIBXML package to have been
52 previously been installed. The following logicals should be
53 defined
54
55 LIBXML - the directory containing LIBXML's .h files
56 XMLOLB - the directory to contain both the LIBXML and XSLT
57 object libraries
58
59- you'll need to copy config.h into the [.libxslt] and [.libexslt]
60 directories. If in the future a VMS-specific version is created,
61 use [.vms]config.vms instead.
62
63- The command file BUILD_XSLT.COM will do the following
64
65 - setup and test some logicals
66 - set def to the source directory
67 - compile modules and place them into a LIBXSLT.OLB library
68 - compile modules and place them into a LIBEZSLT.OLB library
69 - compile and link the XSLTPROC program
70 - set def back to the original directory (i.e. if it fails you
71 might not be where you started :-)
72
73 before running this command file review the configuration segment
74 at the top. In particular compare the lists of modules with those
75 in the most recent version of MAKEFILE.IN files sound in the source
76 directories. Instructions are contained in the command file itself.
77
78
79The TRIO package
80----------------
81- The libxml package uses a sub-package TRIO to provide some
82 functions not naturally available under VMS. These include support
83 for infinite and undefined numbers, and specialised print functions
84 like "snprintf"
85
86 To build this software we need to add
87
88 /IEEE_MODE=UNDERFLOW_TO_ZERO/FLOAT=IEEE
89
90 to the compile command for xsltutils, and to any main program
91 that uses this functionality. BUILD_XSLT.COM should do this
92 for you.
93
94 Without this you are likely to get run-time errors like this
95
96 %SYSTEM-F-HPARITH, high performance arithmetic trap, Imask=00000000,
97 Fmask=00000 400, summary=02, PC=000000000006A330, PS=0000001B
98 -SYSTEM-F-FLTINV, floating invalid operation, PC=000000000006A330,
99 PS=0000001B
100
101 If this occurs you'll need to locate the modules that need the
102 above switches applied
103
104
105Compiler and linker errors
106--------------------------
107
108- with respect to the TRIO package you'll get the error
109
110 "no main module for UNDERFLOW_TO_ZERO"
111
112 You can suppress this "expected" messages by using the compile command
113
114 $ CC /WARN=DISABLE=(NOMAINUFLO)
115
116- the Linker will report the following error
117
118 %LINK-W-MULDEF, symbol DECC$STRERROR multiply defined
119 in module DECC$SHR file SYS$COMMON:[SYSLIB]DECC$SHR.EXE;5
120
121 This is complaining that DECC$STRERROR is multiply defined, which
122 in turn is because this system symbol is getting added to LIBXML.OLB
123 when strio.c was compiled in the libxml package.
124
125 I'm not sure what the solution for this is, but this is a fairly
126 benign error.
127
128
129Changes made to the codebase
130----------------------------
131
132- In the module extensions.c the name
133
134 xsltExtModuleElementPreComputeLookup
135
136 is too long (more than 31 characters). The solution has been
137 to rename it to a shorter name on VMS builds, and to then
138 create a #define that maps the longer name to the shorter name,
139 so that all references to the longer name will work.
140
141 You may need to repeat this exercise with any future modules added.
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette