[GiNaC-devel] Build issues (Was: Simplifying powers)

Alexei Sheplyakov alexei.sheplyakov at gmail.com
Thu Aug 1 16:09:51 CEST 2013


Hi again,

>> > make[1]: Entering directory `/tmp/ginac/ginsh'
>> > /usr/bin/python ./ginsh_op_help.py -o ginsh_op_help.h ginsh.1
>> > make[1]: *** No rule to make target `ginsh_parser.h', needed by `ginsh_parser.o'.  Stop.
>>
>> Fixed now, too.
>
> It's the other way around for me: there were no problems before the patch,
> and now I get
>
> make[2]: Entering directory `/home/pc7135/varg/work/sw/ginac/ginsh'
> /usr/bin/python ./ginsh_fcn_help.py -o ginsh_fcn_help.h ginsh.1.in
> /usr/bin/python ./ginsh_op_help.py -o ginsh_op_help.h ginsh.1
> ccache g++-4.7 -DHAVE_CONFIG_H -I. -I../config  -I./../ginac -I../ginac -DIN_GINAC -I/home/pc7135/varg/target/x86_64-linux-gnu/include    -O2 -g -Wall -pipe -MT ginsh_lexer.o -MD -MP -MF .deps/ginsh_lexer.Tpo -c -o ginsh_lexer.o ginsh_lexer.cpp
> ccache g++-4.7 -DHAVE_CONFIG_H -I. -I../config  -I./../ginac -I../ginac -DIN_GINAC -I/home/pc7135/varg/target/x86_64-linux-gnu/include    -O2 -g -Wall -pipe -MT ginsh_parser.o -MD -MP -MF .deps/ginsh_parser.Tpo -c -o ginsh_parser.o ginsh_parser.cpp
> ginsh_lexer.lpp:37:28: fatal error: ginsh_parser.hpp: No such file or directory
> compilation terminated.
> make[2]: *** [ginsh_lexer.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> mv -f .deps/ginsh_parser.Tpo .deps/ginsh_parser.Po
> make[2]: Leaving directory `/home/pc7135/varg/work/sw/ginac/ginsh'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/home/pc7135/varg/work/sw/ginac/ginsh'
> make: *** [all-recursive] Error 1

Apparently automake 1.11 and 1.13  (or rather the Makefiles they
generate) use different conventions regarding the naming of the header
files built by bison/yacc. Automake 1.11 uses *.h for both C and C++
headers, and automake 1.13 names C headers as *.h and C++ ones as
*.hpp. By the way, renaming the sources (*.yy -> *.ypp) seems to have
no effect at all (I guess the change which actually fixed the automake
1.13 build was `#include "ginsh_parser.hpp"').

Hence we need to convince automake 1.13 to produce ginsh_parser.h from
ginsh_parser.{yy,ypp}, or the other way around -- convince the older
versions of automake to produce ginsh_parser.hpp file.

Best regards,
        Alexei



More information about the GiNaC-devel mailing list