File: known-problems-21

package info (click to toggle)
gprbuild 2015-6
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 3,228 kB
  • ctags: 67
  • sloc: ada: 27,214; xml: 4,127; makefile: 337; sh: 227; cpp: 89; fortran: 62; ansic: 37
file content (438 lines) | stat: -rw-r--r-- 16,075 bytes parent folder | download
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
======================================
Known problems in GPRBUILD version 2.1
======================================

Copyright (C) 2013-2014, AdaCore

The following is a listing of known problems in releases 2.1.1 and 2.1.2.
Each entry contains a status line stating when the problem was fixed, and on
which release(s). In addition, any wavefront issued subsequent to the date
specified (in ISO format YYYY-MM-DD) also contains the fix. This can be used
to determine if a given release or wavefront has the fix identified in the
entry.

Note that older releases might or might not be affected by the problems listed
in this document.

Known problems fixed in 2.2.1 and above
---------------------------------------

KP-21-NB04-012 aggregate project and illegal source compiled several times

  Problem:    When gprbuild is invoked with -jnn on a main aggregate project,
              and the same illegal source in different projects in different
              project trees needs to be compiled, gprbuild may crash.

  Status:     This was fixed in 2.3 on 2014-11-04
              This was fixed in 2.2.1 on 2014-12-11

  Workaround: Invoke gprbuild without -jnnn.

KP-21-NA22-018 Aggregate project, -k and compilation errors

  Problem:    When gprbuild is invoked with -k on a main aggregate project,
              the exit code is successful even when there were compilation
              errors.

  Status:     This was fixed in 2.2 on 2014-10-22

  Workaround: Do not check exit code for gprbuild -k with a main aggregate
              project.

KP-21-NA01-037 GPRslave stall when compilation are interrupted

  Problem:    When interrupting (ctrl-c) a distributed compilation it may
              happen that the gprslave application becomes unresponsive.
              The only solution is to restart the gprslave application.

  Status:     This was fixed in 2.2 on 2014-10-14

  Workaround: Avoid interrupting a distributed compilation

KP-21-N922-032 Detect wrong usage of distributed builds

  Problem:    Compiling using the same build environment (directory) on
              the a slave is erroneous and will at some point lock the
              slave. This can happen if multiple distributed compilations
              are started from the same computer using a project file with
              the same name for example.

  Status:     This was fixed in 2.2 on 2014-09-23

  Workaround: Use --slave-env with different names

KP-21-N909-016 Cannot install extended projects

  Problem:    Sources files and corresponding object and dependency files
              from an extended projects are not properly install with
              GPRinstall.

  Status:     This was fixed in 2.2 on 2014-09-10

  Workaround: Install the missing files manually

KP-21-N814-013 Assembly languages and dependencies

  Problem:    Dependencies were not taken into account for the assembly
              languages Asm, Asm2 and Asm_Cpp.

  Status:     This was fixed in 2.2 on 2014-08-20

  Workaround: Add a Dependency_Switches declaration in package Compiler of the
              project file.

KP-21-N728-003 Resources not properly freed in distributed mode

  Problem:    In distributed compilation mode the gprslave process was
              not releasing the socket file descriptors. This in turn
              was raising an exception after some time when some system
              limits were reached.

  Status:     This was fixed in 2.2 on 2014-07-28

  Workaround: Restart the gprslave process every day.

KP-21-N707-025 Empty value of 'Target

  Problem:    When gprbuild is call with --target= and attribute Target
              is not declared, the value of project'Target is the empty string.

  Status:     This was fixed in 2.2 on 2014-09-05

  Workaround: Declare attribute Target in the project file.

KP-21-N626-044 Unexpected recompilation in distributed mode

  Problem:    When building in distributed mode using slaves in a different
              time-zone some unexpected recompilation are done.

  Status:     This was fixed in 2.2 on 2014-06-27

  Workaround: Use only compilation slaves in the same time-zone.

KP-21-N623-009 Missing link step in distributed mode

  Problem:    When building in distributed mode projects with a user's
              defined language it may happen that the final link step
              is skipped.

  Status:     This was fixed in 2.2 on 2014-06-30

  Workaround: Avoid using the distributed compilation with user's
              defined languages.

KP-21-N514-009 Compilation switches -mxxx inhibited

  Problem:    When gprbuild is invoked without --codepeer, compilation
              switches of the form -mxxx are not transmitted to the compiler.

  Status:     This was fixed in 2.2 on 2014-05-14

  Workaround: Use gnatmake instead of gprbuild when using -mxxx switches.

KP-21-N507-022 gprinstall fail to install executable in aggregated projects

  Problem:    If the aggregated project is not using the default executable
              name using a package Binder Executable attribute, gprinstall
              will fail.

  Status:     This was fixed in 2.2 on 2014-05-07

  Workaround: Install the aggregated projects separately.

