Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Parallel Analysis not working #829

@mikey

Description

@mikey

Description
Parallel Analysis doesn't work. This seems to be due to two ghdl instances trying to write to the library file.

Expected behaviour
You should be able to Analyse in parallel for use with make -j

Context

  • OS: Linux (but I assume others
  • Origin:
    • [ X ] Built from sources. Commit SHA: Latest upstream 5035b12

Additional context
Add any other context about the problem here. If applicable, add screenshots to help explain your problem.

How to reproduce?


% cat a.vhdl 
entity a is
end a;
architecture behav of a is
begin
end behav;
% cat b.vhdl 
entity b is
end b;
architecture behav of b is
begin
end behav;
% # Normal serial build works
% ghdl -a a.vhdl ; ghdl -a b.vhdl
% cat work-obj93.cf 
v 4
file . "b.vhdl" "a87ccd5ebb2cf7e927c48522e6c90a7cc480e9f5" "20190530004107.133":
  entity b at 1( 0) + 0 on 13;
  architecture behav of b at 3( 19) + 0 on 14;
file . "a.vhdl" "0ae1f52e3d5838da94996b793a4dbb5e8f0d311e" "20190530004107.106":
  entity a at 1( 0) + 0 on 11;
  architecture behav of a at 3( 19) + 0 on 12;
% \rm work-obj*

% # now as parallel build
% ghdl -a a.vhdl & ghdl -a b.vhdl & wait
[1] 23239
[2] 23240
[1]-  Done                    ghdl -a a.vhdl
[2]+  Done                    ghdl -a b.vhdl
% cat work-obj93.cf 
v 4
file . "b.vhdl" "a87ccd5ebb2cf7e927c48522e6c90a7cc480e9f5" "20190530004124.927":
  entity b at 1( 0) + 0 on 11;
  architecture behav of b at 3( 19) + 0 on 12;
% 

The second parallel build is missing the a.vhdl entry in work-obj93.cf

Also sometimes results in ghdl:error: cannot update library file "work-obj93.cf"

Checklist
Before submitting your issue, please review the following checklist:

  • Add GHDL Bug occurred log block
  • [ X ] Add a MWE
  • [ X ] Try the latest version

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions