Flex/Bison problem
Question:
On some platforms bison/flex fail in the BALL installation process.
Answer:
For some platforms and headers, the throw specifiers of the code produced by flex/bison are incorrect.
This can be fixed by changing:
extern int isatty YY_PROTO(( int ));
to:
extern int isatty YY_PROTO(( int )) throw();
if the compiler fails with this error message:
error: declaration of `int isatty(int)' throws different exceptions /usr/include/unistd.h:712: error: than previous declaration `int isatty(int)throw ()'
This error affects the following files:
BALL/source/KERNEL/expressionParserLexer.CBALL/source/MATHS/parsedFunctionLexer.CBALL/source/STRUCTURE/smilesParserLexer.C
Then, build the library with
make
The upcoming BALL version 1.2 has a builtin fix for this problem, so this should not occur. However if you compile BALL with e.g. make -j 2 this can still happen.