aboutsummaryrefslogtreecommitdiff
path: root/doc/src/FAQ/FAQ_linux_italian.html
blob: 71303d4d4f2d63b95f32af4189a5b7ac01484fa2 (plain)
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
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
   <META NAME="GENERATOR" CONTENT="Mozilla/4.06 [en] (X11; I; Linux 2.1.105 i586) [Netscape]">
</HEAD>
<BODY BGCOLOR="#FFFDEC">

<PRE>=======================================================
Frequently Asked Questions (FAQ) per PostgreSQL >= V6.1
Specifiche per Linux Os
DA LEGGERE IN CONGIUNZIONE CON LE NORMALI FAQ
=======================================================
Ultimo aggiornamento:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Lunedi' 18 Maggio 11:17:00 GMT 1998

Curatore corrente:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Andrew C.R. Martin (martin@biochem.ucl.ac.uk)
Autore originale:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Andrew C.R. Martin (martin@biochem.ucl.ac.uk)
Traduzione FAQ in italiano: Daniele Medri 'MaDriD' (madrid@darshan.org)

Cambiamenti in questa versione (* = modificato, + = nuovo, - = rimosso):

+1.21)&nbsp; Perche' ricevo strani risultati con i tempi di stampa (per esempio
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nel test di regressione 'timespan'?</PRE>

<PRE>Questo file &egrave; diviso approsimativamente nel sequente modo:
1.*)&nbsp;&nbsp;&nbsp; Istallare PostgreSQL
2.*)&nbsp;&nbsp;&nbsp; Compilare programmi accessori
3.*)&nbsp;&nbsp;&nbsp; Problemi di esecuzione


