-
Notifications
You must be signed in to change notification settings - Fork 47
/
Copy pathREADME.INSTALL
205 lines (144 loc) · 7.09 KB
/
README.INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
Table of Content
A) Introduction
B) Installing MDSplus using packages/kits
C) Building MDSplus using Docker
D) Building MDSplus using configure and make
E) Special Notes
-----------------------------------------------------------------------------------
A) Introduction
To install or build/install MDSplus on unix systems, you will need to obtain the
MDSplus distribution from the MDSplus Github repository (see Section D), or you
can download the package manually (see Section B).
We recommend downloading the kit as a way to install MDSplus.
If building from source is required, then, we recommend:
1- building MDsplus using a Docker image (see Section C).
2- or, using bootstrap/configure/make (see Section D-2)
-----------------------------------------------------------------------------------
B) Installing MDSplus using packages/kits
This is the prefer option when installing MDSplus. In Section B and C, MDSplus
can be build and installed from source.
To download packages manually browse to
http://www.mdsplus.org/dist/
Select the desire OS type, e.g for Ubuntu 18 or RHEL8:
http://www.mdsplus.org/dist/Ubuntu18/
http://www.mdsplus.org/dist/rhel8/
Select the branch, i.e. stable or alpha and your system architecture:
http://www.mdsplus.org/dist/Ubuntu18/alpha/DEBS/amd64/
http://www.mdsplus.org/dist/rhel8/alpha/
-----------------------------------------------------------------------------------
C) Building MDSplus using Docker
The recommended way for building MDSplus from source is to use a Docker container.
On Linux systems that support docker you have the ability to build from MDSplus
sources for all the supported platforms except for MacOSX.
Once you have the sources (see Section D-1) you can execute the following command to
build an installer for the operating system of your choice:
$ mkdir build
$ cd build
$ ../mdsplus/deploy/build.sh --os=os-name --release
where os-name would be for example fc25 or ubuntu16. Please, see the comments
at the top of that script for details.
The available choices can be found by doing:
$ ls mdsplus/deploy/os/*.opts
This build.sh script will pull the necessary docker image from dockerhub.com
to build MDSplus for that platform. The build results should be in
subdirectories of the build directory and will include a full buildroot used
for constructing installers and the new package installers.
You do not need anything else installed on your system beside docker using
this method as all the libraries, compilers etc, are provided in the docker images
which are used to build MDSplus.
-----------------------------------------------------------------------------------
D) Building MDSplus using configure and make
The MDSplus source code is maintained on Github.
If you are interested in building MDSplus from the sources we recommend
downloading a tarball, or a zip file from there, or clonning the Github
repository:
1) Downloading the tarball/zip file:
-> choose 'stable' or 'alpha' - ""note alpha is the active development branch
and may contain untested code.""
-> choose 'zip' or 'tar.gz'
-> download the sources (choose one of):
wget https://github.com/MDSplus/mdsplus/archive/alpha.zip
wget https://github.com/MDSplus/mdsplus/archive/alpha.tar.gz
wget https://github.com/MDSplus/mdsplus/archive/stable.zip
wget https://github.com/MDSplus/mdsplus/archive/stable.tar.gz
-> expand the zip or tar.
Or, MDSplus repository can also be cloned from Github using:
$ git clone https://github.com/MDSplus/mdsplus.git
2) Building MDSplus
-> Firstly, confirm that you have installed the following softwares in your system:
Automake:
$ sudo apt install automake
Python:
$ sudo apt install python
Flex and Bison:
$ sudo apt install flex
$ sudo apt install bison
GPerf:
$ sudo apt install gperf
C++ compiler, GCC:
$ sudo apt update
$ sudo apt install build-essential
$ sudo apt-get install manpages-dev
JAVA JDK/JRE:
$ sudo apt install default-jre
$ sudo apt install default-jdk
Some extra libraries:
$ sudo apt-get install -y libxml2-dev
$ sudo apt-get install -y libreadline-dev
$ sudo apt-get install libmotif-dev
-> Then, cd to the MDSplus directory just cloned or untared:
$ cd mdsplus
-> Execute the following script:
$ ./bootstrap
-> Make a build directory, e.g:
$ mkdir ../build
-> cd to the build directory and execute the MDSplus configure script, followed by make:
$ cd ../build
$ ../mdsplus/configure
$ make
-----------------------------------------------------------------------------------
E) Special Notes
For D3D sites that want to build the MDSplus/d3d ptdata interface you must
first define an envionment variable D3DLIB_PATH set to the directory
containing the d3 access library, libd3. Then invoke configure as follows:
./configure --enable-d3d
You can build the Motif applications using the static libraries so that
the binaries can be used on systems where Motif is not installed. To enable
the use of static Motif libraries use the --enable-staticmotif flag:
./configure --enable-staticmotif
Certain optional packages installed on system may be incompatible with some
or all of the MDSplus package. We will try to keep a list of potential
problems found in this document along with possible workarounds.
F77 compiler problems:
If configure cannot locate an appropriate F77 compiler it will abort. If you
have an F77 compiler then define the environment variable F77 to the binary
for the compiler. If you don't have an F77 compiler, define environment
variable NOF77 to yes and it will allow the configure to continue. You can
build most of MDSplus without an f77 compiler.
LessTif conflicts:
1) If the LessTif package is installed then configure will find it before it
finds the real Motif package. LessTif is a marginal implementation of Motif
and the MDSplus X applications will not build or run using LessTif package.
To build on a system with LessTif installed do the following:
setenv LD_LIBRARY_PATH [motif-lib-directory]\:$LD_LIBRARY_PATH
setenv UILPATH [motif-bin-directory-where-uil-image-is]
./configure --x-libraries=[motif-library-directory] \
--x-includes=[motif-include-directory]
replacing the text inside the brackets (and the brackets) with the
location of the real Motif files.
SYBASE Open/CLient - IDL database connection
Sites with IDL, SYBASE Open/CLient libraries and Microsoft SQLSERVER
databases can use idlsql library for database connectivity. The idl
procedure in idl/Logbook/dbinfo.pro should be edited to reflect the
site specific database connectivity and security policies. The default
version assumes that the environment variable SYBASE_HOST contains
the name of the host from the sybase interfaces file. It looks for a
file $HOME/xxx.sybase_login, where xxx is the name of the sybase host,
if it finds it and can read it, it sends the first line as the username
and the second for the password, if not it sends $USER and a default
password.
NOTE - the environment variable SYBASE must point at the sybase distribution
in order for their libraries to function.
NOTE - if the sybase distribution is not /usr/local/sybase, configure
will not find the distribution unless you first set the environment
variable SYBASE to point the the distribution directory.