Error Reference

Categories

1001 - 1099 : General Parsing Errors

1001 - Missing string start token " or '.
As string was expected at the location shown, but a string start token (" or ') was not encountered.

Example Config:

Alias( name ) ; The name should be quoted { }

Example Output:

c:\Test\fbuild.bff(1):(8) FASTBuild Error #1001 - Alias() - Missing string start token " or '. Alias( name ) ^ \--here
1003 - Empty string not allowed in Function header.
A Function header was provided an empty string as an argument, when an empty string is not supported.

Example Config:

Alias( "" ) ; Alias argument requires a non-empty string { }

Example Output:

c:\Test\fbuild.bff(1):(8) FASTBuild Error #1003 - Alias() - Empty string not allowed in Function header. Alias( "" ) ^ \--here
1004 - Empty string not allowed for property '%s'.
A property was defined as a string with an empty value in a context where this is not supported.

Example Config:

Library { .LibrarianOutput = "" ; This should be a valid path }

Example Output:

c:\Test\fbuild.bff(1):(1) FASTBuild Error #1004 - Library() - Empty string not allowed for property '%s'. Library ^ \--here
1005 - Unsupported node type in '%s'. (Node: '%s', Type: '%s')
A Function references a previously defined node, but that node is of a type that cannot be sensibly handled in the context of said Function. For example, an Executable can link previously defined libraries, but not Unity nodes.

Example Config:

Unity( "MyUnity" ) { .UnityInputPath = "Code\" .UnityOutputPath = "Tmp\" } Executable( "MyExe" ) { .Libraries = "MyUnity" ; Can't link to unity generated files .Linker = "link.exe" .LinkerOptions = "%1 %2" .LinkerOutput = "Tmp\my.exe" }

Example Output:

c:\Test\fbuild.bff(6):(1) FASTBuild Error #1005 - Executable() - Unsupported node type in 'Libraries'. (Node: 'MyUnity', Type: 'Unity') Executable( "MyExe" ) ^ \--here
1006 - Nothing defined to be built.
A target was configured, but no inputs (or rules to find inputs) were provided. This Function can therefore never result in any useful build output.

Example Config:

Library( "lib" ) { .Compiler = "cl.exe" .CompilerOutputPath = "Tmp\" .CompilerOptions = "%1 %2" .Librarian = "lib.exe" .LibrarianOutput = "Tmp\" .LibrarianOptions = "%1 %2" ; No inputs are specified for this library }

Example Output:

c:\Test\fbuild.bff(1):(1) FASTBuild Error #1006 - Library() - Nothing defined to be built. Library( "lib" ) ^ \--here
1007 - Expected a variable at this location.
A variable was expected, but some other symbol was encountered.

Example Config:

Using( "String" )

Example Output:

c:\test\fbuild.bff(1):(8) FASTBuild Error #1007 - Using() - Expected a variable at this location. Using( "String" ) ^ \--here
1008 - Expected a variable of type '%s', but got '%s'.
A variable of a particular type was expected, but a variable of some other type was encountered.

Example Config:

.String = "String" Using( .String )

Example Output:

c:\test\fbuild.bff(2):(8) FASTBuild Error #1008 - Using() - Expected a variable of type 'Struct', but got 'String'. Using( .String ) ^ \--here
1009 - Unknown variable.
A variable which has not been defined was referenced inside another variable assignment or concatenation.

Example Config:

.Var = "$OtherVar$"

Example Output:

c:\Test\fbuild.bff(1):(10) FASTBuild Error #1009 - Unknown variable. .Var = "$OtherVar$" ^ \--here
1010 - Unknown construct.
A high level construct (e.g. Function, Variable Assignment or Comment) was expected at the location shown, but instead an unknown construct was encountered.

Example Config:

%

Example Output:

c:\Test\fbuild.bff(1):(1) FASTBuild Error #1010 - Unknown construct. % ; There is no valid token that starts with a % ^ \--here
1011 - Unnamed concatenation must follow a variable assignment in the same scope.
The variable concatenation operator was used without specifying the variable to append to. This is supported, provided the destination variable was previously referenced

Example Config:

+ "String" ; No variable to assign to .MyVar = "hello" + "String" ; The destination variable can be inferred

Example Output:

c:\Test\fbuild.bff(1):(7) FASTBuild Error #1011 - Unnamed concatenation must follow a variable assignment in the same scope. + "String" ^ \--here
1012 - Unexpected end of file.
While processing a construct, the end of the file was encountered. The construct is therefore incomplete and cannot be understood.

Example Config:

.MyVar

Example Output:

c:\Test\fbuild.bff(1):(7) FASTBuild Error #1012 - Unexpected end of file. .MyVar ^ \--here
1013 - Unexpected character '%c' in variable name.
Following a variable declaration character (.) an unsupported or unexpected character was encountered. Valid characters for variable names are A-Z, a-z and 0-9.

Example Config:

.#MyVar

Example Output:

c:\Test\fbuild.bff(1):(2) FASTBuild Error #1013 - Unexpected character '#' in variable name. .#MyVar ^ \--here
1014 - Variable name is too long. (Length: %u, MaxLength: %u)
A variable with a name greater than 64 characters was encountered. 64 characters is imposed as a sanity check limit for variable names.

Example Config:

.MyVarWhoseNameIsFarTooLongAndBecauseOfThisWillCauseFASTBuildToOutputAnError = "value"

Example Output:

c:\Test\fbuild.bff(1):(77) FASTBuild Error #1014 - Variable name is too long. (Length: 76, MaxLength: 64) .MyVarWhoseNameIsFarTooLongAndBecauseOfThisWillCauseFASTBuildToOutputAnError = "value" ^ \--here
1015 - Unknown Function.
A function style token was encountered, but the name does not correspond to any supported function.

Example Config:

InvalidFunction() { }

Example Output:

c:\Test\fbuild.bff(1):(1) FASTBuild Error #1015 - Unknown Function. InvalidFunction() ^ \--here
1016 - Unexpected character '%c' following variable name.
Following the declaration of a variable, and unexpected or unsupported character was found where an operator was expected.

Example Config:

.MyVarA = 10 .MyVarB. = 20

Example Output:

c:\Test\fbuild.bff(2):(8) FASTBuild Error #1016 - Unexpected character '.' following variable name. (Expected operator) .MyVarB. = 20 ^ \--here
1017 - Unexpected character '%c' in variable value.
At the location of an expected variable value, an unexpected character was encountered. See the Synax Guide for details of valid variable types and their syntax.

Example Config:

.Var = whatisthis ; if this is a string, it should be quoted

Example Output:

c:\test\fbuild.bff(1):(8) FASTBuild Error #1017 - Unexpected character 'w' in variable value. .Var = whatisthis ; if this is a string, it should be quoted ^ \--here
1018 - Integer value could not be parsed.
While parsing an integer variable declaration, an error was encountered because the integer is malformed or too large to be stored as a 32-bit signed value.

Example Config:

.MyInt = 123456789123456789

Example Output:

c:\Test\fbuild.bff(1):(10) FASTBuild Error #1018 - Integer value could not be parsed. .MyInt = 123456789123456789 ^ \--here
1020 - Function can only be invoked once.
A Function which can only be invoked once per configuration was encountered two or more times.

Example Config:

Settings { .CachePath ='c:\.cache' } Settings { .CachePath ='d:\.cache' }

Example Output:

c:\Test\fbuild.bff(5):(1) FASTBuild Error #1020 - Settings() - Function can only be invoked once. Settings ^ \--here
1021 - Unexpected Function header.
An attempt to invoke a Function with a header was made, where the Function does not accept a header.

Example Config:

Settings( "bad" ) { }

Example Output:

c:\Test\fbuild.bff(1):(9) FASTBuild Error #1021 - Settings() - Unexpected Function header. Settings( "bad" ) ^ \--here
1022 - Missing Function header close token '%c'.
While parsing a function header, the closing ')' could not be found to terminate the header.

Example Config:

Alias( "name" { }

Example Output:

c:\Test\fbuild.bff(1):(6) FASTBuild Error #1022 - Alias() - Missing Function header close token ')'. Alias( "name" ^ \--here
1023 - Function requires a header.
An attempt was made to invoke a Function without a header, where the given Function requires one.

Example Config:

Alias { .Targets = { "a", "b" } }

Example Output:

c:\Test\fbuild.bff(2):(1) FASTBuild Error #1023 - Alias() - Function requires a header. { ^ \--here
1024 - Function requires a body.
An attempt was made to invoke a Function without a body, where the Function requires one.

Example Config:

Alias( "name" )

Example Output:

c:\Test\fbuild.bff(1):(1) FASTBuild Error #1024 - Alias() - Function requires a body. Alias( "name" ) ^ \--here
1025 - Missing scope close token '}'.
While parsing a Function body, the closing '}' token could not be found.

Example Config:

Alias( "name" ) {

Example Output:

c:\Test\fbuild.bff(2):(1) FASTBuild Error #1025 - Alias() - Missing scope close token '}'. { ^ \--here
1026 - Variable '%s' not found for concatention.
An attempt was made to concatenate to a variable that was not previously defined.

Example Config:

.Nonexistant + "string"

Example Output:

c:\Test\fbuild.bff(1):(15) FASTBuild Error #1026 - Variable '.DoesNotExist' not found for concatention. .DoesNotExist + "string" ^ \--here
1027 - Cannot concatenate <%s> to <%s> for Variable '%s'.
An attempt was made to concatenate two variables of differing types, where such an operation is not supported.

Example Config:

.MyVar = "string"; .MyVar + 7

Example Output:

c:\Test\fbuild.bff(2):(8) FASTBuild Error #1027 - Cannot concatenate <Int> to <Any> for Variable '.MyVar'. .MyVar + 7 ^ \--here
1028 - Cannot find '$' to end variable substitution
A variable substitution was begun, but not properly terminated.

Example Config:

.String1 = "string" .String2 = "$String1" ; Missing the closing $

Example Output:

c:\Test\fbuild.bff(2):(13) FASTBuild Error #1028 - Cannot find '$' to end variable substitution. .String2 = "$String1" ^ \--here
1029 - Variable for substitution '%s' is not a string (Type: <%s>).
A string substitution was attempted with a non-string variable.

Example Config:

.MyBool = true .MyString = "$MyBool$"

Example Output:

c:\Test\fbuild.bff(2):(15) FASTBuild Error #1029 - Variable for substitution 'MyBool' is not a string (T ype: ). .MyString = "$MyBool$" ^ \--here
1030 - Unknown directive '%s'.
An unkown directive was encountered during parsing.

Example Config:

#zzz

Example Output:

c:\test\fbuild.bff(1):(2) FASTBuild Error #1030 - Unknown directive 'zzz'. #zzz ^ \--here
1031 - Unknown char '%c' following '%s' directive. (Expected '%c').
Following a recognized directive, an unexpected character was encountered. Expected characters vary depending on the directive.

Example Config:

#include(

Example Output:

c:\test\fbuild.bff(1):(9) FASTBuild Error #1031 - Unknown char '(' following 'include' directive. (Expected '"'). #include( ^ \--here
1032 - Unable to open include '%s'.
The specified include file could not be opened.

Example Config:

#include "missingfile.bff"

Example Output:

c:\test\fbuild.bff(1):(11) FASTBuild Error #1032 - Unable to open include 'missingfile.bff'. #include "missingfile.bff" ^ \--here
1033 - Error reading include '%s' (Error: %u).
A read error occurred when reading the included file.

Example Config:

#include "errorfile.bff"

Example Output:

c:\test\fbuild.bff(1):(11) FASTBuild Error #1033 - Error reading include 'errorfile.bff' (Error: 4). #include "errorfile.bff" ^ \--here
1034 - Operation not supported: '%s' %s '%s'.
An operation was attempted between two types that cannot support the operation.

Example Config:

.Var1 = 123 .Var2 = "String" .Var2 + .Var1 // incompatible types

Example Output:

c:\test\fbuild.bff(3):(9) FASTBuild Error #1034 - Operation not supported: 'String' + 'Int'. .Var2 + .Var1 // incompatible types ^ \--here
1035 - Excessive depth complexity when parsing BFFs.
The maximum depth was reached during BFF parsing. This can be caused by a recursive include, or by an excessively complex BFF configuration.

Example Config:

#include "fbuild.bff" // include self

Example Output:

c:\test\fbuild.bff(1):(10) FASTBuild Error #1035 - Excessive depth complexity when parsing BFFs. Check for resursive includes or simplify config. #include "fbuild.bff" ^ \--here
1050 - Property '%s' must be of type <%s> (found <%s>).
The property of a Function was of a type other than that which is expected by the Function.

Example Config:

Library( "lib" ) { .LibrarianOutput = true }

Example Output:

c:\Test\fbuild.bff(1):(1) FASTBuild Error #1050 - Library() - Property '.LibrarianOutput' must be of type <String> (found <Bool>). Library( "lib" ) ^ \--here
1054 - Integer '%s' must be in range %u to %u.
An integer property of a Function was set out of range.

Example Config:

Unity( "name" ) { .UnityInputPath = "Code/" .UnityOutputPath = "Tmp/" .UnityNumFiles = 99999999 }

Example Output:

c:\Test\fbuild.bff(1):(1) FASTBuild Error #1054 - Unity() - Integer 'UnityNumFiles' must be in range 1 to 999. Unity( "name" ) ^ \--here

1100 - 1199 : Function Parameter Errors

1100 - Target '%s' already defined.
An attempt was made to define a target that was already defined.

Example Config:

Unity( "unity1" ) { .UnityInputPath = "Code\" .UnityOutputPath = "Tmp\" } Alias( "unity1" ) { .Targets = "unity1" }

Example Output:

c:\Test\fbuild.bff(6):(1) FASTBuild Error #1100 - Alias() - Target 'unity1' already defined. Alias( "unity1" ) ^ \--here
1101 - Missing required property '%s'.
An attempt was made to invoke a Function, but a required property was not set.

Example Config:

Alias( "name" ) { }

Example Output:

c:\Test\fbuild.bff(1):(1) FASTBuild Error #1101 - Alias() - Missing required property 'Targets'. Alias( "name" ) ^ \--here
1102 - '%s' ('%s') is of unexpected type '%s'. Expected '%s'.
The property of a Function was not of the expected type.

Example Config:

.Compiler = "cl.exe" .CompilerOptions = "%1 %2" .CompilerOutputPath = "Tmp\" .Librarian = "lib.exe" .LibrarianOptions = "%1 %2" Library( "lib1" ) { .CompilerInputPath = "Code\" .LibrarianOutput = "lib1.lib" } Library( "lib2" ) { .LibrarianOutput = "lib2.lib" .CompilerInputUnity = "lib1" }

Example Output:

c:\Test\fbuild.bff(11):(1) FASTBuild Error #1102 - Library() - 'CompilerInputUnity' ('lib1') is of unexpected type 'Alias'. Expected 'Unity'. Library( "lib2" ) ^ \--here
1103 - '%s' ('%s') is a '%s', which does not describe a file.
A Function parameter which can only reference a node which results in a file output references a non-file output node.

Example Config:

Unity( "Test" ) { .UnityInputPath = "Code\" .UnityOutputPath = "Tmp\" } Test( "RunTest" ) { .TestOutput = "Tmp\" .TestExecutable = "Test" }

Example Output:

c:\Test\fbuild.bff(6):(1) FASTBuild Error #1103 - Test() - 'TestExecutable' ('Test') is a 'Unity', which does not describe a file. Test( "RunTest" ) ^ \--here
1104 - '%s' ('%s') is not defined.
A Function references a node which has not been defined.

Example Config:

Test( "RunTest" ) { .TestOutput = "Tmp\" .TestExecutable = "Test.exe" }

Example Output:

c:\Test\fbuild.bff(1):(1) FASTBuild Error #1104 - Test() - 'TestExecutable' ('Test.exe') is not defined. Test( "RunTest" ) ^ \--here
1105 - Path not allowed for '%s' ('%s').
A path was provided for a property where a file is expected.

Example Config:

Copy { .Source = "Code\" // This should be a file .Dest = "tmp\" }

Example Output:

c:\test\fbuild.bff(1):(1) FASTBuild Error #1105 - Copy() - Path not allowed for '.Source' ('c:\test\Code\'). Copy ^ \--here

1200 - 1299 : ForEach Specific Errors

1200 - Expected a variable at this location.
The ForEach Function requires a specific syntax "ForEach( .X in .Y ) which has not been adhered to.

Example Config:

ForEach( "bad" ) { }

Example Output:

c:\Test\fbuild.bff(1):(10) FASTBuild Error #1200 - ForEach() - Expected a variable at this location. ForEach( "bad" ) ^ \--here
1201 - Missing 'in' at this location.
The ForEach Function requires a specific syntax "ForEach( .X in .Y ) which has not been adhered to.

Example Config:

ForEach( .I ) { }
c:\Test\fbuild.bff(1):(13) FASTBuild Error #1201 - ForEach() - Missing 'in' at this location. ForEach( .I ) ^ \--here

Example Output:

1202 - Expected a variable following 'in'.
The ForEach Function requires a specific syntax "ForEach( .X in .Y ) which has not been adhered to.

Example Config:

ForEach( .I in ) { }

Example Output:

c:\Test\fbuild.bff(1):(16) FASTBuild Error #1202 - ForEach() - Expected a variable following 'in'. ForEach( .I in ) ^ \--here
1204 - Variable '%s' contains %i elements, but loop is for %i elements.
A ForEach loop has been defined to loop through several Array properties, but not all Arrays are of the same size.

Example Config:

.Configs = { "debug", "release", "master" } .Options = { "a", "b" } ForEach( .Config in .Configs, .Option in .Options ) { }

Example Output:

c:\Test\fbuild.bff(4):(21) FASTBuild Error #1204 - ForEach() - Variable '.Options' contains 2 elements, but loop is for 3 elements. .Option in .Options ) ^ \--here

1300 - 1399 : Library Specific Errors

1300 - Precompiled Header use requires 'PCHInputFile', 'PCHOutputFile' and 'PCHOptions' parameters.
An attempt was made to use Precompiled headers for a Library, but not all required properties were defined.

Example Config:

Library( "lib" ) { .Compiler = "cl.exe" .CompilerInputPath = "Code\" .CompilerOutputPath = "Tmp\" .CompilerOptions = "%1 %2" .Librarian = "lib.exe" .LibrarianOutput = "Tmp\" .LibrarianOptions = "%1 %2" .PCHInputFile = "PrecompiledHeader.cpp" }

Example Output:

c:\Test\fbuild.bff(1):(1) FASTBuild Error #1300 - Library() - Precompiled Header use requires 'PCHInputFile', 'PCHOutputFile' and 'PCHOptions' parameters. Library( "lib" ) ^ \--here
1301 - Precompiled Header target '%s' has already been defined.
A Library using Precompiled Headers was defined, but the Precompiled Header output conflicts with an existing target.

Example Config:

.Configs = { "debug", "release" } ForEach( .Config in .Configs ) { Library( "lib-$Config$" ) { .Compiler = "cl.exe" .CompilerInputPath = "Code\" .CompilerOutputPath = "Tmp\" .CompilerOptions = "%1 %2" .Librarian = "lib.exe" .LibrarianOutput = "Tmp\" .LibrarianOptions = "%1 %2" .PCHInputFile = "PrecompiledHeader.cpp" .PCHOutputFile = "ProcompiledHeader.pch" .PCHOptions = "%1 %2" } }

Example Output:

c:\Test\fbuild.bff(4):(3) FASTBuild Error #1301 - Library() - Precompiled Header target 'ProcompiledHead er.pch' has already been defined. Library( "lib-$Config$" ) ^ \--here
1302 - Missing Precompiled Header option '%s' in '%s'.
A Library using Precompiled Headers was missing a required option. Compilation will not work correctly.

Example Config:

.Compiler = "cl.exe" .Librarian = "lib.exe" Library( "test" ) { .PCHInputFile = "PrecompiledHeader.cpp" .PCHOutputFile = "tmp\PrecompiledHeader.pch" .PCHOptions = '%1 /Fo"%3" /Yc"PrecompiledHeader.h" /Fp"%2" /c' .CompilerOutputPath = "tmp/" .CompilerOptions = "%1 /Fo%2" ; Missing options to use the PCH .LibrarianOutput = "test.lib" .LibrarianOptions = "/OUT:%2 %2" }

Example Output:

c:\test\fbuild.bff(3):(1) FASTBuild Error #1302 - Library() - Missing Precompiled Header option '/Yu' in 'CompilerOptions'. Library( "test" ) ^ \--here
1303 - Precompiled Header option '%s' in '%s' invalid. Only allowed on Precompiled Header.
An option to create Precompiled Headers was specified on a non-precompiled header file. Compilation will not work correctly. To use Precompiled Headers in a library, use the various .PCH* options.

Example Config:

.Compiler = "cl.exe" .Librarian = "lib.exe" Library( "test" ) { .CompilerOutputPath = "tmp/" .CompilerOptions = "%1 /Fo%2 /Yc" ; Not valid to use /Yc here .LibrarianOutput = "test.lib" .LibrarianOptions = "/OUT:%2 %2" }

Example Output:

c:\test\fbuild.bff(3):(1) FASTBuild Error #1303 - Library() - Precompiled Header option '/Yc' in 'CompilerOptions' invalid. Only allowed on Precompiled Header. Library( "test" ) ^ \--here