KP-21-N505-036 Aggregate library directories

  Problem:    In some cases, when an aggregate library project had its
              library directory or its library ALI directory the same as the
              object directory of library directory of one of its aggregated
              projects, gprbuild is unable to build correctly the aggegate
              library.

  Status:     This was fixed in 2.2 on 2014-05-06

  Workaround: Avoid the situation described above.

KP-21-N429-037 gprinstall may fail to remove symbolic links

  Problem:    Uninstalling using gprinstall may leave symbolic links (created
              for shared libraries) dangling.

  Status:     This was fixed in 2.2 on 2014-04-30

  Workaround: Remove the file manually.

KP-21-N423-036 Installation of aggregate SAL projects

  Problem:    gprinstall does not install properly aggregate Stand-Alone
              Library projects. In particular, no ALI file is copied to
              the library ALI directory.

  Status:     This was fixed in 2.2 on 2014-04-25

  Workaround: Avoid installation of aggregate library projects.

KP-21-N422-033 Library exchange files of aggregate libraries

  Problem:    gprbuild creates the library exchange file of an aggregate
              library project in the project directory, which may be read-only.

  Status:     This was fixed in 2.2 on 2014-04-25

  Workaround: Make sure that the project directory of an aggregate library
              project is writable.

KP-21-N422-024 gprinstall fails to properly install shared SAL

  Problem:    Shared standalone libraries are not properly installed and
              cannot be used once install by gprinstall.

  Status:     This was fixed in 2.2 on 2014-04-22

  Workaround: install the library manually.

KP-21-N422-023 gprinstall fails to properly install static SAL

  Problem:    Static standalone libraries are not properly installed and
              cannot be used once install by gprinstall.

  Status:     This was fixed in 2.2 on 2014-04-22

  Workaround: install the library manually.

KP-21-N416-050 Files not properly synchronized in distributed compilation

  Problem:    Some files are not properly synchronized when using two
              directories for the same projects.

  Status:     This was fixed in 2.2 on 2014-04-17

  Workaround: clear the remote slave environment (using gprclean) when
              switching from one directory to another.

KP-21-N411-006 Better handle unexpected events in gprslave

  Problem:    In some cases (using old build master) gprslave could freeze
              and become unresponsive.

  Status:     This was fixed in 2.2 on 2014-04-12

  Workaround: do not use an old build master with recent gprslave version

KP-21-N409-006 Truncated files on distributed builds

  Problem:    If GPRbuild is killed abruptly it can happen that some truncated
              sources are left on the slave's side.

  Status:     This was fixed in 2.2 on 2014-04-09

  Workaround: remove all files on the slaves using GPRclean.

KP-21-N407-021 Hard killing a build master makes slaves unresponsive

  Problem:    Hard killing with ctrl-c a build master while synchronization of
              sources is in progress makes the slaves unresponsive.

  Status:     This was fixed in 2.2 on 2014-05-01

  Workaround: restart the remote slaves

KP-21-N407-018 Fail to clean-up remote slave with gpr protocol

  Problem:    When using the gpr protocol it is not possible to clean-up the
              remote slaves with gprclean.

  Status:     This was fixed in 2.2 on 2014-04-07

  Workaround: use the rsync protocol for cleaning-up the remote slaves.

KP-21-N331-007 Fail to compile large sources in distributed mode

  Problem:    When a project contains large sources or large objects
              gprbuild may fail during the compilation phase when using
              the gpr protocol.

  Status:     This was fixed in 2.2 on 2014-04-02

  Workaround: use the rsync distributed compilation protocol.

KP-21-N319-020 gprbuild fails with binder switch "-s"

  Problem:    When gprbuild is invoked with the binder switch "-s". the binding
              phase will fail as gnatbind is unable to find the sources.

  Status:     This was fixed in 2.2 on 2014-03-19

  Workaround: Do not use binder switch "-s" when using gprbuild.

KP-21-N318-025 gprinstall does not recognized -d option

  Problem:    The -d option (short version of --dry-run) is documented
              but not recognized by gprinstall.

  Status:     This was fixed in 2.2 on 2014-03-19

  Workaround: Uses --dry-run instead.

KP-21-N313-008 gprinstall fails with spec naming exception

  Problem:    When gprinstall is invoked to install a library project file
              that is not a Stand-Alone Library and there is a spec with
              a naming exception, the installation will fail.

  Status:     This was fixed in 2.2 on 2014-03-13

  Workaround: Avoid spec naming exceptions in library project file.

KP-21-N310-027 gprbuild wait indefinitely for some compilation results

  Problem:    If the Remote package Root_Dir attribute is not properly set
              gprbuild may not terminate.

  Status:     This was fixed in 2.2 on 2014-03-10

  Workaround: fix the Root_Dir attribute value.

