Re: synopsis 0.7 compilation error

Stefan Seefeld <[email protected]>
Newsgroups gmane.comp.documentation.synopsis
Message-ID <20DCDD8F0FCED411AC4D001083CF504501AA9789@MTL-EXCHANGE>
Hi Serge,

Serge Iovleff wrote:

> Hi,
>
> I install the g++  3.4.1-2 and I pass the previous step.

good !

> I get the following installation error :
>
> /bin/sh -ec 'g++ -M -I . -I
/home/iovleff/dvlpt/synopsis/synopsis-0.7/Synopsis/Parsers/C -I
/home/iovleff/dvlpt/synopsis/synopsis-0.7/Synopsis/Parsers/C/../../../Cxx-AP
I/include -I /usr/include/python2.3
/home/iovleff/dvlpt/synopsis/synopsis-0.7/Synopsis/Parsers/C/Context.cc |
sed "s/Context\\.o[ :]*/Context\\.d Context\\.o : /g" > Context.d'
> yacc -d -b Grammar -o Grammar.cc
/home/iovleff/dvlpt/synopsis/synopsis-0.7/Synopsis/Parsers/C/Grammar.y
> make: yacc : commande introuvable
> make: *** [Grammar.cc] Erreur 127
> make: quittant le répertoire «
/home/iovleff/dvlpt/synopsis/synopsis-0.7/build/temp.linux-i686-2.3/Synopsis
/Parsers/C »
> error: command 'sh' failed with exit status 2
>
> It should be checked by synopsis (?)

indeed. Actually, it is checked by configure, but the result isn't used to 
abort the build process in case it wasn't found.


> OK, now I install bison, fine...
>
> I get the following installation error :
>
> /bin/sh -ec 'g++ -M -I . -I
/home/iovleff/dvlpt/synopsis/synopsis-0.7/Synopsis/Parsers/C -I
/home/iovleff/dvlpt/synopsis/syno
psis-0.7/Synopsis/Parsers/C/../../../Cxx-API/include -I
/usr/include/python2.3 /home/iovleff/dvlpt/synopsis/synopsis-0.7/Syno
psis/Parsers/C/Token.cc | sed "s/Token\\.o[ :]*/Token\\.d Token\\.o : /g" >
Token.d'
>
/home/iovleff/dvlpt/synopsis/synopsis-0.7/Synopsis/Parsers/C/Token.cc:38:22:
Grammar.hh : Aucun fichier ou répertoire de ce t ype
>

That's during dependency generation (note the '-M' option to g++), 
and so the error is harmless. Nevertheless, I should fix it.

> The build process continue anyway but stop on the following error :
>
> /bin/sh -ec 'g++ -M -I . -I
/home/iovleff/dvlpt/synopsis/synopsis-0.7/Synopsis/Parsers/C -I
/home/iovleff/dvlpt/synopsis/synopsis-0.7/Synopsis/Parsers/C/../../../Cxx-AP
I/include -I /usr/include/python2.3 Grammar.cc | sed "s/Grammar\\.o[
:]*/Grammar\\.d Grammar\\.o : /g" > Grammar.d'
> : /home/iovleff/dvlpt/synopsis/synopsis-0.7/Synopsis/Parsers/C/Lexer.l
> mv lex.yy.c Lexer.cc
> mv: ne peut évaluer `lex.yy.c': Aucun fichier ou répertoire de ce type
> make: *** [Lexer.cc] Erreur 1
> make: quittant le répertoire «
/home/iovleff/dvlpt/synopsis/synopsis-0.7/build/temp.linux-i686-2.3/Synopsis
/Parsers/C »
> error: command 'sh' failed with exit status 2

hmm, something is missing in this error log. Did you paste everything ?
The line starting with ': /home/...' doesn't appear to be complete.
Flex should be called to generate 'lex.yy.c'. Is it not ?
Assuming that it's a copy&paste error, and the real error is still that
'lex.yy.c'
wasn't generated, I'd need to know what flex actually does generate.

> the file Grammar.hh is in the directory
>
>
/home/iovleff/dvlpt/synopsis/synopsis-0.7/build/temp.linux-i686-2.3/Synopsis
/Parsers/C
>
>
> but NOT in the directory
>
> /home/iovleff/dvlpt/synopsis/synopsis-0.7/Synopsis/Parsers/C/

That's right. Generated files (such as Grammar.hh and Lexer.cc) are 
in the build tree, not the source tree).

Regards,
		Stefan

PS: As the ctool backend isn't really used by anybody yet, and 
    as the C++ backend becomes useable as a (much more powerful) 
    C parser, too, I'm tempted to just remove the ctool backend 
    from the build system...
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.