[aspectc-user] Problems building SVN version of Puma

vimml at selgrad.org vimml at selgrad.org
Mon Mar 23 23:01:08 CET 2009

Hello all,

thank you for your feedback!

I tried a real clean build, but that failed, too. In the following I will comment on
what I did.

1. I created a clean directory and downloaded the aspectc stuff.
	$ cd
	$ mkdir aspectc
	$ cd aspectc/
	$ wget http://www.aspectc.org/fileadmin/downloads/ac/1.0pre3/ac-bin-linux-1.0pre3.tar.gz
	$ tar xfz ac-bin-linux-1.0pre3.tar.g
	$ svn checkout https://svn.aspectc.org/repos/AspectC++-Project/trunk AspectC++-Project

2. I verified that I don't accidentally use a system version of ac++/ag++.
	$ ac++
	bash: ac++: command not found
	$ ag++
	bash: ag++: command not found

3. Some system information for you:
	$ g++ --version
	g++ (GCC) 4.1.2 (Gentoo 4.1.2 p1.1)

	$ uname -msr
	Linux 2.6.22-suspend2-r2 i686

4. I added the binary distribution to my PATH:
	$ export PATH=$PATH:/home/kai/aspectc/ac-1.0pre3/
	$ ac++ --version
	ac++ 1.0pre3 (Mar 16 2006)
	$ ag++ --version
	ag++ 0.6  built: Mar 16 2006

5. Buiding Puma:
	$ cd AspectC++-Project/Puma/
	$ make
	Copying sources not to weave...
	Weaving aspects into PreFileIncluder.cc...
	make[2]: *** [/home/kai/aspectc/AspectC++-Project/Puma/gen-release/step2/src/PreFileIncluder.cc] Segmentation fault
	make[1]: *** [step2] Error 2
	make: *** [src] Error 2

Setting EXTENSIONS="" there is no difference except that it crashes on gen-release/step2/src/CCSemVisitor.cc 
(which is the first file to be processed in this case).
Setting AC=... does not help either.

6. I found the corresponding Make rule in src/weave.mk
	The command line that segfaults is: 
	ac++ -DNDEBUG  -I Puma/gen-release/step1/inc -I Puma/gen-release/step1/aspects -I Puma/gen-release/step1/src -r Puma/gen-release/puma.acp --config Puma/gen-release/puma.cfg --gen_size_type __SIZE_TYPE__ -p Puma/gen-release/step1 -c Puma/gen-release/step1/src/PreFileIncluder.cc -o Puma/gen-release/step2/src/PreFileIncluder.cc
	For readability I removed all "-a ..." switches, as well as the path-prefix /home/kai/aspects/AspectC++-Project/.

	Copying the line to the command line segfaults, too, as expected.

	If you have a debug build I could tell you where it crashes using gdb.

Could this be a platform issue? My whole system is build for pentium3 (incl. g++). I don't have another machine available to test it on
a generic debian installation. If you think that the problem could be caused by this I'll set up a virtual machine, but since 
this consumes a lot of time I would like to defer it, until I can be sure to know that it will show something interesting.

This in mind I tried to build http://www.aspectc.org/fileadmin/downloads/ac/1.0pre3/ac-woven-1.0pre3.tar.gz.
- It spits out a lot of 'incompatible implicit declaration of built-in function ‘exit’'
- Fails to build, because 'automaton.h:116: error: extra qualification ‘Automaton::’ on member ‘ScanStates’'
	(easily resolved)
- Puma needs ac++, I guess I should try ac++ first.
- But making ac++ fails, too:
	Making object file ObjFiles/linux-release/ACConfig.o.
	Making object file ObjFiles/linux-release/ACProject.o.
	Making object file ObjFiles/linux-release/ACWeaver.o.
	IncludeExpander.h:70: error: extra qualification ‘IncludeExpander::’ on member ‘finish’
	../Puma/include/Puma/PtrStack.h: In member function ‘void Puma::PtrStack<T>::Destroy() [with T = Puma::CTree]’:
	../Puma/include/Puma/Builder.h:188:   instantiated from here
	../Puma/include/Puma/PtrStack.h:225: error: invalid conversion from ‘long int’ to ‘const char*’
	../Puma/include/Puma/PtrStack.h:225: error:   initializing argument 1 of ‘int remove(const char*)’

Slowly I'm getting the impression that I'm doing something terribly wrong... :(

I hope the information provided is useful to you guys, and in turn helps you giving me a clue on what's going on :)

Thank you for your time :)

More information about the aspectc-user mailing list