compiling with an actual compiler (gcc 4.3)

Dear group,
I did a search for "4.3" and did not get a result. If the following question
has been asked before, please forgive me and point me to the correct thread.
I had problems compiling gnash-0.8.2. using Fedora 8 and gcc 4.3.
The error message has been:
g++-4.3 -DHAVE_CONFIG_H -I. -I.. -DPLUGINSDIR=\"/usr/lib/gnash/plugins\" -I..
-I. -I.. -I../libamf -I../server -I../server/swf -pthread
-I/usr/include/libxml2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include
-I../libltdl -O3 -m64 -mfpmath=sse -mtune=athlon64 -msse2 -mmmx -m3dnow
-fexpensive-optimizations -fgcse -ffast-math -pthread -pthread -W -Wall
-Wcast-align -Wcast-qual -Wpointer-arith -Wreturn-type
-fvisibility-inlines-hidden -MT libgnashbase_la-FLVParser.lo -MD -MP -MF
.deps/libgnashbase_la-FLVParser.Tpo -c FLVParser.cpp -fPIC -DPIC -o
.libs/libgnashbase_la-FLVParser.o
In file included from /usr/include/boost/date_time/gregorian/gregorian_io.hpp:12,
from /usr/include/boost/date_time/gregorian/conversion.hpp:23,
from /usr/include/boost/date_time/gregorian/gregorian.hpp:21,
from
/usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
from ../libamf/element.h:31,
from ../libamf/amf.h:30,
from FLVParser.cpp:25:
/usr/include/boost/date_time/date_facet.hpp:560: error: declaration of 'void
boost::date_time::date_input_facet

On 12/03/2008, Peter Pein
Dear group,
I did a search for "4.3" and did not get a result. If the following question has been asked before, please forgive me and point me to the correct thread.
I had problems compiling gnash-0.8.2. using Fedora 8 and gcc 4.3.
gcc 4.3 isn't entirely supported yet and won't be for a little while (it's only just been released).
The error message has been: [snip] /usr/include/boost/date_time/special_values_parser.hpp:34: error: changes meaning of 'special_values_parser' from 'class boost::date_time::special_values_parser
' [snip] Is this an error inside boost? Or is it possible that gnash-sources define a prototype in a wrong manner?
I had a look at the files history, and found this: http://svn.boost.org/trac/boost/changeset/40558 So it's probably a boost error which will be fixed in the next release (1.35), which should be fairly soon.
Do I have to edit all the Makefiles by hand? If yes, what is the ./configure script for?
The boost configure script is not a typical configure script - it basically sets up the boost build system (which is based on bjam, not make) and some makefiles to call it. This means that a lot of the flags that you can normally use don't work. Which is why you are having problems. I'm afraid I'm not much help here as I don't use the configure script myself, but if there's a file called 'user-config.jam' in your directory after you run configure, you can use a different version by editing that. It'll probably contain: using gcc ; Change that to something like: using gcc : 4.2 : g++-4.2 ; To use a different version (all the spaces are required). But looking at the gnash web pages, they seem to recommend using the prebuilt Fedora packages. So maybe that's best. Other than that, the getting started documentation might help: http://www.boost.org/more/getting_started/unix-variants.html Daniel

Daniel James wrote:
The error message has been: [snip] /usr/include/boost/date_time/special_values_parser.hpp:34: error: changes meaning of 'special_values_parser' from 'class boost::date_time::special_values_parser
' [snip] Is this an error inside boost? Or is it possible that gnash-sources define a prototype in a wrong manner? I had a look at the files history, and found this:
http://svn.boost.org/trac/boost/changeset/40558
So it's probably a boost error which will be fixed in the next release (1.35), which should be fairly soon.
Actually it hasn't been -- this was reported after we cut the release branch. To put this problem in perspective, gcc 4.3 is the *only* compiler AFIAK to give a diagnostic on this code. The bottom line is that we can't hold a release that's pretty much ready every time a new compiler version is released -- we'd never finish...and we already have enough trouble with that. Now, I'd be all for a 1.35.x to add support for additional compilers -- assuming *someone new* wants to volunteer to do the work involved. We have a limited number of people that have been willing to step up and run a release. All those folks are very busy, and so I'd prefer to move right toward a quick 1.36 release...of course new blood to help with that would be appreciated too. Jeff

On Sun, Mar 16, 2008 at 10:50:24AM -0700, Jeff Garland wrote:
The bottom line is that we can't hold a release that's pretty much ready every time a new compiler version is released -- we'd never finish...and we already
You forget that gcc 4.3 snapshots are available since years? Most of the time the problem is simple that existing patches were ignored for some libraries.
have enough trouble with that. Now, I'd be all for a 1.35.x to add support for additional compilers -- assuming *someone new* wants to volunteer to do the work involved. We have a limited number of people that have been willing to step up and run a release. All those folks are very busy, and so I'd prefer to move right toward a quick 1.36 release...of course new blood to help with that would be appreciated too.
I may be wrong but I guess gcc is not just an arbitrary compiler but a very good one which is also very standard conform. How often does it complain about valid code? So performing all tests not only with a single version of gcc but also with snapshots and stable older versions seems to be no problem for me. Debian provides for example various gcc versions (but this will change soon?) and also a snapshot of gcc and the whole archive with more than 15000 packages was already multiple times compiled with it. This helps to get the archive in a good shape and to detect errors in the snapshot early. Jens

Jens Seidel wrote:
So performing all tests not only with a single version of gcc but also with snapshots and stable older versions seems to be no problem for me.
Instructions on how to volunteer testing resources for Boost are here http://beta.boost.org/development/running_regression_tests.html. You'll want to join the rest of testers and testing maintainers in the testing list http://beta.boost.org/community/groups.html#testing. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org (msn) - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim,yahoo,skype,efnet,gmail
participants (5)
-
Daniel James
-
Jeff Garland
-
Jens Seidel
-
Peter Pein
-
Rene Rivera