Print

Print


Hello Pete

I am not sure if I was brave, but I installed gcc 3.4.3, but I still see
the error.
There is a gcc bugzilla report:
  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16605

The problem is that min and max are defined as macros (where ?)
which confuses the compiler because std::min/max don't make sense anymore.
This report also says that in the standard min and max are reserved which,
I assume, means that there should be no min/max macros.
I have no idea where these macros are defined but might hunt around a
little bit.


Cheers,
  Wilko


On Sat, 26 Feb 2005, Peter Elmer wrote:

>   Hi Wilko,
>
>   As we discussed in the meeting the other day, we wonder if this is a
> problem (i.e. bug) with the latest version compiler itself.
>
>   I see that there is a gcc 3.4.3 out and that it is there in the Fedora
> development release:
>
>   http://download.fedora.redhat.com/pub/fedora/linux/core/development/i386/Fedora/RPMS/
>
> How brave are you? ;-)
>
>                                    Pete
>
> On Sun, Feb 13, 2005 at 03:21:11PM -0800, Wilko Kroeger wrote:
> > I tried to compile Xrootd (from the HEAD) on Fedora Core3 using
> > gcc 3.4.2 and './configure --build=debug'.
> >
> > It fails with the following error:
> >
> > Compiling XrdClientAbs.cc
> > In file included from
> > /usr/lib/gcc/i386-redhat-linux/3.4.2/../../../../include/c++/3.4.2/sstream:640,
> >                  from ../XrdClient/XrdClientDebug.hh:23,
> >                  from XrdClientAbs.cc:17:
> > /usr/lib/gcc/i386-redhat-linux/3.4.2/../../../../include/c++/3.4.2/bits/sstream.tcc:
> > In member function `virtual typename std::basic_stringbuf<_CharT, _Traits,
> > _Alloc>::int_type std::basic_stringbuf<_CharT, _Traits,
> > _Alloc>::overflow(typename _Traits::int_type)':
> > /usr/lib/gcc/i386-redhat-linux/3.4.2/../../../../include/c++/3.4.2/bits/sstream.tcc:104:
> > error: expected unqualified-id before '(' token
> > gmake[4]: *** [../../obj/i386_linux26_dbg/XrdClientAbs.o] Error 1
> >
> >
> > I could fix the problem by modifying  ./src/XrdClientDebug.hh,
> > adding
> >
> > #undef min
> > #undef max
> >
> > before the include statements (it has to be before #include <sstream>),
> > but I don't understand why I have to do this.
> > Is this something that has to be fixed ?
> >
> >
> > Cheers,
> >    Wilko
> >
> >
>
>
>
> -------------------------------------------------------------------------
> Peter Elmer     E-mail: [log in to unmask]      Phone: +41 (22) 767-4644
> Address: CERN Division PPE, Bat. 32 2C-14, CH-1211 Geneva 23, Switzerland
> -------------------------------------------------------------------------
>