Domande risposte:
1.1)&nbsp;&nbsp;&nbsp; Quali cambiamenti devo fare a src/Makefile.global o a src/Makefile.custom
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e ci sono altri cambiamenti necessari?
1.2)&nbsp;&nbsp;&nbsp; Perche' ricevo problemi con missing libreadline?
1.3)&nbsp;&nbsp;&nbsp; [REDHAT] Perche' ricevo problemi di libdl e dlfcn.h perse?
1.4)&nbsp;&nbsp;&nbsp; [SLACKWARE 3.1] Perche' ricevo problemi di libdl e dlfcn.h perse?
1.5)&nbsp;&nbsp;&nbsp; La mia compilazione si arresta segnalando la mancanza dell'include file
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dlfcn.h perso.
1.6)&nbsp;&nbsp;&nbsp; GCC reclama una ignorata opzione -fpic
1.7)&nbsp;&nbsp;&nbsp; Ricevo messaggi di warning (errore) del tipo
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; warning: cast from pointer to integer of different size
1.8)&nbsp;&nbsp;&nbsp; [SuSE-Linux 4.2-4.4] Dove sono curses e termcap?
1.9)&nbsp;&nbsp;&nbsp; Perche' ho problemi con&nbsp; ld.so?
1.10)&nbsp;&nbsp; Perche' ricevo errori del tipo `yy_flush_buffer undefined'?
1.11)&nbsp;&nbsp; Come posso compilare PostgreSQL su un sistema a.out?
1.12)&nbsp;&nbsp; Che cosa fallisce con:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yacc -d /disk2/PostgreSQL/src/backend/parser/gram.y
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make: /usr/bin/make: cannot execute binary file
1.13)&nbsp;&nbsp; Quali sono i riferimenti in X11_LIB a libsocket e libnsl in
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; src/Makefile.global?
1.14)&nbsp;&nbsp; [DEBIAN] Dov'e' libtermcap?
1.15)&nbsp;&nbsp; [REDHAT] Posso trovare PostgreSQL come RPM?
1.16)&nbsp;&nbsp; Quando tento di compilare una versione in sviluppo sotto Linux, la
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compilazione fallisce con il seguente messaggio:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; In file included from /usr/include/sys/sem.h:8,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from ipc.c:37:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /usr/include/asm/bitops.h:32: warning: no previous prototype for Set_bit'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ....
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make: *** [ipc.o] Error 1
1.17)&nbsp;&nbsp; Quando sto' compilando postgres, gcc riporta un signal 11 e si interrompe.
1.18)&nbsp;&nbsp; Posso installare 6.1.1 su MkLinux?
1.19)&nbsp;&nbsp; Perche' esce o va in crash?
1.20)&nbsp;&nbsp; Come posso ottimizzarlo per un 486 o un processore pentium
1.21)&nbsp;&nbsp; Perche' ricevo strani risultati con i tempi di stampa (per esempio
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nel test di regressione 'timespan'?
2.1)&nbsp;&nbsp;&nbsp; Il linker non trova libX11 quando sta' compilando pgtclsh
3.1)&nbsp;&nbsp;&nbsp; Ricevo un messaggio tipo&nbsp; _fUnKy_POSTPORT_sTuFf_ non definito quando
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lancio uno script come createuser
3.2)&nbsp;&nbsp;&nbsp; Lancio postmaster e dopo il sistema dice 'Bad system call(Core&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dumped)'
3.3)&nbsp;&nbsp;&nbsp; Quando tento di lanciare Postmaster, perche' ricevo un errore del tipo
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Failed Assertion("!(file != 0):(null)", File:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "/usr/local/PostgreSQL/src/backend/storage/file/fd.c", Line: 257)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; !(file != 0) (0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; initdb: could not create template database
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; initdb: cleaning up.
3.4)&nbsp;&nbsp;&nbsp; Perche' createuser non funziona?
3.5)&nbsp;&nbsp;&nbsp; Perche' ricevo un errore del tipo:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IpcMemoryCreate: memKey=155356396 , size=760632 ,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; permission=384IpcMemoryCreate: shmget(..., create, ...)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; failed: Invalid argument
3.6)&nbsp;&nbsp;&nbsp; Perche' psql fallisce con:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; psql: can't load library 'libpq.so.1'
3.7)&nbsp;&nbsp;&nbsp; Altri comportamenti strani
3.8)&nbsp;&nbsp;&nbsp; Quando PostgreSQL e' attivo allo shutdown di sistema, Linux
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; esegue al reboot un fsck al disco.
3.9)&nbsp;&nbsp;&nbsp; Perche' la Query 32 nel test di regressione pretende molto tempo?
3.10)&nbsp;&nbsp; Perche' ricevo dei risultati arrotondati su date/time aritmetici,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; come
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select '4 hours'::timespan;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; returning '3 hours 59 minutes 60 seconds'?

----------------------------------------------------------------------
Sezione 1:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Compilare PostgreSQL
----------------------------------------------------------------------

1.1)&nbsp;&nbsp;&nbsp; Quali cambiamenti devo fare a src/Makefile.global o a&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; src/Makefile.custom e ci sono altri cambiamenti necessari?

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I cambiamenti ai makefiles sono piu'facilmente fatti usando
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lo script di shell per la personalizzazione che si trova nella
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; directory src che scrive un file Makefile.custom appropriato.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I soli altri cambiamenti che tu devi fare e rimpiazzare Flex se tu
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hai una versione 2.5.3, la quale ha dei bug che si manifestano al
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fallimento di createuser (Vedi domanda 3.4)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Se tu modifichi i makefiles a mano, tu *devi* settare le seguenti
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; variabili:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PORTNAME=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; linux

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tu devi anche cambiare quello che segue per settare la tua propria&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; installazione:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; POSTGRESDIR

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Se tu cambi sull'opzione USE_TCL, devi settare questo:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TCL_INCDIR=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TCL_LIBDIR=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TCL_LIB=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TK_INCDIR=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TK_LIBDIR=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TK_LIB=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X11_INCDIR=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X11_LIBDIR=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X11_LIB=

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sul mio sistema Slackware3.0 esse sono:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TCL_INCDIR=&nbsp;&nbsp;&nbsp;&nbsp; /usr/include/tcl
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TCL_LIBDIR=&nbsp;&nbsp;&nbsp;&nbsp; /usr/lib
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TCL_LIB=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -ltcl
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TK_INCDIR=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /usr/include/tcl
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TK_LIBDIR=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /usr/lib
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TK_LIB=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -ltk
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X11_INCDIR=&nbsp;&nbsp;&nbsp;&nbsp; /usr/include/X11
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X11_LIBDIR=&nbsp;&nbsp;&nbsp;&nbsp; /usr/X386/lib
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X11_LIB=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -lX11
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Devi fare ogni altro cambiamento necessario come documentato nel
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file INSTALL e in Makefile.global