KP-21-N120-075 gprclean -r and cycles in externally built projects

  Problem:    When there are several externally built projects in the project
              tree and some of them form a cycle, through limited withs,
              invoking gprclean with switch -r will result in a crash.

  Status:     This was fixed in 2.2 on 2014-01-21

  Workaround: Avoid circularities in externally built projects or invoke
              gprclean without switch -r.

KP-21-N103-018 Failure to link on target powerpc-xcoff-lynxos178

  Problem:    For target powerpc-xcoff-lynxos178, when there are two many
              object files to be linked, because a response file is not used,
              the linking phase may fail.

  Status:     This was fixed in 2.2 on 2014-01-06

  Workaround: Add these two lines in package Linker of the main project:
                for Response_File_Format use "GCC_GNU";
                for Max_Command_Line_Length use "8192";

KP-21-MB30-011 Garbled output from parallel invocations of gnatbind

  Problem:    When gprbuild is invoked with -jnn and there are several mains,
              several invocations of gprbind may be running in parallel and
              their displayed gnatbind invocations may be garbled.

  Status:     This was fixed in 2.2 on 2013-12-01

  Workaround: Ignore the problem or invoke gprbuild without -jnn.

KP-21-MB26-007 Dependency builder must be invoked from the object directory

  Problem:    When gprbuild performs parallel compilations and for some
              language a dependency builder is invoked to build a dependency
              file, the dependency builder may be invoked from the object
              directory of another project and thus may fail if some of its
              arguments are relative paths.

  Status:     This was fixed in 2.2 on 2013-11-27

  Workaround: Use absolute paths for the arguments of a dependency builder.

KP-21-MB05-034 gprinstall fails to install projects built with sub-dirs

  Problem:    gprinstall is not able to install a code which has been
              built with gprbuild's --subdirs option.

  Status:     This was fixed in 2.2 on 2013-11-05

  Workaround: Install the code manually.

KP-21-MA31-004 Aggregated libraries and externally built

  Problem:    gprbuild was not properly dealing with externally built
              projects on the dependencies. First it was trying to add the
              object code from such libraries and failed to pass the library
              on to the linker.

  Status:     This was fixed in 2.2 on 2013-11-01

  Workaround: Remove the externally built projects from the dependencies if
              possible and pass the corresponding library to the linker.

KP-21-MA30-041 Aggregated libraries and gprinstall

  Problem:    gprinstall was not properly handling aggregate libraries. The
              installation was failing and/or the generated project was not
              usable.

  Status:     This was fixed in 2.2 on 2013-11-02

  Workaround: Install the software using a script.

Known problems fixed in 2.1.2 and above
---------------------------------------

KP-21-N421-002 Failing installing artifacts with gprinstall

  Problem:    When installing a static and relocatable build of the same
              libraries for a library project having some artifacts,
              gprinstall complains that the artifacts are already installed.

  Status:     This was fixed in 2.2 on 2014-04-21
              This was fixed in 2.1.2 on 2014-05-14

  Workaround: force installation for the second gprinstall call using -f

KP-21-N207-022 Fail to compile sources in distributed mode

  Problem:    Top level sources (sources found at the project's root
              directory) will fail to compile on remote compilation slaves.

  Status:     This was fixed in 2.1.2 on 2014-02-07

  Workaround: do not use the distributed compilation mode

KP-21-N206-041 wrong permissions set by gprinstall for binaries

  Problem:    On UNIX, a binary installed with gprinstall will have the
              executable permission set only for the owner. This will prevent
              others to execute this binary. It is a problem when installing
              an application in a shared computer for example.

  Status:     This was fixed in 2.2 on 2014-02-06
              This was fixed in 2.1.2 on 2014-05-14

  Workaround: change the permissions manually using chmod

Known problems fixed in 2.1.1 and above
---------------------------------------

KP-21-MB06-054 gprinstall and shared library with version on windows

  Problem:    On Windows, gprinstall fails while installing a shared library
              project when the attribute Library_Version is defined.

  Status:     This was fixed in 2.2 on 2013-11-06
              This was fixed in 2.1.1 on 2013-11-27

  Workaround: Manually install the library.

KP-21-MB06-015 gprinstall and standalone libraries

  Problem:    gprinstall does not generate a usable project file for
              standalone libraries.

  Status:     This was fixed in 2.2 on 2013-11-06
              This was fixed in 2.1.1 on 2013-11-27

  Workaround: Manually adds the Library_Interface and Library_Standalone
              attributes.

KP-21-MB05-020 gprconfig does not detect non GNAT gcc C and g++ compilers

  Problem:    gprconfig does not find all non GNAT gcc C and g++ compilers.

  Status:     This was fixed in 2.2 on 2013-11-07
              This was fixed in 2.1.1 on 2013-12-10

  Workaround: Manually edit a configuration project file and use it with
              gprbuild.