[aspectc-user] problems building ac-1.0pre3

Stefan Seefeld seefeld at sympatico.ca
Sat May 27 00:23:49 CEST 2006

Hi there,

I'm having difficulties compiling Puma with g++ 4.1 (FC5's system compiler).

I get...

Making tools...
automaton.h:116: error: extra qualification ‘Automaton::’ on member ‘ScanStates’
automaton.h:117: error: extra qualification ‘Automaton::’ on member ‘NextState’

which I resolved by removing the erroneous qualifications. Then I get...

Compiling ExtACTree.cc...
/usr/local/src/ac-1.0pre3/Puma/gen-release/step1/inc/Puma/PtrStack.h: In member function ‘void
Puma::PtrStack<T>::Destroy() [with T = Puma::CTree]’:
/usr/local/src/ac-1.0pre3/Puma/gen-release/step1/inc/Puma/Builder.h:97:   instantiated from here
/usr/local/src/ac-1.0pre3/Puma/gen-release/step1/inc/Puma/PtrStack.h:152: error: invalid conversion
from ‘long int’ to ‘const char*’
/usr/local/src/ac-1.0pre3/Puma/gen-release/step1/inc/Puma/PtrStack.h:152: error:   initializing
argument 1 of ‘int remove(const char*)’

The problem here seems to be that g++ picks not the intended version
of 'remove()'. To pick up the one from the (dependent) base class,
prefix the call to remove() by 'this->'.
However, this code seems to be generated, but I'm not sure where the
generator lives, and thus, where to apply the proper fix.

Are these known issues ?
Also, is there a way to bootstrap the compilation, i.e. such that no ac++
binary is required ? Right now there appears to be a circular dependency
between the Puma and AspectC++ subdirectories.


More information about the aspectc-user mailing list