1.2)&nbsp;&nbsp;&nbsp; Perche' ricevo problemi con missing libreadline?

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I sistemi Linux in genere non vengono distribuiti con la libreria
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Gnu readline installata. Si pu&ograve; in ogni caso o disattivare l'opzione
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; di readline in src/Makefile.global o src/Makefile.custom, oppure
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; installare la libreria GNU stessa (readline).

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Nota che Linux Debian (come FreeBSD) esce con le readline installate.

1.3)&nbsp;&nbsp;&nbsp; [REDHAT] Perche' ricevo problemi di libdl e dlfcn.h perse??

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Questa manifestazione avvisa che non c'e' la capacita' di linkare
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; funzioni come dlopen(), dlclose(), etc. durante l'ultima fase di compilazione.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; La libreria libdl e' usata per linkare in maniera dinamica le funzioni
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e rendere flessibile l'avvio dell'applicativo. Per alcune ragioni questa
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; non era presente nella distribuzione Red Hat. La versione Redhat 4.0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (Colgate) a colmato a questa mancanza.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RedHat ha ora una nuova versione di ld.so in formato RPM nei propri siti FTP.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Scaricate:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ftp://ftp.redhat.com/pub/redhat/devel/i386/RedHat/RPMS/ld.so-1.7.14-4.i386.rpm

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Installa il file RPM nella maniera usuale e andra'!

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ATTENZIONE! Devi rilanciare nuovamente il file configure e fare un&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make clean dopo aver installato la libreria e prima di ricompilare.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C'e' stata una sola notizia di sistema corrotto da programmi che&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; accedevano a queste librerie mentre venivano aggiornate (nessun altra&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sorpresa.) Conseguentemente e' una buona idea quella di fare un reboot
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; del sistema prima di installare le nuove librerie e avere pochi
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; processi attivi durante questo upgrade. Lanciare il sistema in
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; modalita' utente singolo (single-user) e' probabilmente una buona idea!

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Se tu vuoi fare la strada piu' dura, puoi ottenere la libreria e&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l'header file da:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ftp://tsx-11.mit.edu/pub/linux/packages/GCC/ld.so-1.7.14.tar.gz

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Alternativamente puoi trovare i file binari precompilati in&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; distributions/debian/buzz/binary-i386/base/ld.so-1.7.14-4.deb
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nel medesimo sito, o seguire le istruzioni date alla domanda 1.2 per
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; correggere lo stesso errore con le aggiornate versioni di Slackware 3.1.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Non scegliere questo metodo se non sai quello che stai facendo!



1.4)&nbsp;&nbsp;&nbsp; [SLACKWARE 3.1] Perche' ricevo problemi di libdl e dlfcn.h perse??

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Questa manifestazione avvisa che non c'e' la capacita' di linkare
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; funzioni come dlopen(), dlclose(), etc. durante l'ultima fase di compilazione.</PRE>

