bugGnash - The GNU Flash player - Bugs: bug #21921, Gnash 0.8.1 does not compile under...

 
 

bug #21921: Gnash 0.8.1 does not compile under GCC 4.2.2

Submitted by:  Robert Bradbury <bradbury>
Submitted on:  Mon 31 Dec 2007 03:35:34 PM UTC  
 
Category: NoneSeverity: 3 - Normal
Release: NoneStatus: Invalid
Privacy: PublicAssigned to: None
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Tue 01 Jan 2008 04:40:17 PM UTC, comment #3:

Like I mentioned, this is a GCC and Boost problem, and has nothing to do with Gnash other than we use Boost. If you tried to build any other package that used boost, you'd have the same problem. Actually upgrading Boost isn't the true fix, it's recompiling Boost with the same compiler you've upgraded to. I will see about adding some comments of documentation about this problem (other than this bug report). Gnash itself could care less which version of Boost you have.

Rob Savoye <rsavoye>
Project Administrator
Tue 01 Jan 2008 02:23:23 PM UTC, comment #2:

I will confirm that upgrading from boost 1.33.1 to boost 1.34.1 does fix the problem of gnash compiling properly.

In order to avoid endless headaches by various less informed individuals, including those who put together various Linux distributions, I would strongly urge the Gnash developers to add a simple check to their configure system to verify that boost must be at level 1.34.1 or above to compile gnash.

Lots of people do not recompile everything on their system to the latest svn level every time they want to compile a single program (and lots of people are working off of packaged & patched distributions of specific packages) -- if gnash is dependent on specific levels of specific packages then the configuration tools should test to make sure they are present.

Robert Bradbury <bradbury>
Mon 31 Dec 2007 04:14:58 PM UTC, comment #1:

Dude, Gnash compiles with any version of G++ from 3.1 on up. I personally use GCC built from weekly svn snapshots, as I used to be a GCC developer for many years. This is an issue with Boost, not Gnash. Between GCC 4.1 and 4.2, the location of the internal atomicity.h file has changed. Boost gets compiled based on the version of GCC you used, so you must rebuild Boost after upgrading to a newer GCC. If you don't want to do that, this simple hack to Boost fixes the problem, and allows you to switch between the various GCC versions with no problem.

In boost/detail/atomic_count_gcc.hpp, change the include statement to this:

#if _GNUC_MINOR_ == 1
#include <bits/atomicity.h>
#else
#include <ext/atomicity.h>
#endif

As of last week, Gnash was building just fine with both Boost and G++ built from their respective svn sources.

Rob Savoye <rsavoye>
Project Administrator
Mon 31 Dec 2007 03:35:34 PM UTC, original submission:

It is impossible to compile the most recent releases of Gnash under the most recent releases of GCC (at least under the most recent releases of Gentoo Linux).

The problems start with the fact that it appears the "atomicity.h" header file no longer exists. If one provides a dummy file one gets problems about __gnu_cxx::__atomic_add or __gnu_cxx::__exchange_and_add not being declared (and other errors). If one provides an old atomicity.h file then one gets errors from .../g++-v4/bits/basic_string.h about __exchange_and_add_dispatch and __atomic_add_dispatch not being a member of '__gnu_cxx'.

I do not understand enough about CPP namespaces or the current evolution that CPP is undergoing from V3 to V4 (some googling seems to indicate there is an evolution in the namespaces taking place).

1. Is there a concrete plan/schedule for when Gnash 0.8.1 will compile under GCC 4.2.2?
2. What is the precise GCC version number which will compile Gnash 0.8.1?
3. Can anyone provide some insight or a pointer to an explanation for what is going on behind the scenes to cause these problems (i.e. the reason something which previously compiled now does not)?

Thank you.
Robert Bradbury

Robert Bradbury <bradbury>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by rsavoye (Posted a comment)
  • -unavailable- added by bradbury (Submitted the item)
  • -unavailable- added by bradbury
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 31 Dec 2007 04:14:58 PM UTCrsavoyeStatusNone=>Invalid
      Open/ClosedOpen=>Closed
    Mon 31 Dec 2007 03:35:34 PM UTCbradburyCarbon-Copy-=>Added -unavailable-

    Back to the top


    Powered by Savane 3.1-cleanup1