Re: Building SID

"Michael Ambrus" <[email protected]> Mon, 26 Feb 2007 20:11:54 +0100
Newsgroups gmane.comp.emulators.sid.devel
Message-ID <[email protected]>
On 2/26/07, Dave Brolley <[email protected]> wrote:
> Michael Ambrus wrote:
> > I've got the files thanx. They seem broken however....
> >
> > The following is the first place where it breaks (I noticed that the
> > build system will not respect neither 'make -S'  nor  'export
> > MAKEFLAGS="-S" &&  make' - it seems that the recursive build is using
> > 'make -k' no matter what I do).
> >
> > ../../../../src/sid/component/cgen-cpu/sh/sh2.h:16: error:
> > 'sh_common_model' was not declared in this scope
> > ../../../../src/sid/component/cgen-cpu/sh/sh2.h:16: error: wrong
> > number of template arguments (8, should be 5)
> Compiles fine for me using
>
>  >> gcc --version
> gcc (GCC) 4.1.2 20060612 (prerelease) (GNUPro 06r1)
>
> I can't tell for sure, because I don't know which file you were
> compiling at the time, but it looks to me like sh_common_model is in the
> global namespace, so I'm not sure why it can't be found. Perhaps a
>

Oh sorry, here comes a longer version of the breaking:

make[7]: Entering directory
`/home/ambrmi09/projects/sid/_BUILD/sid/component/cgen-cpu'
if /bin/sh ./libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I.
-I../../../../src/sid/component/cgen-cpu -I. -I. -I..
-I../../../../src/sid/component/cgen-cpu/arm7t
-I../../../../src/sid/component/cgen-cpu/m32r
-I../../../../src/sid/component/cgen-cpu/mep
-I../../../../src/sid/component/cgen-cpu/mt
-I../../../../src/sid/component/cgen-cpu/sh
-I../../../../src/sid/component/cgen-cpu/xstormy16 -I../../include
-I../../../../src/sid/component/cgen-cpu/../../include -I../../../bfd
-I../../../../src/sid/component/cgen-cpu/../../../include   -g -O2
-MT compCGEN.lo -MD -MP -MF ".deps/compCGEN.Tpo" -c -o compCGEN.lo
../../../../src/sid/component/cgen-cpu/compCGEN.cxx; \
        then mv -f ".deps/compCGEN.Tpo" ".deps/compCGEN.Plo"; else rm
-f ".deps/compCGEN.Tpo"; exit 1; fi
  g++ -DHAVE_CONFIG_H -I. -I../../../../src/sid/component/cgen-cpu -I.
-I. -I.. -I../../../../src/sid/component/cgen-cpu/arm7t
-I../../../../src/sid/component/cgen-cpu/m32r
-I../../../../src/sid/component/cgen-cpu/mep
-I../../../../src/sid/component/cgen-cpu/mt
-I../../../../src/sid/component/cgen-cpu/sh
-I../../../../src/sid/component/cgen-cpu/xstormy16 -I../../include
-I../../../../src/sid/component/cgen-cpu/../../include -I../../../bfd
-I../../../../src/sid/component/cgen-cpu/../../../include -g -O2 -MT
compCGEN.lo -MD -MP -MF .deps/compCGEN.Tpo -c
../../../../src/sid/component/cgen-cpu/compCGEN.cxx  -fPIC -DPIC -o
.libs/compCGEN.o
In file included from ../../../../src/sid/component/cgen-cpu/sh/sh_compact.h:9,
                 from ../../../../src/sid/component/cgen-cpu/sh/sh2.h:9,
                 from ../../../../src/sid/component/cgen-cpu/compCGEN.cxx:40:
../../../../src/sid/component/cgen-cpu/sh/sh.h:98:1: warning:
"CGEN_CPU_FPU" redefined
In file included from ../../../../src/sid/component/cgen-cpu/compCGEN.cxx:33:
../../../../src/sid/component/cgen-cpu/mep/mep_ext2.h:76:1: warning:
this is the location of the previous definition
../../../../src/sid/component/cgen-cpu/sh/sh2.h:16: error:
'sh_common_model' was not declared in this scope
../../../../src/sid/component/cgen-cpu/sh/sh2.h:16: error: wrong
number of template arguments (8, should be 5)

I.e. the file that breaks the build should be compCGEN.cxx (?).


> 'using namespace ::'
>
>  is needed before the declaration of sh2_cpu?
>
>
> > :
> > :
> > Which leads to this:
> >
> > :
> > :
> > ../../../../src/sid/component/cgen-cpu/sh/sh4-nofpu-defs.h:22: error:
> > forward declaration of 'class sh4_nofpu::sh4_nofpu_cpu'
> This forward declaration is intentional. Any idea why it would not be
> allowed?

I'm not a C++ expert, but I recognize this (or a seemingly similar
issue) from before. I'll have look in my notes (if I can find them)
and compare the code with yours.

In that particular case it was a syntax change of the standard. But
since you're using an even newer version of gcc than I do, then this
might not be the case here.

/Michael