Project

General

Profile

NetDRMS Installation » History » Version 218

Pablo Alingery, 07/06/2016 16:01

1 50 Herve Ballans
{{toc}}
2 1 Herve Ballans
3 1 Herve Ballans
h1. NetDRMS Installation
4 1 Herve Ballans
5 1 Herve Ballans
h2. Requirements
6 1 Herve Ballans
7 47 Pablo Alingery
h3. Configuring production environment
8 1 Herve Ballans
9 121 Pablo Alingery
Adding user production (en root)
10 47 Pablo Alingery
11 1 Herve Ballans
<pre>
12 1 Herve Ballans
# adduser production
13 1 Herve Ballans
# addgroup ias
14 1 Herve Ballans
# adduser production ias
15 1 Herve Ballans
</pre>
16 1 Herve Ballans
17 49 Herve Ballans
h3. Configure /home/production/.profile
18 1 Herve Ballans
19 49 Herve Ballans
Adding environment variables
20 1 Herve Ballans
21 1 Herve Ballans
<pre>
22 122 Herve Ballans
#Modif Herve.B Pablo.A 12/05/2016
23 122 Herve Ballans
24 1 Herve Ballans
PATH="/usr/local/netdrms_current/bin/linux_x86_64:$PATH"
25 49 Herve Ballans
PATH="/usr/local/netdrms_current/scripts:$PATH"
26 122 Herve Ballans
PATH="/usr/local/jmd/bin:$PATH"
27 122 Herve Ballans
PATH="/usr/local/jmd/scripts:$PATH"
28 141 Pablo Alingery
#The following is not needed as installed with 'apt-get install' 
29 141 Pablo Alingery
#PATH="/usr/local/pgsql/bin:$PATH"
30 122 Herve Ballans
PATH="/usr/local/netdrms-tools/scripts:$PATH"
31 49 Herve Ballans
#2014-12-17 Avec Herve et Pablo on pense que la ligne suivante est intutile as it is f.. install in /usr/local/lib
32 140 Pablo Alingery
PATH="/usr/local/cfitsio:$PATH"
33 1 Herve Ballans
#Done
34 49 Herve Ballans
35 122 Herve Ballans
DERBY_HOME=/usr/local/jmd/databases/derby/derbyBD
36 49 Herve Ballans
export DERBY_HOME
37 49 Herve Ballans
38 49 Herve Ballans
export CVSROOT=:pserver:anonymous@solarch.tuc.noao.edu:2401/vtarc1/vso/cvsroot
39 49 Herve Ballans
</pre>
40 49 Herve Ballans
41 162 Pablo Alingery
h3. Configure /varl/lib/postgres/.profile
42 161 Pablo Alingery
43 163 Pablo Alingery
Add to $PATH so postgres can exeute command like initdb
44 161 Pablo Alingery
45 161 Pablo Alingery
<pre>
46 161 Pablo Alingery
#Modif Herve.B Pablo.A 19/05/2016
47 161 Pablo Alingery
PATH="/usr/lib/postgresql/9.4/bin:$PATH"
48 161 Pablo Alingery
</pre>
49 161 Pablo Alingery
50 125 Pablo Alingery
h3. Setting privileges for SUMS_MANAGER
51 87 Herve Ballans
52 126 Pablo Alingery
Please modify file /etc/sudoers so user 'production' will be able to execute  'sum_chown' that we will locate in the dir : /usr/local/bin . See below
53 125 Pablo Alingery
Add to /etc/sudoers the following line :
54 1 Herve Ballans
	production host=NOPASSWD:/usr/local/bin/sum_chmown
55 1 Herve Ballans
56 127 Pablo Alingery
h3. Set passwords file for db postgres 
57 1 Herve Ballans
58 127 Pablo Alingery
Please create file .pgpass with the following information for user 'production" so he will be able to connect without password as 'production' or 'postgres' to 2 db that we will create later ias_sdo and ias_sdo_sums.
59 1 Herve Ballans
60 1 Herve Ballans
61 1 Herve Ballans
.pgpass content :
62 1 Herve Ballans
<pre>
63 128 Pablo Alingery
	#hostname:5432:ias_sdo:production: 
64 128 Pablo Alingery
	#hostname:5434:ias_sdo_sums:production: 
65 128 Pablo Alingery
	#hostname:5432:ias_sdo:postgres: 
66 128 Pablo Alingery
	#hostname:5434:ias_sdo_sums:postgres
67 1 Herve Ballans
</pre>
68 128 Pablo Alingery
69 129 Pablo Alingery
where #hostname is the name of your server
70 129 Pablo Alingery
71 129 Pablo Alingery
72 131 Pablo Alingery
%{color:red}WARNING : change hostname when migrate sdo-new to sdo%
73 1 Herve Ballans
74 143 Pablo Alingery
75 132 Pablo Alingery
76 133 Pablo Alingery
h3. Install missing libraries 
77 1 Herve Ballans
78 133 Pablo Alingery
• libreadline-dev (but already installed with postgresql)
79 133 Pablo Alingery
• libssl-dev 
80 133 Pablo Alingery
• libpam0g-dev 
81 133 Pablo Alingery
• libperl-dev 
82 1 Herve Ballans
83 133 Pablo Alingery
NB : Already done in Debian 8.4 Jessy
84 1 Herve Ballans
<pre>
85 1 Herve Ballans
# apt-get install $library_name
86 1 Herve Ballans
</pre> 
87 1 Herve Ballans
where
88 1 Herve Ballans
	_$library_name_ is the name of library
