I try to build large project with many directories and sub-directories, some of them are being used to create different libs. using GNU make using same compilation flags. most of the folder are successfully built, but in a specific folder the build failed, and it gets many errors that some definitions is missing. For instance, the first error is:
In file included from /usr/include/c++/4.8.2/cwchar:44:0, from /usr/include/c++/4.8.2/bits/postypes.h:40, from /usr/include/c++/4.8.2/iosfwd:40, from /usr/include/c++/4.8.2/memory:72, ...
/usr/include/wchar.h:614:9: error: ‘__gnuc_va_list’ has not been declared
__gnuc_va_list __arg
) this error comes from simple #include at of the files in this lib, but same sort of error happens for any file and for different standard library headers.
The strength thing is that this project was completely successfully built before i pulled some updates from remote repository. at this merge no changes were done to this file. Tried to use
g++ -E /usr/include/wchar.h | grep __gnuc_va_list | head -1
result is:
typedef __builtin_va_list __gnuc_va_list;
As i see at this answer, __builtin_va_list shuould be created by gcc, and it probably did create it- otherwise many other files were failed to compile
I can't understand why it happens and why only at this folder/lib.