On Thu, Oct 05, 2006 at 02:11:05AM +0300, Uoti Urpala wrote:
On Fri, 2006-09-29 at 12:37 +0300, M??ris Narti??s wrote:
> I was compiling recent GRASS GIS version but it failed on ffmpeg includes due
> to one line comments. One line comments (//) where introduced in C99, thus
> preC99 compilers do not understand them.
All widely used compilers from the past several years understand them.
Even the obsolete gcc versions from before any real C99 support
understood them.
> gcc version 4.1.2 20060920 (prerelease)
Supports not only // but most of the more complex features of C99 too.
The -ansi switch explicitly sets the standard back to C89 and disables
support for any features of current C and GNU extensions that were not
present in C89. Remove that switch and it'll compile.
> > I was compiling recent GRASS GIS version but it failed on ffmpeg includes due
> > to one line comments. One line comments (//) where introduced in C99, thus
> > preC99 compilers do not understand them.
>
> All widely used compilers from the past several years understand them.
> Even the obsolete gcc versions from before any real C99 support
> understood them.
>
> > gcc version 4.1.2 20060920 (prerelease)
>
> Supports not only // but most of the more complex features of C99 too.
>
> > Error message:
> > gcc -I/home/maris/soft/grass-6.2.0RC1/dist.i686-pc-linux-gnu/include -g -ansi -Wall
>
> The -ansi switch explicitly sets the standard back to C89 and disables
> support for any features of current C and GNU extensions that were not
> present in C89. Remove that switch and it'll compile.
Shorter version: "we aren't going to fix it".
It isn't really a problem; ffmpeg itself won't compile on a system
which only supports C89. But as Maris suggests, we might want to
document this issue somewhere.
> > I was compiling recent GRASS GIS version but it failed on ffmpeg
> > includes due to one line comments. One line comments (//) where
> > introduced in C99, thus preC99 compilers do not understand them.
>
> All widely used compilers from the past several years understand
> them. Even the obsolete gcc versions from before any real C99
> support understood them.
>
> > gcc version 4.1.2 20060920 (prerelease)
>
> Supports not only // but most of the more complex features of C99
> too.
>
> > Error message:
> > gcc
> > -I/home/maris/soft/grass-6.2.0RC1/dist.i686-pc-linux-gnu/include
> > -g -ansi -Wall
>
> The -ansi switch explicitly sets the standard back to C89 and
> disables support for any features of current C and GNU extensions
> that were not present in C89. Remove that switch and it'll compile.
> > > I was compiling recent GRASS GIS version but it failed on ffmpeg
> > > includes due to one line comments. One line comments (//) where
> > > introduced in C99, thus preC99 compilers do not understand them.
> >
> > All widely used compilers from the past several years understand
> > them. Even the obsolete gcc versions from before any real C99
> > support understood them.
> >
> > > gcc version 4.1.2 20060920 (prerelease)
> >
> > Supports not only // but most of the more complex features of C99
> > too.
> >
> > > Error message:
> > > gcc
> > > -I/home/maris/soft/grass-6.2.0RC1/dist.i686-pc-linux-gnu/include
> > > -g -ansi -Wall
> >
> > The -ansi switch explicitly sets the standard back to C89 and
> > disables support for any features of current C and GNU extensions
> > that were not present in C89. Remove that switch and it'll compile.