Thread overview
gcc 4 not supported by std/etc/c/stlsoft
Aug 13, 2005
Ben Hinkle
Aug 28, 2005
James Dunne
Aug 28, 2005
Ben Hinkle
August 13, 2005
When I try to rebuild phobos for dmd.129 on linux I get an error in etc/c

make[1]: Entering directory `/home/bhinkle/dmd/src/phobos/etc/c/recls'
g++ -Wall  -O4 -mcpu=i686  -DNDEBUG -DUNIX -D_M_IX86 -c -I. -I../stlsoft
-orecls_api.o recls_api.cpp
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
In file included from ../stlsoft/stlsoft_nulldef.h:75,
from recls_api.cpp:68:
./stlsoft/stlsoft.h:382:4: error: #error GNU C/C++ compilers whose major
version is not 2 or 3 are not currently supported by the STLSoft libraries
make[1]: *** [recls_api.o] Error 1
make[1]: Leaving directory `/home/bhinkle/dmd/src/phobos/etc/c/recls'
make: *** [etc/c/recls/recls_api.o] Error 2

My gcc info:

[phobos]$ gcc -v
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-libgcj-multifile
--enable-languages=c,c++,objc,java,f95,ada --enable-java-awt=gtk
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre
--host=i386-redhat-linux
Thread model: posix
gcc version 4.0.0 20050519 (Red Hat 4.0.0-8)

I looked at stlsoft.h and it only has ifdefs for gcc 2 and 3. I added an elif clause to accept gcc 4 and got it back on track.


August 28, 2005
In article <ddlomk$jek$1@digitaldaemon.com>, Ben Hinkle says...
>
>When I try to rebuild phobos for dmd.129 on linux I get an error in etc/c
>
>make[1]: Entering directory `/home/bhinkle/dmd/src/phobos/etc/c/recls'
>g++ -Wall  -O4 -mcpu=i686  -DNDEBUG -DUNIX -D_M_IX86 -c -I. -I../stlsoft
>-orecls_api.o recls_api.cpp
>`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
>In file included from ../stlsoft/stlsoft_nulldef.h:75,
>from recls_api.cpp:68:
>./stlsoft/stlsoft.h:382:4: error: #error GNU C/C++ compilers whose major
>version is not 2 or 3 are not currently supported by the STLSoft libraries
>make[1]: *** [recls_api.o] Error 1
>make[1]: Leaving directory `/home/bhinkle/dmd/src/phobos/etc/c/recls'
>make: *** [etc/c/recls/recls_api.o] Error 2
>
>My gcc info:
>
>[phobos]$ gcc -v
>Using built-in specs.
>Target: i386-redhat-linux
>Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
>--infodir=/usr/share/info --enable-shared --enable-threads=posix
>--enable-checking=release --with-system-zlib --enable-__cxa_atexit
>--disable-libunwind-exceptions --enable-libgcj-multifile
>--enable-languages=c,c++,objc,java,f95,ada --enable-java-awt=gtk
>--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre
>--host=i386-redhat-linux
>Thread model: posix
>gcc version 4.0.0 20050519 (Red Hat 4.0.0-8)
>
>I looked at stlsoft.h and it only has ifdefs for gcc 2 and 3. I added an elif clause to accept gcc 4 and got it back on track.
>
>

Really?  I couldn't get it to work with my gcc 4 ... it would complain about anonymous methods or something strange.  I stopped keeping track of C++ language changes a long time ago.


August 28, 2005
"James Dunne" <james.jdunne@gmail.com> wrote in message news:dere66$2n5r$1@digitaldaemon.com...
> In article <ddlomk$jek$1@digitaldaemon.com>, Ben Hinkle says...
>>
>>When I try to rebuild phobos for dmd.129 on linux I get an error in etc/c
>>
>>make[1]: Entering directory `/home/bhinkle/dmd/src/phobos/etc/c/recls'
>>g++ -Wall  -O4 -mcpu=i686  -DNDEBUG -DUNIX -D_M_IX86 -c -I. -I../stlsoft
>>-orecls_api.o recls_api.cpp
>>`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
>>In file included from ../stlsoft/stlsoft_nulldef.h:75,
>>from recls_api.cpp:68:
>>./stlsoft/stlsoft.h:382:4: error: #error GNU C/C++ compilers whose major
>>version is not 2 or 3 are not currently supported by the STLSoft libraries
>>make[1]: *** [recls_api.o] Error 1
>>make[1]: Leaving directory `/home/bhinkle/dmd/src/phobos/etc/c/recls'
>>make: *** [etc/c/recls/recls_api.o] Error 2
>>
>>My gcc info:
>>
>>[phobos]$ gcc -v
>>Using built-in specs.
>>Target: i386-redhat-linux
>>Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
>>--infodir=/usr/share/info --enable-shared --enable-threads=posix
>>--enable-checking=release --with-system-zlib --enable-__cxa_atexit
>>--disable-libunwind-exceptions --enable-libgcj-multifile
>>--enable-languages=c,c++,objc,java,f95,ada --enable-java-awt=gtk
>>--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre
>>--host=i386-redhat-linux
>>Thread model: posix
>>gcc version 4.0.0 20050519 (Red Hat 4.0.0-8)
>>
>>I looked at stlsoft.h and it only has ifdefs for gcc 2 and 3. I added an
>>elif
>>clause to accept gcc 4 and got it back on track.
>>
>>
>
> Really?  I couldn't get it to work with my gcc 4 ... it would complain
> about
> anonymous methods or something strange.  I stopped keeping track of C++
> language
> changes a long time ago.

True. It got back on track but then it fell off again later on. In the end I just removed $(RECLS_OBJ) from the build rule for libphobos.a and everything works fine (presumably as long as you don't use recls).