Workers As Needed broken in v2.4.7
Bug Summary
When building an assembly with --workers-as-needed an error will occur when trying to build a worker with a new parameter configuration saying it is not valid even though if I manually added the configuration to the -build.xml it would build no problem. This was not an issue in previous releases.
Steps to reproduce
Specify a worker in an assembly with parameters that would cause the worker-auto-build.xml to be generated.
Relevant logs and/or screenshots
ocpidev build --hdl-platform e31x --workers-as-needed
Warning: HDL worker "timegate_csts" found in component library "../../../imports/ocpi.assets/exports/lib/util_comps" (/home/user/gitlab/opencpi/projects/assets/components/util_comps/lib), but build config "2" not built for target "zynq"
/home/user/gitlab/opencpi/cdk/include/hdl/hdl-assembly.mk:264: warning: overriding recipe for target 'all'
/home/user/gitlab/opencpi/cdk/include/xxx-worker.mk:184: warning: ignoring old recipe for target 'all'
Building HDL worker timegate_csts configuration 2 target zynq in library ../../../imports/ocpi.assets/exports/lib/util_comps now...
Generating the VHDL constants file for config 2: target-2-zynq/generics.vhd
For file timegate_csts.xml: For worker "timegate_csts", build configuration 2 is not valid
make[1]: *** [/home/user/gitlab/opencpi/cdk/include/hdl/hdl-make.mk:777: target-2-zynq/generics.vhd] Error 1
make: *** [/home/user/gitlab/opencpi/cdk/include/hdl/hdl-core2.mk:104: ../../../imports/ocpi.assets/exports/lib/util_comps/hdl/zynq/timegate_csts_c2.edf] Error 2
gen/timegate_csts-auto-build.xml
<build>
<configuration id="2">
<parameter name="CDC_FIFO_DEPTH" value="16384"/>
</configuration>
</build>
timegate instance in assembly:
<Instance Worker='timegate_csts'>
<Property Name='DATA_WIDTH' Value='32'/>
<Property Name='CDC_FIFO_DEPTH' Value='16384'/>
</Instance>
Environment info
- OpenCPI Version used: 2.4.7
- Environment vars (
env | grep -i ocpi | sort
):
OCPI_CDK_DIR=/home/user/gitlab/opencpi/cdk
OCPI_PREREQUISITES_DIR=/home/user/gitlab/opencpi/prerequisites
OCPI_ROOT_DIR=/home/user/gitlab/opencpi
OCPI_TOOL_ARCH=x86_64
OCPI_TOOL_DIR=ubuntu20_04
OCPI_TOOL_OS=linux
OCPI_TOOL_OS_VERSION=u20_04
OCPI_TOOL_PLATFORM_DIR=/home/user/gitlab/opencpi/project-registry/ocpi.core/exports/rcc/platforms/ubuntu20_04
OCPI_TOOL_PLATFORM=ubuntu20_04
OCPI_XILINX_DIR=/tools/Xilinx
- Operating System and version: ubuntu20.04
Possible fixes
This seemed to be working fine in previous versions.