rpgoldman / europa-pso

Automatically exported from code.google.com/p/europa-pso
0 stars 0 forks source link

Handle gcc versioning issues regarding non-standard extensions #34

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago

For now, the solution will be conditional includes. So:

    * Update code
    * Test with old and new compilers 

From the email discussion:

Yes, it's a versioning problem--one of the many potential issues when using
non-standard library extensions. I use g++ 4.0.1, so I haven't run into
this or the other compile issues. We should probably move up to supporting
4.3.1, if it's catching syntactic errors that prior versions aren't. Also,
both 4.0.1 and, I imagine, 4.3.1 have hash-table implementations in tr1/,
which is likely not to change until the C++0x standard is ratified and
supported, so maybe we should go through the code and see if anything with
gnu_cxx:: has a tr1:: analog. Or we can just start using Boost for everything.

~MJI

On Jun 24, 2008, at 3:55 PM, Matthew E. Boyce wrote:

    You'll possibly want to be running on a slightly older version of gcc,
or you'll need to update the parts of EUROPA which require the gcc hash map
extension stuff... looks like the files which might require some fixing
are: src/PLASMA/Resource/component/SAVH_FlowProfile.hh
src/PLASMA/Resource/component/SAVH_MaxFlow.hh
src/PLASMA/Resource/component/SAVH_Types.hh
src/PLASMA/Solvers/base/FlawManager.cc
src/PLASMA/Solvers/base/FlawManager.hh
src/PLASMA/Utils/base/HashPriorityQueue.hh
src/PLASMA/Utils/base/LabelStr.cc src/PLASMA/Utils/base/LabelStr.hh I'd
guess it's limited to LabelStr?.hh though... I've CCed Michael Iatauro, who
made the change from the STL map to the gcc extension and might be more
able to help with any updating. I'm fairly certain EUROPA has been tested
up to version 4.2 of gcc, so you won't have to go too far back to avoid
needing to make such modifications. ~MEB On Jun 24, 2008, at 3:20 PM,
Tristan Smith wrote:

        Thoughts? -- Tristan B. Smith Mission Critical Technologies, Inc.
MCT Contractor at NASA Ames Research Center Intelligent Systems
Division/Planning & Scheduling Group t: 650.604.1661 f: 650.604.7563
office: 269/239 tsmith@… From: "Philip L Courtney" <pcourtney@…> Date: June
24, 2008 3:05:39 PM PDT To: "'Tristan Smith'" <tsmith@…> Subject: RE:
EUROPA build error Hi Tristan, Thanks for your reply. I checked out the
PlanWorks? and PLASMA trunks (at revision 5022), and attempted to do a
PLASMA ant build. The build did continue to compile the targets, but I got
a number of errors. I have attached the output from the build. Most of them
were related to "Utils/base/LabelStr.hh:17:26: error: ext/hash_fun.h: No
such file or directory". This may be a gcc version issue. I am using gcc
version 4.3.1 20080612 (Red Hat 4.3.1-2). The hash_fun.h file is in the
/usr/include/c++/4.3.1/backward directory (not the /ext directory). There
were also a number of errors related to symbols that were not declared in
scope and some deprecated header warnings. Should I be using an older gcc
version? Your installation page just states GCC version 3.3+. Thanks, Phil

Original issue reported on code.google.com by miata...@gmail.com on 15 Sep 2009 at 3:55

GoogleCodeExporter commented 9 years ago
Compiling PLASMA r5825 on Ubuntu Jaunty uses gcc 4.3 and it complains on about 
every
source file about deprecated headers. There do appear to be direct replacements,
though. What gcc versions are we going to support?

{{{
/*
  A list of valid replacements is as follows:

  Use:                                  Instead of:
  <sstream>, basic_stringbuf            <strstream>, strstreambuf
  <sstream>, basic_istringstream        <strstream>, istrstream
  <sstream>, basic_ostringstream        <strstream>, ostrstream
  <sstream>, basic_stringstream         <strstream>, strstream
  <unordered_set>, unordered_set        <ext/hash_set>, hash_set
  <unordered_set>, unordered_multiset   <ext/hash_set>, hash_multiset
  <unordered_map>, unordered_map        <ext/hash_map>, hash_map
  <unordered_map>, unordered_multimap   <ext/hash_map>, hash_multimap
  <functional>, bind                    <functional>, binder1st
  <functional>, bind                    <functional>, binder2nd
  <functional>, bind                    <functional>, bind1st
  <functional>, bind                    <functional>, bind2nd
  <memory>, unique_ptr                  <memory>, auto_ptr
*/
}}}

Original comment by jonathan...@gmail.com on 4 Oct 2009 at 7:52

GoogleCodeExporter commented 9 years ago

Original comment by javier.barreiro@gmail.com on 22 Nov 2010 at 10:29

GoogleCodeExporter commented 9 years ago
Recent changes have quieted most such warnings.  I'm compiling with g++ 4.4.7 
right now and it's an essentially silent process.  Obviously this is something 
that should be monitored as compilers improve, but I'm satisfied with this for 
now.

Original comment by miata...@gmail.com on 19 Aug 2014 at 10:44