89 19 Pablo Alingery
90 1 Herve Ballans
Then to update path on libraries, please type :
91 1 Herve Ballans
<pre>
92 19 Pablo Alingery
# ldconfig
93 1 Herve Ballans
</pre>
94 1 Herve Ballans
95 1 Herve Ballans
h3. Reconfigure locale
96 1 Herve Ballans
97 1 Herve Ballans
<pre>
98 1 Herve Ballans
# dpkg-reconfigure locales
99 1 Herve Ballans
</pre>
100 1 Herve Ballans
101 1 Herve Ballans
select fr_FR.UTF8 UTF8 and unselect en_US.UTF-8
102 1 Herve Ballans
103 1 Herve Ballans
localedef -i en_US -f UTF-8 en_US.UTF-8
104 1 Herve Ballans
105 1 Herve Ballans
(see here : [[http://www.thomas-krenn.com/en/wiki/Perl_warning_Setting_locale_failed_in_Debian]])
106 1 Herve Ballans
107 134 Pablo Alingery
h3. Install gfortran packages
108 1 Herve Ballans
109 1 Herve Ballans
<pre>
110 1 Herve Ballans
# apt-get install gfortran swig
111 1 Herve Ballans
</pre>
112 1 Herve Ballans
113 1 Herve Ballans
h3. Installation of cfitsio library
114 1 Herve Ballans
115 135 Pablo Alingery
In /usr/local dir
116 135 Pablo Alingery
117 135 Pablo Alingery
Version 3.39 (currently on sdo : 3.24)
118 1 Herve Ballans
<pre>
119 135 Pablo Alingery
# wget ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio3390.tar.gz
120 1 Herve Ballans
</pre>
121 137 Pablo Alingery
Untar and  decompression
122 1 Herve Ballans
<pre>
123 136 Pablo Alingery
# tar -xzvf cfitsio3390.tar.gz
124 1 Herve Ballans
</pre> 
125 1 Herve Ballans
126 139 Pablo Alingery
Go into /usr/local and type
127 1 Herve Ballans
128 1 Herve Ballans
su - root and :
129 1 Herve Ballans
<pre>
130 1 Herve Ballans
# ./configure --prefix=/usr/local
131 1 Herve Ballans
# make 
132 1 Herve Ballans
# make install
133 135 Pablo Alingery
</pre>
134 118 Pablo Alingery
135 144 Pablo Alingery
h3. Installation of apache2 and lib perl
136 118 Pablo Alingery
137 118 Pablo Alingery
<pre>
138 118 Pablo Alingery
# apt-get install apache2
139 118 Pablo Alingery
140 118 Pablo Alingery
# apt-get install libjson-perl
141 118 Pablo Alingery
142 118 Pablo Alingery
# apt-get install libapache2-mod-perl2
143 118 Pablo Alingery
</pre>
144 1 Herve Ballans
145 183 Herve Ballans
h3. Installation of postgresql
146 1 Herve Ballans
147 145 Pablo Alingery
Into 'root'
148 145 Pablo Alingery
 
149 145 Pablo Alingery
<pre>
150 147 Pablo Alingery
apt-get install postgresql-9.4 postgresql-client-9.4 
151 145 Pablo Alingery
</pre>
152 145 Pablo Alingery
153 213 Herve Ballans
h3. Installation of python3
154 209 Pablo Alingery
155 209 Pablo Alingery
Into 'root'
156 209 Pablo Alingery
 
157 209 Pablo Alingery
<pre>
158 209 Pablo Alingery
apt-get install python3 
159 1 Herve Ballans
</pre>
160 210 Pablo Alingery
161 211 Pablo Alingery
Add some modules psycopg2 (postgres connector) and pySmartDL (Download manager) 
162 210 Pablo Alingery
163 210 Pablo Alingery
<pre>
164 210 Pablo Alingery
apt-get install python3-psycopg2
165 210 Pablo Alingery
</pre>
166 210 Pablo Alingery
167 210 Pablo Alingery
<pre>
168 210 Pablo Alingery
apt-get install python3-psycopg2
169 210 Pablo Alingery
</pre>
170 210 Pablo Alingery
171 210 Pablo Alingery
Add python3-pip for modules within python3
172 210 Pablo Alingery
173 210 Pablo Alingery
<pre>
174 210 Pablo Alingery
apt-get install python3-pip
175 1 Herve Ballans
</pre>
176 212 Pablo Alingery
177 212 Pablo Alingery
<pre>
178 212 Pablo Alingery
pip3 install pySmartDL
179 212 Pablo Alingery
</pre>
180 1 Herve Ballans
181 213 Herve Ballans
Both python2.7 and 3.4 versions are installed on the system.
182 213 Herve Ballans
By default, the python2.7 is used.
183 213 Herve Ballans
In order to change in 3.4 by default, type :
184 213 Herve Ballans
<pre>
185 213 Herve Ballans
update-alternatives --config python
186 213 Herve Ballans
</pre>
187 209 Pablo Alingery
188 218 Pablo Alingery
189 218 Pablo Alingery
190 218 Pablo Alingery
h3. Installation of sdo_scripts
191 218 Pablo Alingery
192 218 Pablo Alingery
Installation des scripts de surveillance etc pour sdo
193 218 Pablo Alingery
194 218 Pablo Alingery
<pre>
195 218 Pablo Alingery
196 218 Pablo Alingery
</pre>
197 218 Pablo Alingery
198 218 Pablo Alingery
199 1 Herve Ballans
h2. NetDRMS databases
200 1 Herve Ballans
201 156 Pablo Alingery
into /var/lib/postgresql  (hard mount point separated,  7 disks 15000 tr/min in raid5 in order to distribute read and write) 
202 1 Herve Ballans
203 1 Herve Ballans
<pre>
204 158 Pablo Alingery
# cd /var/lib/postgresql
205 157 Pablo Alingery
# mkdir data  data_sums data_monitor
206 157 Pablo Alingery
# chown -R postgres:postgres * 
207 1 Herve Ballans
</pre>
208 1 Herve Ballans
209 160 Pablo Alingery
h3. Initialize 3 servers data,  data_sums, data_monitor
210 1 Herve Ballans
211 159 Pablo Alingery
Into postgres
212 1 Herve Ballans
<pre>
213 1 Herve Ballans
# su - postgres
214 1 Herve Ballans
215 1 Herve Ballans
$ initdb --locale=C -D data -A md5 -W
216 1 Herve Ballans
(no password)
217 2 Herve Ballans
218 2 Herve Ballans
Success. You can now start the database server using:
219 2 Herve Ballans
220 2 Herve Ballans
    postgres -D data
221 2 Herve Ballans
or
222 2 Herve Ballans
    pg_ctl -D data -l logfile start
223 2 Herve Ballans
224 1 Herve Ballans
225 1 Herve Ballans
$ initdb --locale=C -D data_sums -A md5 -W
226 2 Herve Ballans
(no password)
227 2 Herve Ballans
228 2 Herve Ballans
Success. You can now start the database server using:
229 2 Herve Ballans
230 2 Herve Ballans
    postgres -D data_sums
231 2 Herve Ballans
or
232 2 Herve Ballans
    pg_ctl -D data_sums -l logfile start
233 8 Pablo Alingery
234 8 Pablo Alingery
$ initdb --locale=C -D data_monitor -A md5 -W
235 8 Pablo Alingery
(no password)
236 8 Pablo Alingery
237 8 Pablo Alingery
Success. You can now start the database server using:
238 8 Pablo Alingery
239 8 Pablo Alingery
    postgres -D data_monitor
240 8 Pablo Alingery
or
241 8 Pablo Alingery
    pg_ctl -D data_monitor -l logfile start
242 2 Herve Ballans
</pre>
243 2 Herve Ballans
244 1 Herve Ballans
245 1 Herve Ballans
246 1 Herve Ballans
Edition des fichiers postgresql.conf pour configurer les bons ports d'écoute :
247 1 Herve Ballans
listen_addresses = '*'
248 1 Herve Ballans
data -> port 5432
249 10 Pablo Alingery
data_sums -> port 5434
250 1 Herve Ballans
data_monitor -> port 5436
251 10 Pablo Alingery
252 165 Pablo Alingery
Edit files data*/pg_hba.conf : replace 'md5' by 'trust'
253 1 Herve Ballans
<pre>
254 1 Herve Ballans
#"local"
255 1 Herve Ballans
local   all             all                                     trust
256 1 Herve Ballans
#"IPv4"
257 1 Herve Ballans
host   all             all                                     trust
258 1 Herve Ballans
</pre>
259 166 Pablo Alingery
260 166 Pablo Alingery
h3. Tunning postgres 
261 166 Pablo Alingery
262 166 Pablo Alingery
In file postgres.conf ( according to https://www.qwant.com/?q=Tunning+postgres+server+9.4+&client=firefox  )
263 166 Pablo Alingery
264 168 Pablo Alingery
shared_buffer=4096MB %{color:red}So 1/12 of the total RAM memory available%
265 1 Herve Ballans
266 169 Pablo Alingery
work_mem = 24MB
267 168 Pablo Alingery
268 168 Pablo Alingery
maintenance_work_mem = 4096MB
269 1 Herve Ballans
270 169 Pablo Alingery
wal_buffers = 16MB
271 169 Pablo Alingery
272 169 Pablo Alingery
checkpoint_segments = 32
273 169 Pablo Alingery
274 169 Pablo Alingery
checkpoint_completion_target = 0.9
275 169 Pablo Alingery
276 169 Pablo Alingery
random_page_cost = 1.0
277 169 Pablo Alingery
278 169 Pablo Alingery
effective_cache_size = 16384MB so 1/4 of the max memory 
279 169 Pablo Alingery
280 170 Pablo Alingery
281 170 Pablo Alingery
282 170 Pablo Alingery
#log
283 169 Pablo Alingery
logging_collector = on 
284 169 Pablo Alingery
log_directory = 'pg_log' 
285 169 Pablo Alingery
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
286 169 Pablo Alingery
log_truncate_on_rotation = on           # If on, an existing log file with the
287 169 Pablo Alingery
log_rotation_age = 1d                   # Automatic rotation of logfiles will
288 170 Pablo Alingery
client_min_messages = error
289 170 Pablo Alingery
log_min_messages = error 
290 170 Pablo Alingery
log_min_duration_statement = 0
291 170 Pablo Alingery
292 170 Pablo Alingery
log_connections = on
293 170 Pablo Alingery
log_disconnections = on
294 170 Pablo Alingery
log_duration = off
295 170 Pablo Alingery
log_hostname = on
296 170 Pablo Alingery
log_line_prefix = '%t [%p]: %u@%h - %d :'  
297 170 Pablo Alingery
298 170 Pablo Alingery
track_counts = on
299 170 Pablo Alingery
autovacuum = on 
300 170 Pablo Alingery
301 170 Pablo Alingery
extra_float_digits = 3
302 170 Pablo Alingery
303 177 Pablo Alingery
h3. Start the 3 databases :
304 1 Herve Ballans
305 1 Herve Ballans
<pre>
306 1 Herve Ballans
# su - postgres
307 196 Herve Ballans
$ cd /var/lib/postgresql
308 172 Pablo Alingery
$ pg_ctl -D data  start
309 172 Pablo Alingery
$ pg_ctl -D data_sums start
310 172 Pablo Alingery
$ pg_ctl -D data_monitor start
311 1 Herve Ballans
</pre>
312 174 Pablo Alingery
313 1 Herve Ballans
h3. Create the 3 databases :
314 181 Pablo Alingery
315 178 Pablo Alingery
Into user 'postgres'
316 1 Herve Ballans
317 179 Pablo Alingery
* createdb --locale C -E LATIN1 -T template0 ias_sdo
318 179 Pablo Alingery
* createdb --locale C -E LATIN1 -T template0 -p 5434 ias_sdo_sums
319 179 Pablo Alingery
* createdb --locale C -E LATIN1 -T template0 -p 5436 ias_sdo_monitor
320 54 Herve Ballans
321 182 Herve Ballans
h3. Automatic startup
322 182 Herve Ballans
323 182 Herve Ballans
Add following lines in the /etc/rc.local file :
324 182 Herve Ballans
325 182 Herve Ballans
<pre>
326 197 Herve Ballans
su -l -c "/usr/lib/postgresql/9.4/bin/pg_ctl -D /var/lib/postgresql/data start" postgres
327 197 Herve Ballans
su -l -c "/usr/lib/postgresql/9.4/bin/pg_ctl -D /var/lib/postgresql/data_sums start" postgres
328 197 Herve Ballans
su -l -c "/usr/lib/postgresql/9.4/bin/pg_ctl -D /var/lib/postgresql/data_monitor start" postgres
329 182 Herve Ballans
</pre>
330 182 Herve Ballans
331 184 Herve Ballans
h2. System tuning
332 1 Herve Ballans
333 187 Herve Ballans
Current configuration :
334 185 Herve Ballans
<pre>
335 185 Herve Ballans
# sysctl -a
336 185 Herve Ballans
</pre>
337 1 Herve Ballans
338 187 Herve Ballans
In the following file :
339 185 Herve Ballans
<pre>
340 185 Herve Ballans
# vi /etc/sysctl.conf
341 185 Herve Ballans
</pre>
342 1 Herve Ballans
343 188 Herve Ballans
we change some values (default values are commented with '#')
344 194 Herve Ballans
345 195 Herve Ballans
(resources links [[Links|here]])
346 194 Herve Ballans
347 185 Herve Ballans
<pre>
348 191 Herve Ballans
# Semaphore is a object that is used to control utilization of a particular process.
349 191 Herve Ballans
# kernel.sem = SEMMSL SEMMNS SEMOPM SEMMNI
350 191 Herve Ballans
# SEMMSL        maximum number of semaphores per array  (min 128)
351 191 Herve Ballans
# SEMMNS        maximum semaphores system-wide  
352 191 Herve Ballans
# SEMOPM        maximum operations per semop call       
353 191 Herve Ballans
# SEMMNI        maximum arrays 
354 191 Herve Ballans
#semop incresed from 32 (default value)operation to 100 (3rd value )
355 191 Herve Ballans
# kernel.sem = 250      32000   32      128
356 191 Herve Ballans
kernel.sem = 250 32000 100 128
357 191 Herve Ballans
358 191 Herve Ballans
In order to  apply changes :#This sets the  OS receive buffer size for all types of connections (default value 212992)
359 191 Herve Ballans
#net.core.rmem_default = 212992
360 191 Herve Ballans
#net.core.rmem_max = 212992
361 191 Herve Ballans
net.core.rmem_default = 33554432
362 191 Herve Ballans
net.core.rmem_max = 33554432
363 191 Herve Ballans
364 191 Herve Ballans
#This is the OS send buffer size for all types of connections (212992 default value) 
365 191 Herve Ballans
#net.core.wmem_default = 212992
366 191 Herve Ballans
#net.core.wmem_max = 212992
367 191 Herve Ballans
net.core.wmem_default = 33554432
368 191 Herve Ballans
net.core.wmem_max = 33554432
369 191 Herve Ballans
370 193 Pablo Alingery
#TCP Autotuning setting. "The first value tells the kernel the minimum receive buffer for each TCP connection, and this buffer is always
371 193 Pablo Alingery
# allocated to a TCP socket, even under high pressure on the system. ... The second value specified tells the kernel the default receive
372 193 Pablo Alingery
# buffer allocated for each TCP socket. This value overrides the /proc/sys/net/core/rmem_default value used by other protocols. ...
373 192 Pablo Alingery
# The third and last value specified in this variable specifies the maximum receive buffer that can be allocated for a TCP socket."
374 1 Herve Ballans
#net.ipv4.tcp_rmem = 4096       87380   6291456
375 1 Herve Ballans
net.ipv4.tcp_rmem = 10240 87380 33554432
376 1 Herve Ballans
377 193 Pablo Alingery
#TCP Autotuning setting. "This variable takes 3 different values which holds information on how much TCP sendbuffer memory space
378 193 Pablo Alingery
# each TCP socket has to use. Every TCP socket has this much buffer space to use before the buffer is filled up. Each of the three 
379 193 Pablo Alingery
#values are used under different conditions. ... The first value in this variable tells the minimum TCP send buffer space available
380 193 Pablo Alingery
# for a single TCP socket. ... The second value in the variable tells us the default buffer space allowed for a single TCP socket to use. ... 
381 193 Pablo Alingery
#The third value tells the kernel the maximum TCP send buffer space." 
382 191 Herve Ballans
#net.ipv4.tcp_wmem = 4096       16384   4194304
383 191 Herve Ballans
net.ipv4.tcp_wmem = 10240 87380 33554432
384 191 Herve Ballans
385 191 Herve Ballans
#Disable cache metrics so the initial conditions of the closed connections will not be saved to be used in near future connections
386 191 Herve Ballans
#net.ipv4.tcp_no_metrics_save = 0
387 191 Herve Ballans
net.ipv4.tcp_no_metrics_save = 1
388 191 Herve Ballans
389 1 Herve Ballans
# Increase number of incoming connections backlog
390 1 Herve Ballans
# net.core.netdev_max_backlog = 1000
391 1 Herve Ballans
net.core.netdev_max_backlog = 5000
392 1 Herve Ballans
393 1 Herve Ballans
# The tcp_mem variable defines how the TCP stack should behave when it comes to memory usage. ... 
394 192 Pablo Alingery
#The first value specified in the tcp_mem variable tells the kernel the low threshold. 
395 192 Pablo Alingery
#Below this point, the TCP stack do not bother at all about putting any pressure on the memory usage by different TCP sockets. ... 
396 193 Pablo Alingery
#The second value tells the kernel at which point to start pressuring memory usage down. ... The final value tells the kernel how many
397 193 Pablo Alingery
# memory pages it may use maximally
398 1 Herve Ballans
# net.ipv4.tcp_mem = 1543347    2057796 3086694
399 191 Herve Ballans
net.ipv4.tcp_mem = 786432 1048576 26777216
400 191 Herve Ballans
401 192 Pablo Alingery
# local port range that is used by TCP and UDP traffic to choose the local port. You will see in the parameters of this file two numbers:
402 192 Pablo Alingery
# The first number is the first local port allowed for TCP and UDP traffic on the server, the second is the last local port number.
403 191 Herve Ballans
# net.ipv4.ip_local_port_range = 32768  61000
404 191 Herve Ballans
net.ipv4.ip_local_port_range = 1024 65535
405 191 Herve Ballans
406 191 Herve Ballans
# maximum number of sockets in TIME-WAIT to be held simultaneously.
407 191 Herve Ballans
# net.ipv4.tcp_max_tw_buckets = 262144
408 191 Herve Ballans
net.ipv4.tcp_max_tw_buckets = 360000
409 1 Herve Ballans
</pre>
410 185 Herve Ballans
411 191 Herve Ballans
Then we run the following command to make our change take effect:
412 191 Herve Ballans
413 185 Herve Ballans
<pre>
414 185 Herve Ballans
# sysctl -p
415 185 Herve Ballans
</pre>
416 176 Pablo Alingery
417 216 Pablo Alingery
h2. JMD Installation 
418 215 Herve Ballans
419 217 Pablo Alingery
Download new JMD package build by Niles Oien 2016-04-07 following thoses actions :
420 215 Herve Ballans
421 215 Herve Ballans
<pre>
422 215 Herve Ballans
cd /urs/local
423 215 Herve Ballans
424 215 Herve Ballans
[oien@spsc-nso19-12 ~]$ ftp gong2.nso.edu
425 215 Herve Ballans
Name (gong2.nso.edu:oien): anonymous
426 215 Herve Ballans
Password: <---------------- use your email as the password
427 215 Herve Ballans
ftp> cd outgoing/oien
428 215 Herve Ballans
ftp> get pablo_jmd.tar.gz
429 215 Herve Ballans
ftp> quit
430 215 Herve Ballans
</pre>
431 215 Herve Ballans
432 215 Herve Ballans
Install new JMD package following thoses actions 
433 215 Herve Ballans
434 215 Herve Ballans
<pre>
435 215 Herve Ballans
[oien@spsc-nso19-12 ~]$ gunzip -vf pablo_jmd.tar.gz
436 215 Herve Ballans
pablo_jmd.tar.gz:      8.3% -- replaced with pablo_jmd.tar
437 215 Herve Ballans
[oien@spsc-nso19-12 ~]$ tar xf pablo_jmd.tar
438 215 Herve Ballans
[oien@spsc-nso19-12 ~]$ cd pablo_jmd
439 215 Herve Ballans
[oien@spsc-nso19-12 pablo_jmd]$ less PABLO_README.txt
440 215 Herve Ballans
cd ..
441 215 Herve Ballans
mv jmd jmd_old
442 215 Herve Ballans
mv pablo_jmd jmd 
443 215 Herve Ballans
</pre>
444 215 Herve Ballans
445 215 Herve Ballans
h2. JMD Configuration
446 215 Herve Ballans
447 215 Herve Ballans
Configure webserver  to request jsoc_fetch
448 215 Herve Ballans
(following the mail from nilesoien@gmail.com)
449 215 Herve Ballans
450 215 Herve Ballans
config d 'apache2 fichier sdo3.ias.u-psud.fr 
451 215 Herve Ballans
<pre>
452 215 Herve Ballans
453 215 Herve Ballans
<VirtualHost *:80>
454 215 Herve Ballans
        ServerName sdo3.ias.u-psud.fr
455 215 Herve Ballans
        ServerAdmin pablo.alingery@ias.u-psud.fr
456 215 Herve Ballans
        #ErrorLog /var/log/apache2/error.log
457 215 Herve Ballans
        DocumentRoot /var/www
458 215 Herve Ballans
459 215 Herve Ballans
        # Possible values include: debug, info, notice, warn, error, crit,
460 215 Herve Ballans
        # alert, emerg.
461 215 Herve Ballans
        LogLevel debug
462 215 Herve Ballans
463 215 Herve Ballans
        #CustomLog /var/log/apache2/VSO/access.log combined
464 215 Herve Ballans
465 215 Herve Ballans
        Alias /VSO/DRMS/cgi-bin/ "/home/production/netdrms-tools/scripts/cgi-bin/"
466 215 Herve Ballans
467 215 Herve Ballans
        <Location /VSO/DRMS/cgi-bin>
468 215 Herve Ballans
                SetHandler perl-script
469 215 Herve Ballans
                PerlResponseHandler ModPerl::Registry
470 215 Herve Ballans
                PerlOptions +ParseHeaders
471 215 Herve Ballans
                Options +ExecCGI
472 215 Herve Ballans
                Order allow,deny
473 215 Herve Ballans
                Allow from all
474 215 Herve Ballans
        </Location>
475 215 Herve Ballans
</VirtualHost>
476 215 Herve Ballans
477 215 Herve Ballans
</pre>
478 215 Herve Ballans
479 215 Herve Ballans
480 215 Herve Ballans
Execution test cgi with URL :
481 215 Herve Ballans
http://sdo3.ias.u-psud.fr/ VSO/DRMS/cgi-bin/vso_jsoc_fetch.cgi
482 215 Herve Ballans
483 215 Herve Ballans
expected result  :
484 215 Herve Ballans
<pre>
485 215 Herve Ballans
{
486 215 Herve Ballans
   "wait" : 0,
487 215 Herve Ballans
   "requestid" : "",
488 215 Herve Ballans
   "data" : {},
489 215 Herve Ballans
   "method" : "url_quick",
490 215 Herve Ballans
   "size" : 0,
491 215 Herve Ballans
   "errormsg" : "Empty query",
492 215 Herve Ballans
   "protocol" : "as-is",
493 215 Herve Ballans
   "status" : 1,
494 215 Herve Ballans
   "space_ratio" : 0.1,
495 215 Herve Ballans
   "load_ratio" : 0.066875,
496 215 Herve Ballans
   "dir" : "",
497 215 Herve Ballans
   "count" : 0
498 215 Herve Ballans
}
499 215 Herve Ballans
</pre>
500 215 Herve Ballans
501 215 Herve Ballans
502 1 Herve Ballans
h2. NetDRMS tool Install
503 23 Pablo Alingery
504 199 Pablo Alingery
The following installed is based on : [[http://inf-redmine.ias.u-psud.fr/redmine/attachments/download/114/Netdrms_First_Install.odt]]
505 1 Herve Ballans
506 207 Pablo Alingery
The sources are in : http://jsoc.stanford.edu/netdrms/dist/ 
507 207 Pablo Alingery
Locally on sdo-new in  : /home/production/sources
508 1 Herve Ballans
509 199 Pablo Alingery
Symbolic link created 'netdrms_current' that corresponds to the last release
510 1 Herve Ballans
ln -s netdrms_8.10/ netdrms_current 
511 1 Herve Ballans
512 199 Pablo Alingery
Edit file config.local
513 27 Pablo Alingery
<pre>
514 27 Pablo Alingery
cp config.local.template config.local
515 1 Herve Ballans
</pre>
516 29 Pablo Alingery
517 203 Pablo Alingery
%{color:red}Warning WEB_DBUSER      apache  We think that it should value www maybe , to be checked testing the cgi%
518 208 Pablo Alingery
%{color:red}So check the cgi to figure out which user is used to connect to bd%
519 32 Herve Ballans
520 199 Pablo Alingery
Create 2 followings dirs : 
521 1 Herve Ballans
<pre>
522 32 Herve Ballans
mkdir /usr/local/netdrms_8.10/logs/SUM
523 28 Pablo Alingery
mkdir /usr/local/netdrms_8.10/logs/slony
524 27 Pablo Alingery
</pre>
525 1 Herve Ballans
526 205 Pablo Alingery
%{color:red}Warning config.local from line 150 =>222 Remote config to provide data, series to externals%
527 205 Pablo Alingery
%{color:red}To be checked for PLATO%
528 1 Herve Ballans
529 1 Herve Ballans
Création d'un alias netdrms dans /root/.bashrc
530 27 Pablo Alingery
<pre>
531 1 Herve Ballans
alias netdrms='cd /usr/local/netdrms_current'
532 1 Herve Ballans
</pre>
533 31 Pablo Alingery
534 214 Pablo Alingery
535 206 Pablo Alingery
%{color:red}------------------------------------------------------------------------------------------------------------------%
536 206 Pablo Alingery
537 1 Herve Ballans
h3. Modification du fichier /usr/local/netdrms_current/configure (Not Applied in NetDrms_8.10)
538 1 Herve Ballans
539 1 Herve Ballans
<pre>
540 1 Herve Ballans
# The system configuration for configure script
541 1 Herve Ballans
set PERLBIN = "/usr/bin/perl"
542 1 Herve Ballans
set PYBIN = "/usr/bin/python"
543 200 Pablo Alingery
</pre>
544 200 Pablo Alingery
545 34 Herve Ballans
546 34 Herve Ballans
h3. Compilation problem due to uncorrect variable types
547 35 Herve Ballans
548 34 Herve Ballans
Art (art.amezcua@stanford.edu) purpose us a workaround and send us 2 files with correct declaration :
549 42 Herve Ballans
550 42 Herve Ballans
SUMLIB_RmDo.pgc (diff with original file : [[diff_SUMLIB_RmDo.pgc]])
551 34 Herve Ballans
SUMLIB_RmDoX.pgc (diff with original file : [[diff_SUMLIB_RmDoX.pgc]])
552 109 Pablo Alingery
553 109 Pablo Alingery
Dans le répertoire base/sums/libs/pg renommer les anciens en *.orig et placer les nouveau fichiers SUMLIB_RmDo.pgc et SUMLIB_RmDoX.pgc
554 36 Herve Ballans
555 36 Herve Ballans
<pre>
556 36 Herve Ballans
# wget http://jsoc.stanford.edu/~arta/SUMLIB_RmDo.pgc
557 38 Herve Ballans
# wget http://jsoc.stanford.edu/~arta/SUMLIB_RmDoX.pgc
558 34 Herve Ballans
</pre>
559 1 Herve Ballans
560 1 Herve Ballans
h3. Modification du fichier /usr/local/netdrms_current/build/jsoc_machine.csh
561 1 Herve Ballans
562 1 Herve Ballans
ligne 28 :
563 1 Herve Ballans
564 1 Herve Ballans
<pre>
565 1 Herve Ballans
  case "x86_64":
566 1 Herve Ballans
      echo linux_x86_64
567 1 Herve Ballans
      breaksw
568 109 Pablo Alingery
</pre>
569 109 Pablo Alingery
570 109 Pablo Alingery
Overwriting the existing files in the right place (base/sums/libs/pg) & modif in jsoc_machine.csh 
571 109 Pablo Alingery
=> the command 'make' works well.
572 109 Pablo Alingery
573 109 Pablo Alingery
But there is still problem with 'make sums'
574 109 Pablo Alingery
575 109 Pablo Alingery
h3. Workaround to solve make sums problem
576 109 Pablo Alingery
577 109 Pablo Alingery
Modify [[sum_rpc.h]] in order to match the type of some variables
578 109 Pablo Alingery
579 1 Herve Ballans
580 43 Pablo Alingery
581 1 Herve Ballans
h3. Copier /usr/local/netdrms_2.4_release/base/drms/apps/serverdefs.h dans /usr/local/netdrms_current/base/drms/apps (not applied in NetDrms_8.10)
582 44 Pablo Alingery
583 1 Herve Ballans
h3. Modification du fichier /usr/local/netdrms_current/configure (not applied in NetDrms_8.10)
584 1 Herve Ballans
585 1 Herve Ballans
au lieu de $? en csh on va mettre plutot $status
586 1 Herve Ballans
587 61 Herve Ballans
ligne 110 :
588 61 Herve Ballans
589 61 Herve Ballans
<pre>
590 61 Herve Ballans
  if ($status==0) 
591 61 Herve Ballans
</pre>
592 117 Pablo Alingery
593 112 Herve Ballans
et ligne 123 :
594 115 Pablo Alingery
595 115 Pablo Alingery
<pre>
596 115 Pablo Alingery
  if ($status==0) 
597 116 Pablo Alingery
</pre>
598 116 Pablo Alingery
599 115 Pablo Alingery
Lancement :
600 115 Pablo Alingery
<pre>
601 115 Pablo Alingery
./configure
602 115 Pablo Alingery
</pre>
603 115 Pablo Alingery
604 115 Pablo Alingery
h3. Installation des libraries libtar-dev, libcurl3-dev et libecpg-dev
605 115 Pablo Alingery
606 115 Pablo Alingery
<pre>
607 115 Pablo Alingery
apt-get install libtar libtar-dev
608 115 Pablo Alingery
</pre>
609 115 Pablo Alingery
610 115 Pablo Alingery
<pre>
611 1 Herve Ballans
apt-get install libcurl3-dev
612 1 Herve Ballans
</pre>
613 116 Pablo Alingery
614 116 Pablo Alingery
<pre>
615 116 Pablo Alingery
apt-get install libecpg-dev
616 115 Pablo Alingery
</pre>
617 116 Pablo Alingery
618 115 Pablo Alingery
h3. #H4ck 2 Malade #PabloR0cks# (Not Applied in NetDrm_8.10)
619 112 Herve Ballans
620 119 Pablo Alingery
Modification du fichier /usr/include/stdint.h
621 112 Herve Ballans
622 112 Herve Ballans
ligne 55 : long int remplacé par long long int
623 112 Herve Ballans
624 112 Herve Ballans
<pre>
625 113 Pablo Alingery
#if __WORDSIZE == 64
626 113 Pablo Alingery
typedef unsigned long int       uint64_t; --> ici long long int
627 113 Pablo Alingery
#else
628 113 Pablo Alingery
__extension__
629 113 Pablo Alingery
typedef unsigned long long int  uint64_t;
630 113 Pablo Alingery
#endif
631 113 Pablo Alingery
</pre>
632 113 Pablo Alingery
633 113 Pablo Alingery
"Allo Linus ?!?.."
634 113 Pablo Alingery
635 113 Pablo Alingery
h3. Compilation
636 113 Pablo Alingery
637 113 Pablo Alingery
<pre>
638 113 Pablo Alingery
# make
639 113 Pablo Alingery
# make sums
640 113 Pablo Alingery
# make jsoc_fetch
641 113 Pablo Alingery
</pre>
642 113 Pablo Alingery
643 113 Pablo Alingery
NB : lib64 does not exist on debian 8. so ln -s /usr/lib lib64
644 113 Pablo Alingery
645 113 Pablo Alingery
h2. make sums KO  (Not applied in NetDrms_8.10)
646 113 Pablo Alingery
647 113 Pablo Alingery
Solution found : Take old lib libcrypto instead libssl
648 113 Pablo Alingery
649 113 Pablo Alingery
dans le fichier base/sums/apps/Rules.mk ligne 51 
650 112 Herve Ballans
replace -lssl by -lcrypto LD flag
651 112 Herve Ballans
652 112 Herve Ballans
h2. NetDRMS replication
653 112 Herve Ballans
654 1 Herve Ballans
<pre>
655 120 Pablo Alingery
# cd base/drms/replication/etc
656 1 Herve Ballans
# scp production@sdo:/usr/local/netdrms/install-config-files/ias.subscribe_list.cfg  .
657 112 Herve Ballans
# scp production@sdo:/usr/local/netdrms/install-config-files/ias.repclient.cfg  .
658 120 Pablo Alingery
WRONG !!!!!
659 112 Herve Ballans
To be done cp repclient.template.cfg into ias.subscribe_list.cfg because new field in config file can't appear 
660 112 Herve Ballans
Correct that step in NetDrms doc 
661 112 Herve Ballans
The existing ias.repclient.cfg can be used tough to fill params 
662 112 Herve Ballans
663 112 Herve Ballans
664 112 Herve Ballans
</pre>
665 112 Herve Ballans
666 112 Herve Ballans
667 112 Herve Ballans
Create tmp dir in netdrms working directory (/usr/local/netdrms_current)
668 112 Herve Ballans
<pre>
669 112 Herve Ballans
# mkdir tmp
670 112 Herve Ballans
</pre>
671 112 Herve Ballans
672 112 Herve Ballans
Prevent from deleting files
673 112 Herve Ballans
<pre>
674 112 Herve Ballans
cd logs/SUM ; scp production@sdo:/usr/local/netdrms/install-config-files/sum_rm.cfg .
675 91 Herve Ballans
</pre>
676 91 Herve Ballans
677 91 Herve Ballans
h2. NetDRMS Start script
678 91 Herve Ballans
679 91 Herve Ballans
<pre>
680 91 Herve Ballans
sum_start.NetDRMS
681 91 Herve Ballans
</pre>
682 91 Herve Ballans
683 91 Herve Ballans
h2. Database repair (from Art)
684 91 Herve Ballans
685 91 Herve Ballans
On ias_sdo
686 91 Herve Ballans
687 91 Herve Ballans
<pre>
688 91 Herve Ballans
delete from admin.ns where name = 'lm_jps';
689 91 Herve Ballans
delete from admin.ns where name = 'aia_test';
690 91 Herve Ballans
</pre>
691 93 Pablo Alingery
692 93 Pablo Alingery
h2. Private key Public key generation 
693 93 Pablo Alingery
694 93 Pablo Alingery
<pre>
695 93 Pablo Alingery
ssh-keygen -t rsa
696 93 Pablo Alingery
</pre>
697 103 Herve Ballans
698 103 Herve Ballans
Not necessary cause we recover the ssh keys of the current server.
699 103 Herve Ballans
700 103 Herve Ballans
However, we have to retrieve the private key of production account on sdo3
701 103 Herve Ballans
702 103 Herve Ballans
From sdo :
703 103 Herve Ballans
<pre>
704 103 Herve Ballans
rsync -av id_rsa production@sdo3:/home/production/.ssh/
705 103 Herve Ballans
</pre>
706 94 Herve Ballans
707 94 Herve Ballans
h2. Node definition
708 94 Herve Ballans
709 94 Herve Ballans
file : /usr/local/netdrms_current/base/drms/replication/etc/ias.repclient.cfg
710 94 Herve Ballans
711 94 Herve Ballans
<pre>
712 1 Herve Ballans
node=IAStest
713 96 Herve Ballans
</pre>
714 96 Herve Ballans
715 96 Herve Ballans
h2. show_series and delete_series binaries
716 96 Herve Ballans
717 97 Pablo Alingery
Remark : these 2 sources are not compiled during installation
718 96 Herve Ballans
Issue : in netdrms_current 8.10 , do :
719 96 Herve Ballans
$ make delete_series
720 94 Herve Ballans
$ make show_series
721 98 Pablo Alingery
722 1 Herve Ballans
h2. SSH-HPN install 
723 98 Pablo Alingery
724 1 Herve Ballans
Intallation de openssh 6.3p1 car le dernier patch hpn dispo est 6.3hpn13.V6 
725 99 Herve Ballans
726 99 Herve Ballans
web site for open ssh : http://ftp2.fr.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-6.3p1.tar.gz
727 1 Herve Ballans
patch hpn : http://www.psc.edu/index.php/hpn-ssh-patches/hpn-14-kitchen-sink-patches/viewdownload/24-hpn-14-kitchen-sink-patches/102-openssh-6-3p1-hpnssh14v2-kitchen-sink-patch
728 99 Herve Ballans
729 99 Herve Ballans
<pre>
730 99 Herve Ballans
# tar -xzvf openssh-6.3p1.tar.gz
731 99 Herve Ballans
# gunzip openssh-6.3p1-hpnssh14v2.diff.gz
732 99 Herve Ballans
# cd openssh-6.3p1
733 99 Herve Ballans
# zcat ../openssh-6.3p1-hpnssh14v2.diff.gz | patch -p1
734 99 Herve Ballans
# ./configure --prefix=/usr/local/hpn-ssh --with-pam --with-md5-passwords --without-zlib-version-check --with-tcp-wrappers
735 99 Herve Ballans
# make
736 99 Herve Ballans
# make install
737 1 Herve Ballans
</pre>
738 99 Herve Ballans
739 99 Herve Ballans
Depuis sdo :
740 99 Herve Ballans
<pre>
741 99 Herve Ballans
# cd /usr/local/hpn-ssh/etc/
742 99 Herve Ballans
# rsync -av *key* netadm@sdo3:/home/netadm/
743 99 Herve Ballans
</pre>
744 99 Herve Ballans
745 99 Herve Ballans
Sur sdo3 :
746 1 Herve Ballans
<pre>
747 100 Herve Ballans
rsync -av /home/netadm/*key* /usr/local/hpn-ssh/etc/
748 100 Herve Ballans
</pre>
749 100 Herve Ballans
750 100 Herve Ballans
We have to configure the port number to 55000
751 100 Herve Ballans
<pre>
752 100 Herve Ballans
# vi ssh_config
753 100 Herve Ballans
</pre>
754 101 Herve Ballans
755 100 Herve Ballans
and add :
756 100 Herve Ballans
<pre>
757 100 Herve Ballans
#Port 22
758 100 Herve Ballans
Port 55000
759 1 Herve Ballans
</pre>
760 101 Herve Ballans
761 100 Herve Ballans
We configure also the server hpn (even we don't use it yet)
762 100 Herve Ballans
<pre>
763 100 Herve Ballans
# vi sshd_config
764 100 Herve Ballans
</pre>
765 100 Herve Ballans
766 100 Herve Ballans
and add :
767 100 Herve Ballans
<pre>
768 100 Herve Ballans
#Port 22
769 100 Herve Ballans
Port 55000
770 100 Herve Ballans
771 100 Herve Ballans
#PidFile /var/run/sshd.pid
772 100 Herve Ballans
PidFile /var/run/sshd.55000.pid
773 100 Herve Ballans
774 100 Herve Ballans
# allow the use of the none cipher
775 100 Herve Ballans
#NoneEnabled no
776 99 Herve Ballans
NoneEnabled yes
777 98 Pablo Alingery
</pre>
778 106 Pablo Alingery
779 105 Pablo Alingery
h2. Correction
780 105 Pablo Alingery
781 105 Pablo Alingery
h3. Modification du fichier ias.repclient.cfg
782 105 Pablo Alingery
783 105 Pablo Alingery
Copier le template existant repclient.template.cfg dans le répertoire [netdrms_current]/base/drms/replication/etc
784 105 Pablo Alingery
 
785 105 Pablo Alingery
<pre>
786 105 Pablo Alingery
production@sdo3:/usr/local/netdrms_current/base/drms/replication/etc$ cp repclient.template.cfg ias.repclient.cfg
787 105 Pablo Alingery
</pre>
788 1 Herve Ballans
789 106 Pablo Alingery
Nouveau / netdrms2.4 
790 105 Pablo Alingery
<pre>
791 105 Pablo Alingery
# Apps
792 106 Pablo Alingery
kRSPerl=<path to Perl binary to use when Perl scripts are executed>
793 105 Pablo Alingery
</pre>
794 107 Pablo Alingery
795 107 Pablo Alingery
h2. Subscription test 
796 107 Pablo Alingery
797 107 Pablo Alingery
h3. Librairies manquantes
798 107 Pablo Alingery
799 107 Pablo Alingery
Errors 
800 107 Pablo Alingery
<pre>
801 107 Pablo Alingery
Failure to apply SQL file 'IAStest.subscribe_series.sql' from server: ABORTING!
802 107 Pablo Alingery
Can't locate DBI.pm 
803 107 Pablo Alingery
.
804 107 Pablo Alingery
.
805 107 Pablo Alingery
.
806 107 Pablo Alingery
Failure to apply SQL file 'IAStest.subscribe_series.sql' from server: ABORTING!
807 107 Pablo Alingery
Can't locate DBD/Pg.pm
808 107 Pablo Alingery
</pre>
809 1 Herve Ballans
810 1 Herve Ballans
<pre>
811 1 Herve Ballans
root@sdo3:/usr/local/netdrms_8.10/base/drms/replication/subscribe_series# apt-get install libdbi-perl 
812 1 Herve Ballans
root@sdo3:/usr/local/netdrms_8.10/base/drms/replication/subscribe_series# apt-get install libdbd-pg-perl
813 1 Herve Ballans
</pre>
814 110 Herve Ballans
815 110 Herve Ballans
h3. Series souscrites
816 110 Herve Ballans
817 110 Herve Ballans
hmi.sharp_720s_nrt
818 110 Herve Ballans
hmi.mharp_720s_nrt
819 110 Herve Ballans
hmi.bharp_720s_nrt
820 110 Herve Ballans
821 110 Herve Ballans
<pre>
822 110 Herve Ballans
production@sdo3:~$ show_info -s hmi.sharp_720s_nrt
823 110 Herve Ballans
First Record: hmi.sharp_720s_nrt[476][2012.09.14_02:12:00_TAI], Recnum = 829707
824 110 Herve Ballans
Last Record:  hmi.sharp_720s_nrt[4943][2016.03.22_18:24:00_TAI], Recnum = 2015202
825 110 Herve Ballans
Last Recnum:  2015202
826 110 Herve Ballans
Has shadow table: no
827 107 Pablo Alingery
</pre>
828 111 Herve Ballans
829 111 Herve Ballans
h3. Lancement de jetty
830 111 Herve Ballans
831 111 Herve Ballans
<pre>
832 111 Herve Ballans
$ jetty.sh start
833 111 Herve Ballans
</pre>
834 111 Herve Ballans
835 111 Herve Ballans
836 111 Herve Ballans
837 108 Pablo Alingery
838 108 Pablo Alingery
h2. Test recuperation de meta data 
839 108 Pablo Alingery
840 108 Pablo Alingery
librairies manquantes 
841 108 Pablo Alingery
apt-get install libnet-ssh-perl
842 108 Pablo Alingery
apt-get install libstring-shellquote-perl
843 108 Pablo Alingery
844 152 Pablo Alingery
h2. TO BE DONE FURTHER
845 108 Pablo Alingery
846 107 Pablo Alingery
847 152 Pablo Alingery
%{color:red} configure sytem nbr de fichier ouvert en meme temps%
848 1 Herve Ballans
849 152 Pablo Alingery
%{color:red} configure sytem taille  buffer%
850 152 Pablo Alingery
851 155 Pablo Alingery
%{color:red} swap désactivé ? discussion Stephane et Gilles%
852 152 Pablo Alingery
853 80 Pablo Alingery
854 1 Herve Ballans
h3. Modification du fichir config.local pour la souscription au jsoc
855 1 Herve Ballans
856 1 Herve Ballans
857 1 Herve Ballans
<pre>
858 1 Herve Ballans
# NetDRMS users can request subdirectories from the Stanford proj directories 
859 1 Herve Ballans
# (e.g., JSOC/proj/util). These users will need to contact Stanford and obtain
860 1 Herve Ballans
# the source subdirectories desired. They will then place these subdirectories
861 1 Herve Ballans
# in the JSOC/proj directory of their NetDRMS release. To properly build 
862 1 Herve Ballans
# targets in these subdirectories, using the JSOC make system, the user needs
863 1 Herve Ballans
# to add entries to this configuration file - one entry for each subdirectory
864 1 Herve Ballans
# that contains source code to be compiled. Each entry is a space-separated pair
865 1 Herve Ballans
# of strings: the string "PROJDIR" followed by a subdirectory (of the proj 
866 1 Herve Ballans
# directory).  For example:
867 1 Herve Ballans
#
868 1 Herve Ballans
# PROJDIR     util/apps
869 1 Herve Ballans
# PROJDIR     util/libs
870 1 Herve Ballans
# 
871 1 Herve Ballans
# NOTE: It is not sufficient to list only a parent directory, like util. Source code
872 18 Herve Ballans
# in child directories will not automatically be compiled.
873 18 Herve Ballans
</pre>
874 18 Herve Ballans
875 18 Herve Ballans
h3. Python library for multi-threaded SUMS
876 1 Herve Ballans
877 1 Herve Ballans
Installation de la librairie python3.4m