<PRE>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Guarda la risposta alla domanda 1.3. Slackware fino alla versione 3.0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; era provvista di questa libreria e degli include file e ritornarono nell'ultima
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; versione 3.1, ma la prima versione della 3.1 (prima del 9 settembre 1996)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; non aveva queste e molte versioni su CD-ROM erano state stampate&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; con la prima edizione.&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C'e' stata una sola notizia di sistema corrotto da programmi che&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; accedevano a queste librerie mentre venivano aggiornate (nessun altra&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sorpresa.) Conseguentemente e' una buona idea quella di fare un reboot
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; del sistema prima di installare le nuove librerie e avere pochi
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; processi attivi durante questo upgrade. Lanciare il sistema in
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; modalita' utente singolo (single-user) e' probabilmente una buona idea!

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Per fissare facilmente questo basta ottenere il file ldso.tgz dal quarto
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dischetto della piu' recente distribuzione Slackware e scompattarlo da
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dalla directory di root (/) e poi lanciare

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sh install/doinst.sh

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; per completare l'installazione. Successivamente lanciare

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ldconfig

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ATTENZIONE! Devi rilanciare nuovamente il file configure e fare un&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make clean dopo aver installato la libreria e prima di ricompilare.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Se vuoi installarla manualmente bisogna installare prima il file
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dlfcn.h in /usr/include.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Secondo, installa il file libdl.so.1.7.14 (o qualsiasi altra versione)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in /lib, e poi fai:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd /lib
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln -sf libdl.so.1.7.14 libdl.so.1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln -sf libdl.so.1 libdl.so

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Su certi sistemi (a seconda della personale configurazione di GCC)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e' necessario fare:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd /usr/lib
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ln -sf /lib/libdl.so .

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Finalmente

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ldconfig

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ATTENZIONE! Devi rilanciare nuovamente il file configure e fare un&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make clean dopo aver installato la libreria e prima di ricompilare.


1.5)&nbsp;&nbsp;&nbsp; La mia compilazione si arresta segnalando la mancanza dell'include file
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dlfcn.h perso.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Guarda la risposta 1.3/1.4. Non dimenticare che se stai usando un sistema
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.out devi prima avere installato il pacchetto dld (il quale non viene
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fornito con molti sistemi a.out) per avere dlfcn.h e gli altri.&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Guarda la domanda 1.11.


1.6)&nbsp;&nbsp;&nbsp; GCC reclama una ignorata opzione -fpic

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Le prime versioni di GCC accettavano entrambe -fpic o -&pound;PIC.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Nelle piu' recenti versioni (V2.7.2?) richiede -&pound;PIC.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Se tu stai usando una versione ELF di Linux, questa puo' per sicurezza
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; essere ignorata perche' -&pound;PIC e' di default.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Puoi correggere questa editando il file src/Makefile.global e cambiare
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CFLAGS_SL


1.7)&nbsp;&nbsp;&nbsp; Ricevo messaggi di warning (errore) del tipo
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; warning: cast from pointer to integer of different size

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Questi appararivano nelle prime versione di Postgres95 e posso per sicurezza
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; essere ignorate. PostgreSQL V6.0 dovrebbe compilare senza warnings
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ad eccezione di quelli relativi agli header file di sistema (i quali possono
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; essere ignorati per sicurezza).

1.8)&nbsp;&nbsp;&nbsp; [SuSE-Linux 4.2-4.4] Dove sono curses e termcap?

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SuSE-Linux 4.2 ha le ncurses ma non le curses. 4.4 ha entrambe.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SuSE-Linux ha anche le librerie termcap in /usr/lib/termcap&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invece di essere in /usr/lib.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PostgreSQL (fino alla V6.0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -----------------------
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Setta il valore delle CURSES_LIB in src/Makefile.custom a -lncurses&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (o fai questo attraverso lo script di personalizzazione).
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Aggiundi la seguente riga al file src/Makefile.custom:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LDADD_BE+= -L/usr/lib/termcap

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Devi editare il file src/bin/psql/Makefile e cambiare:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifeq ($(PORTNAME), linux)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LD_ADD+=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; con:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifeq ($(PORTNAME), linux)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LD_ADD+= -ltermcap

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PostgreSQL (V6.1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -----------------
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Lo script di configurazone non sa' di cercare nella directory&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /usr/lib/termcap per le librerie termcap, percio' tu devi specificare
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; questo come una delle directory delle librerie dove cercare.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Se non funziona (non ho SuSE per verificare che vada)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allora lancia configure, edita src/Makefile.global e aggiungi
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -ltermcap alla linea LDFLAGS
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (dopo -lreadline). (Alternativamente poi configurare&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; src/Makefile.custom prima di lanciare configure.)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Alcune versioni di SuSE forniscono solo ncurses, percio' tu devi
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; forzare l'uso delle ncurses piuttosto che le curses cambiando&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -lcurses con -lncurses. (dimostrato per SuSE 5.1)


1.9)&nbsp;&nbsp;&nbsp; Perche' ho problemi con&nbsp; ld.so?

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Se tu hai problemi con ld.so, un altra libreria richiesta sotto ELF
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; per il caricamento dinamico, allora hai creato disordine con la tua
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; installazione o fatto un upgrade di Linux.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Guarda le risposte alle domande 1.3/1.4. Devi installare ld.so.x.y.z in
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib e lanciare ldconfig.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; La piu' recente vesione stabile del pacchetto ld e&igrave; 1.7.14
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mentre scrivo, la versione 1.8.x di ld e' sperimentale.&nbsp;

1.10)&nbsp;&nbsp; Perche' ricevo errori del tipo `yy_flush_buffer undefined'?

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Questo non e' specifico per Linux, ma e' comune nelle vecchie istallazione
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; di Linux. Devi avere una versione recente di Flex (2.5.2 o superiore)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; per compilare PostgreSQL. Nota che Flex 2.5.3 ha dei bug: guarda la&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; domanda 3.4.

