SAnsell / CombLayer

MCNP(X) project builder using C++
GNU General Public License v3.0
13 stars 13 forks source link

Build problems with master tip #44

Closed OwenArnold closed 8 years ago

OwenArnold commented 8 years ago

I was trying to build the tip 80981158974a533585f01880863ac08d88283e7b, just now, and I'm seeing what look like lots of genuine compile issues with the source.

/Users/spu92482/sources/CombLayer/Model/imat/makeIMat.cxx:78:1: error: use of undeclared identifier 'makeIMat'; did you mean 'makeImat'?
makeIMat::makeIMat()  :
^~~~~~~~
makeImat
/Users/spu92482/sources/CombLayer/Model/imatInc/makeIMat.h:35:7: note: 'makeImat' declared here
class makeImat
      ^
/Users/spu92482/sources/CombLayer/Model/imat/makeIMat.cxx:78:11: error: missing return type for function 'makeIMat'; did you mean the constructor name 'makeImat'?
makeIMat::makeIMat()  :
          ^~~~~~~~
          makeImat
/Users/spu92482/sources/CombLayer/Model/imat/makeIMat.cxx:79:3: error: member initializer 'G1Obj' does not name a non-static data member or base class
  G1Obj(new IMatGuide("imatGuide"))
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/spu92482/sources/CombLayer/Model/imat/makeIMat.cxx:89:16: error: use of undeclared identifier 'G1Obj'
  OR.addObject(G1Obj);
               ^
/Users/spu92482/sources/CombLayer/Model/imat/makeIMat.cxx:92:1: error: use of undeclared identifier 'makeIMat'; did you mean 'makeImat'?
makeIMat::~makeIMat()
^~~~~~~~
makeImat
/Users/spu92482/sources/CombLayer/Model/imatInc/makeIMat.h:35:7: note: 'makeImat' declared here
class makeImat
      ^
/Users/spu92482/sources/CombLayer/Model/imat/makeIMat.cxx:92:12: error: expected the class name after '~' to name a destructor
makeIMat::~makeIMat()
           ^~~~~~~~
           makeImat
/Users/spu92482/sources/CombLayer/Model/imat/makeIMat.cxx:99:1: error: use of undeclared identifier 'makeIMat'; did you mean 'makeImat'?
makeIMat::build(Simulation* SimPtr,
^~~~~~~~
makeImat
/Users/spu92482/sources/CombLayer/Model/imatInc/makeIMat.h:35:7: note: 'makeImat' declared here
class makeImat
      ^
/Users/spu92482/sources/CombLayer/Model/imat/makeIMat.cxx:132:7: error: use of undeclared identifier 'G1Obj'
      G1Obj->addInsertCell("Wall",74123);
      ^
/Users/spu92482/sources/CombLayer/Model/imat/makeIMat.cxx:133:7: error: use of undeclared identifier 'G1Obj'
      G1Obj->createAll(*SimPtr,*IS);
      ^
9 errors generated.
SAnsell commented 8 years ago

I struggled to figure out this error: I build the version successfully with both gcc and clang.

It initially seemed like you have accidentally deleted : #include "makeIMat.h" from that file from makeIMat.cxx [line 73]. But the later part doesn't seem to be the case.

Further investigation found that it maybe because of the existence of two files : (i) makeIMat.h and makeImat.h.

I figured that you may well be using a windows machine - via a virtual terminal -- or a different version of locale [that changes the order of upper and lower case]. Doesn't matter! -- I have fixed the issue by removing makeImat.h. [Master: 4ede905ef ] I don't want dependency on locale to affect the code.

However, I don't know if that fixes the issue for you. [if it still doesn't work, anything else that might help investigate it would be welcome]

Many thanks for bringing this to my attention.

OwenArnold commented 8 years ago

@SAnsell Thanks. I'll give this another go shortly.