The build generates errors
If the C++ class files that are generated from the SPL source code are not up-to-date, build errors can occur.
The ASN1Parse operator evaluates the SPL output port schema and determines the corresponding C++ types on each level of the SPL output port schema.
C++ type information is not fully accessible with the Streams SPL::CodeGen Perl module. Therefore, the ASN1Parse operator evaluates the C++ type classes, which are generated by the sc compiler and located in the output directory (sc option --output-directory=VALUE, which specifies the directory into which the application artifacts are placed).
Diagnosing the problem
Because of concurrent build process, SPL type classes may not be up-to-date when the ASN1Parse operator reads them from hard disk. In this case, a compilation error similar to the following example can occur, especially if the output schema is reduced because of a grammar change:
make: *** No rule to make target `src/operator/ParsedRecords/BOOLEAN.c', needed by `build/operator/ParsedRecords.o'. Stop.
CDISP0141E ERROR: The compilation of the generated code failed.
Resolving the problem
- Clean the project or manually remove the output directory.
- Rebuild the project.