1.11)&nbsp;&nbsp; Come posso compilare PostgreSQL su un sistema a.out?

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Prima, devi installare la libreria dld. Puoi ottenere questa da Sunsite come:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Linux/libs/dld.3.2.7.tar.gz
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (ftp://sunsite.unc.edu/pub/Linux/libs/dld.3.2.7.tar.gz)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Secondo, aggiungi la seguente linea al file&nbsp; src/Makefile.custom:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LINUX_ELF=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (o usa lo script di configurazione)

1.12)&nbsp;&nbsp; Che cosa fallisce con:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yacc -d /disk2/PostgreSQL/src/backend/parser/gram.y
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make: /usr/bin/make: cannot execute binary file

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Questo e' un problema delle prime versioni di Postgres95. Il default
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; per PostgreSQL e' di usare bison -y piuttosto che yacc.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yacc e' generalmente implementato come script che invoca bison -y
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Per alcune ragioni (certe versioni di make? certe versioni di bash?)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make non puo' eseguire questo file di script.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Per correggere questo, edita semplicemente src/mk/port/postgres.mk.linux
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e alla fine del file cambia:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # YACC = bison -y
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; con
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YACC = bison -y

1.13)&nbsp;&nbsp; Quali sono i riferimenti in X11_LIB a libsocket e libnsl in
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; src/Makefile.global?

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Questo era un problema nella versione 1.08 (specifica per Sun Solaris)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E' stata fissata nella 1.09 e 6.0

1.14)&nbsp;&nbsp; [DEBIAN] Dov'e'&nbsp; libtermcap?

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Debian Linux viene distribuita senza librerie termcap e usa ncurses&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (le quali usano terminfo all'interno). Non c'e' bisogno di cambiare la
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; variabile CURSES_LIB&nbsp; in src/bin/psql/Makefile peche' Debian provvede&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; con un link da libncurses a libcurses (diversamente da SuSE-Linux --
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Vedi domanda 1.8).

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Devi editare src/bin/psql/Makefile e commentare i cambiamenti:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifeq ($(PORTNAME), linux)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LD_ADD+= -ltermcap
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; con:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifeq ($(PORTNAME), linux)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LD_ADD+=


