[aspectc-user] Problem compiling Puma
Jérôme Cornet
Jerome.Cornet at imag.fr
Mon Nov 29 15:15:49 CET 2004
Hello,
i am trying to compile aspect-c++ under Linux with gcc.
When i try to compile ac-0.9-Source-Woven, I get the following error :
Compiling PUMA for TARGET=linux
Making tools.
Making library.
Generating.
Weaving.
Copying sources not to weave.
Compiling.
Compiling PreAssertionEvaluator.cc.
...
Compiling MatchCollector.cc.
In file included
from /home/matthias/Projekte/Cvsdir/Puma/gen/step1/inc/Puma/Syntax.h:27,
from /home/matthias/Projekte/Cvsdir/Puma/gen/step1/inc/Puma/Parser.h:23,
from /home/cornet/tools/ac-0.9-Sources-Woven/Puma/gen/step2/inc/Puma/MatchCollector.h:29,
from /home/cornet/tools/ac-0.9-Sources-Woven/Puma/gen/step2/src/MatchCollector.cc:19:
/home/cornet/tools/ac-0.9-Sources-Woven/Puma/gen/step2/inc/Puma/TraceSyntax.ah:38:
error: syntax
error before `:' token
/home/cornet/tools/ac-0.9-Sources-Woven/Puma/gen/step2/inc/Puma/TraceSyntax.ah:
In
function `void trace_rule(const char*)':
/home/cornet/tools/ac-0.9-Sources-Woven/Puma/gen/step2/inc/Puma/TraceSyntax.ah:53:
error: `
trace' undeclared (first use this function)
/home/cornet/tools/ac-0.9-Sources-Woven/Puma/gen/step2/inc/Puma/TraceSyntax.ah:53:
error: (Each
undeclared identifier is reported only once for each function it appears
in.)
/home/cornet/tools/ac-0.9-Sources-Woven/Puma/gen/step2/inc/Puma/TraceSyntax.ah:
At
global scope:
/home/cornet/tools/ac-0.9-Sources-Woven/Puma/gen/step2/inc/Puma/TraceSyntax.ah:56:
error: syntax
error before `private'
etc. etc. (full error message available on request).
If I look at TraceSyntax.ah line 38, i get :
aspect TraceSyntax : public Tracing {
int skipping;
How can the compiler encounter the "aspect" keyword in sources supposed to be
already woven?
Then i tried to compile the "unwoven" sources (ac-0.9-Sources) on a linux
machine allowing the linux ac++ binary to work. I get the following error :
Compiling PUMA for TARGET=linux
Making tools.
Making library.
Generating.
Calling Orange on cpp/PreDirectiveTab.ora.
Calling Orange on cpp/PreExprTab.ora.
Calling Orange on cpp/PreTokenTab.ora.
Calling Orange on scanner/ACCKeywordTab.ora.
Calling Orange on scanner/CCKeywordTab.ora.
Calling Orange on scanner/CCommentTab.ora.
Calling Orange on scanner/CCoreTab.ora.
Calling Orange on scanner/CDirectiveTab.ora.
Calling Orange on scanner/CIdentifierTab.ora.
Calling Orange on scanner/CKeywordTab.ora.
Calling Orange on scanner/CMLCommentTab.ora.
Calling Orange on scanner/CSLCommentTab.ora.
Calling Orange on scanner/CStringTab.ora.
Calling Orange on scanner/CWhitespaceTab.ora.
Calling Orange on scanner/CWildcardTab.ora.
Calling Lemon on cpp/PreExprParser.lem.
Calling Lemon on cpp/PreParser.lem.
Calling Lemon on manip/CMatchParser.lem.
Weaving.
Copying sources not to weave.
Calling ac++ on PreFileIncluder.cc.
/home/cornet/tools/ac-0.9-Sources/Puma/gen/step1/inc/Puma/ListElement.h:29:
error: assert.h: No such file or directory
/home/cornet/tools/ac-0.9-Sources/Puma/gen/step1/inc/Puma/Printable.h:23:
error: iostream: No such file or directory
/home/cornet/tools/ac-0.9-Sources/Puma/gen/step1/inc/Puma/Array.h:24: error:
assert.h: No such file or directory
/home/cornet/tools/ac-0.9-Sources/Puma/gen/step1/inc/Puma/VoidPtrArray.h:24:
error: assert.h: No such file or directory
/home/cornet/tools/ac-0.9-Sources/Puma/gen/step1/inc/Puma/Token.h:27: error:
stdlib.h: No such file or directory
/home/cornet/tools/ac-0.9-Sources/Puma/gen/step1/inc/Puma/Chain.h:28: error:
iostream: No such file or directory
/home/cornet/tools/ac-0.9-Sources/Puma/gen/step1/inc/Puma/StrHashTable.h:25:
error: assert.h: No such file or directory
/home/cornet/tools/ac-0.9-Sources/Puma/gen/step1/inc/Puma/DString.h:25: error:
assert.h: No such file or directory
/home/cornet/tools/ac-0.9-Sources/Puma/gen/step1/inc/Puma/Token.h:33: error:
assert.h: No such file or directory
ac++ is the static binary for linux. Can someone help?
By the way, it would be great to include a README file explaining how to
compile aspectc++ (the problem of mutual dependencies between ac++ and ac++)
in the source tarball and also specific informations about the differences
between woven/unwoven sources. The current README just explain you have to
type "make", which is a bit short for newbies like me.
Thanks for your help!
Jérôme Cornet
More information about the aspectc-user
mailing list