[ts-gen] Unable to compile current shim version on Ubuntu
Bill Pippin
pippin at owlriver.net
Wed Nov 14 11:05:10 EST 2007
Paolo,
[Russ notes:]
> As I look at releases, I see that it has been a bit of time
> since we last pushed a release ...
I've just posted another, partly so you can be working with the
newest code; otherwise see the NEWS file for details.
[Paolo notes:]
>> When I try to compile the last Shim version (071016) on
>> Ubuntu 7.10 using compiler g++ 4.1.2-16ubuntu2 (also
>> installed: distcc 2.18.3-4.1ubuntu1) all I get is a whole
>> bunch of error messages.
The error messages you see indicate problems with the header file
src/predicates.h:
>> src/predicates.h:128: Fehler: Templateargument 2 ist ...
>> [many more similar messages deleted]
That file is included from src/parametric.h, which text includes the
following fragment:
/*
* 1. Declare type system (tag) template classes
* 2. Generate the primitive data element types
* 3. Generate the event, or predicate symbol, types
*/
#include "temp_decls.h"
#include "generation.h"
#include "predicates.h"
Problems here can ruin g++'s whole day ;<) Seriously, without
proper declarations for hundreds of typedef names, g++ is stuck
at this point. The Makefile actually creates the prerequisite
file src/generation.h, via a ruby script bin/generation.rb that
translates generation.i to generation.h, and if you don't have
ruby available in /usr/bin/ruby, that may be your problem.
Otherwise, I have no idea why it fails. If the newest release doesn't
help --- and I know of no reason why it should, one way or another ---
please post more info to the list.
By the way, when using distcc, if a compile breaks, please fall back to
the target:
make debug
This serializes compilation, so that messages can be more easily related
to the file being compiled, and not incidently so only one compile can
break before the make stops. Otherwise, say for a corrupted or missing
header, you can get back an enormous number of messages as the parallel
compiles all fail together. The debug target also has the nice feature
of filtering the C++ error messages to remove most of the namespace
qualifications, reducing the bulk of the error text considerably, and
so making it much more readable.
Thanks,
Bill
More information about the ts-general
mailing list