1.15)&nbsp;&nbsp; [REDHAT] Posso trovare PostgreSQL come RPM?

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Si! Michal Mosiewicz&nbsp;<mimo@lodz.pdi.net>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (http://www.pdi.lodz.pl/~mimo) ha creato un RPM
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; per PostgreSQL V6.0 per architettura Intel uplodata a&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ftp://ftp.redhat.org/pub/Incoming/Postgres-6.0-1.i386.rpm

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Questa e' una precompilata versione, le sorgenti RPM erano come
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; io ho scritto (3 Febbraio 1997).

1.16)&nbsp;&nbsp; Quando tento di compilare una versione in sviluppo sotto Linux, la
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compilazione fallisce con il seguente messaggio:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; In file included from /usr/include/sys/sem.h:8,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from ipc.c:37:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /usr/include/asm/bitops.h:32: warning: no previous prototype for Set_bit'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ....
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make: *** [ipc.o] Error 1

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Il problema e' che Linux non prevede prototipi per queste funzioni inline.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; La soluzione e' di andare dentro la directory .../src/backend/storage/ipc
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ed editare Makefile.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cambia la linea
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CFLAGS+=$(INCLUDE_OPT)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; con
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CFLAGS+=$(INCLUDE_OPT) -Wno-error

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Fai lo stesso con la directory ../src/backend/storage/lmgr.

1.17)&nbsp;&nbsp; Quando sto' compilando postgres, gcc riporta un signal 11 e si interrompe.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Piu' specificatamente:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gcc: Internal compiler error: program cc1 got fatal&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; signal 11

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Questo e' un problema di hardware/memoria. PostgreSQL e' un grande
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; programma, e una larga compilazione con gcc (come la compilazione
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; di PostgreSQL o la compilazione del kernel) stressa la memoria come
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; molti altri programmi, mostrando errori che non appaiono nelle normali
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; operazioni. Sistemi operativi inferiori non riescono a stressare l'hardware
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in questo modo, per questo non vedrai mai questi errori sotto DOS/Windows.&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Maggiori informazioni in merito:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.bitwizard.nl/sig11

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Da questo Sig11 FAQ, sembra essere un errore specifico con Redhat 5.0&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lanciando su un processore Cyrix. Guarda il link superiore per i dettagli!

1.18)&nbsp;&nbsp; Posso installare 6.1.1 su MkLinux?

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tatsuo Ishii&nbsp;<t-ishii@sra.co.jp> ha fatto questo su MkLinux DR2.1 update2 dopo una piccola
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; patch disponibile presso:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ftp://ftp.sra.co.jp/pub/cmd/postgres/6.1.1/mklinux.patch.gz

1.19)&nbsp;&nbsp; Perche' esce o va in crash??

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ci sono state diverse segnalazioni di gmake, dove in tutte si usciva
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; subito e c'era una seg faulting. Il problema piu' marcato e' stato&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; riportato con gmake 3.74 - upgradandolo alla 3.76.1 si e' risolto.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Comunque, la versione 3.74 e' funzionante per altri tipi di setup.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; In breve, prova ad upgradare gmake all'ultima versione che puoi trovare
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prima di riportarlo come un problema.

1.20)&nbsp;&nbsp; Come posso ottimizzarlo per un 486 o un processore pentium

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Le flags di compilazione per default non permettono l'optimizzazione per 486
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o per processori Pentium. Per aggiungerla come ottimizzazione, edita
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Makefile.custom e aggiungi:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CFLAGS+= -m486

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o (per i nuovi compilatori che molte persone non stanno usando)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CFLAGS+= -mpentium
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CFLAGS+= -mpentiumpro

1.21)&nbsp;&nbsp; Perche' ricevo strani risultati con i tempi di stampa (per esempio
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nel test di regressione 'timespan'?
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Le ore appaiono come: '4 hours 59 mins 60.00 secs'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invece di '5 hours'

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Questo e' un problema con le librerie glibc2 le quali appaiono con
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RedHat 5.0. Aggiorna le tue glibc con le ultime versioni di RedHat per
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v5.0/hurricane. Tutto quello che e' anteriore alle glibc-2.0.7 ha&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; questi problemi.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

----------------------------------------------------------------------
Sezione 2:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Compilare programmi accessori
----------------------------------------------------------------------

2.1)&nbsp;&nbsp;&nbsp; Il linker non trova libX11 quando sta' compilando pgtclsh

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Aggiungi la seguente riga al file src/Makefile.custom
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X11_LIBDIR = /usr/X11R6/lib


----------------------------------------------------------------------
Sezione 3:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Problemi di esecuzione
----------------------------------------------------------------------

