Skip to content
Sections
Personal tools
You are here: Home » Support » FAQ » Flex/Bison problem

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.C
  • BALL/source/MATHS/parsedFunctionLexer.C
  • BALL/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.

 
 

Powered by Plone

This site conforms to the following standards: