-
Notifications
You must be signed in to change notification settings - Fork 396
Open
Description
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 occurredlog block - [ X ] Add a MWE
- [ X ] Try the latest version
sean-anderson-seco and maehne