3.1)&nbsp;&nbsp;&nbsp; Ricevo un messaggio tipo&nbsp; _fUnKy_POSTPORT_sTuFf_ non definito quando
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lancio uno script come createuser

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Questo e' un bug nella V.1.06-V1.07 di Postgres ed e' fissata con la versione
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.08 o superiore.

3.2)&nbsp;&nbsp;&nbsp; Lancio postmaster e dopo il sistema dice 'Bad system call(Core&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dumped)'

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Questo indica che non hai compilato il supporto per la memoria condivisa nel
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kernel. Devi ricompilare il kernel per aggiungere questa feature.

3.3)&nbsp;&nbsp;&nbsp; Quando tento di lanciare Postmaster, perche' ricevo un errore del tipo
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Failed Assertion("!(file != 0):(null)", File:&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "/usr/local/PostgreSQL/src/backend/storage/file/fd.c", Line: 257)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; !(file != 0) (0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; initdb: could not create template database
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; initdb: cleaning up.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I permessi sul file /dev/null sono sbagliati.&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ls -l /dev/null should give you something like:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; crw-rw-rw-&nbsp; 1 root&nbsp; wheel&nbsp;&nbsp;&nbsp; 2,&nbsp;&nbsp; 2 Oct&nbsp; 8 18:41 /dev/null

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Correggi i permessi con:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chmod a+rw /dev/null

3.4)&nbsp;&nbsp;&nbsp; Perche' createuser non funziona?

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C'e' un problema con la versione 2.5.3 di GNU Flex e createuser.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Le tue opzioni devono recedere a Flex V2.5.2, aggiornale alla V2.5.4 o
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; applica una patch alla V2.5.3 la quale e' fornita in doc/README.flex
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Puoi ottenere la V.2.5.4 da:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ftp://prep.ai.mit.edu/pub/gnu/flex-2.5.4.tar.gz

3.5)&nbsp;&nbsp;&nbsp; Perche' ricevo un errore del tipo:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IpcMemoryCreate: memKey=155356396 , size=760632 ,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; permission=384IpcMemoryCreate: shmget(..., create, ...)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; failed: Invalid argument

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Non hai compilato il supporto IPC nel kernel di Linux.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Devi ricompilare il kernel con questa opzione.

3.6)&nbsp;&nbsp;&nbsp; Perche' psql fallisce con:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; psql: can't load library 'libpq.so.1'

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Psql e' stata compilata per linkarsi dinamicamente con la libreria libpq.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Per risolvere questo, devi accedere come root ed editare il file
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/ld.so.conf
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Aggiungi una linea singola alla fine, la quale prende il nome della directory
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delle librerie di PostgreSQL (la sottodirectory delle librerie&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dell'installazione diPostgreSQL) e lancia
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /sbin/ldconfig -v

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Alternativamente, (e se tu non hai accesso come root), devi usare la
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; variabile di ambiente LD_LIBRARY_PATH.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; La variabile LD_LIBRARY_PATH contiene una lista di paths per ricercare le librerie
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; condivise. Questa lista e' ricercata prima delle librerie specificate da ldconfig.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Percio' sotto Bash, devi fare qualcosa del tipo:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; export LD_LIBRARY_PATH='PathToPGSQL'/lib
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o, usando tcsh
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setenv LD_LIBRARY_PATH 'PathToPGSQL'/lib
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rimpiazzando 'PathToPGSQL' con l'appropriato path alla tua directory PostgreSQL
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; al top level.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Nota che il comando ldd puo' essere eseguito su un programma linkato dinamicamente
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alla lista di paths a tutte le librerie condivise sopra, alle quali gli eseguibili
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dipendono.


3.7)&nbsp;&nbsp;&nbsp; Altri comportamenti strani

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Non sono sicuro quali siano i sintomi che non permettono la corretta esecuzione,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ma si puo' ipotizzare che le ragioni vadano oltre il regolare funzionamento del&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; loader dinamico nel caricare la corretta versione delle librerie libpq.&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Se hai una versione vecchia dai una occhiata al path delle librerie
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (per esempio in /usr/lib) che dovrebbero caricare nelle nuove versioni che intendi
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; far girare. Renditi sicuro di prendere queste nel percorso e guarda la Domanda 3.6&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; per i dettagli in merito al caricamento dinamico delle librerie.

3.8)&nbsp;&nbsp;&nbsp; Quando PostgreSQL e' attivo allo shutdown di sistema, Linux
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; esegue al reboot un fsck al disco.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ci sono state alcune segnalazioni di questo e sembre essere il
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; risultato di lanciare PostgreSQL dal /etc/inittab come suggerito
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nel file INSTALL.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Si raccomanda percio' di lanciare il postmaster da un rc script.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sotto una versione di tipo Slackware, devi modificare /etc/rc.d/rc.local
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; per lanciare il postmaster. Sotto una versione in stile RedHat
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; devi creare uno script in stile SysV sotto /etc/rc.d/rc3.d basato
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sul file /etc/rc.d/init.d.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C'e' un esempio di file in contrib/linux/postgres.init

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Un altro file di esempio &egrave; proposto da John Robinson&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<john@intelligent.co.uk> il quale puo' essere modificato a seconda delle esigenze:

#!/bin/sh
#
# postgreSQL.init This shell script takes care of starting and stopping
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the PostgreSQL postmaster.
#

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] &amp;&amp; exit 0

# See how we were called.
case "$1" in
&nbsp; start)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Start daemons.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -n "Starting postgres Postmaster daemon:"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [ -z "`pidofproc postmaster`" ]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; su postgres -c "/usr/local/pgsql/bin/postmaster -D /home/postgreSQL/data -p 5432 &amp;"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -n " postmaster"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -n " (already running)"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; touch /var/lock/subsys/postgres
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;
&nbsp; stop)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Stop daemons.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -n "Shutting down postgres Postmaster daemon: "
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; killall -TERM postmaster 2>/dev/null
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; killall -TERM postgres 2>/dev/null
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rm -f /var/lock/subsys/postgres
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;
&nbsp; *)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "Usage: postgres {start|stop}"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit 1
esac

exit 0



3.9)&nbsp;&nbsp;&nbsp; Perche' la Query 32 nel test di regressione pretende molto tempo?

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Questo e' un bug nello script di regressione presente su Linux Os.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ci sono due raggiri per evitarli (informazione di Tatsuo Ishii&nbsp;<t-ishii@sra.co.jp>):

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1. cambia quello che segue in regress.sh:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; time postgres -texecutor -tplanner -Q bench &lt; bench.sql
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; postgres -texecutor -tplanner -Q bench &lt; bench.sql

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2. dopo aver lanciato il test, rimuovi la linea finale di&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bench.out, qualcosa del tipo:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 85.86user 114.47system 4:49.20elapsed 69%CPU (0avgtext+0avgdata 0maxresident)k
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; poi digita:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sh ./perquery &lt; bench.out > &amp; bench.out.perquery



3.10)&nbsp;&nbsp; Perche' ricevo dei risultati arrotondati su date/time aritmetici,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; come
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select '4 hours'::timespan;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; returning '3 hours 59 minutes 60 seconds'?

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stai usando le nuove librerie glibc2 e hai una versione precedene alla
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.0.7. E' un problema di arrotondamento matematico nella libreria.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Aggiorna le tue librerie.</PRE>

<PRE>
----------------------------------------------------------------------------
Dr. Andrew C.R. Martin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; University College London
EMAIL: (Work) martin@biochem.ucl.ac.uk&nbsp;&nbsp;&nbsp; (Home) andrew@stagleys.demon.co.uk
URL:&nbsp;&nbsp; http://www.biochem.ucl.ac.uk/~martin
Tel:&nbsp;&nbsp; (Work) +44(0)171 419 3890&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (Home) +44(0)1372 275775
----------------------------------------------------------------------------
Daniele Medri 'MaDriD' - e-mail: madrid@darshan.org web: www.darshan.org&nbsp;&nbsp;
----------------------------------------------------------------------------</PRE>

</BODY>
</HTML>