Closed Bug 155835 Opened 22 years ago Closed 22 years ago

typeinfo.cpp does NOT compile with rtti disabled

Categories

(SeaMonkey :: Build Config, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED INVALID

People

(Reporter: tomdkat, Assigned: netscape)

Details

From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020513
Netscape/7.0b1
BuildID:    20020702

Mozilla 1.1 snapshot does NOT compile due to compile error in typeinfo.cpp.

Here is my configure command:

 ./configure --prefix=/opt/gnome  --enable-crypto --enable-java-supplement
--enable-extensions  --enable-boehm

Here is the compile output:

make[2]: Entering directory `/home/tom/mozilla/gc/boehm'
make export
make[3]: Entering directory `/home/tom/mozilla/gc/boehm'
../../config/nsinstall -R -m 644 gc.h generic_threads.h ../../dist/include/boehm
/usr/bin/perl -I../../config ../../config/build-list.pl
../../dist/include/boehm/.headerlist gc.h generic_threads.h
typeinfo.cpp
c++ -o typeinfo.o -c -DNO_SIGNALS -DNO_EXECUTE_PERMISSION
-DALL_INTERIOR_POINTERS -DLARGE_CONFIG -DREDIRECT_MALLOC=GC_MALLOC -DTHREADS
-DGENERIC_THREADS -D_REENTRANT -DGC_DEBUG -DFIND_LEAK -DOPERATOR_NEW_ARRAY
-DSAVE_CALL_CHAIN -DUSE_PROC -DOSTYPE=\"Linux2.4\" -DOSARCH=\"Linux\" -DOJI  
-I../../dist/include/boehm -I../../dist/include
-I/home/tom/mozilla/dist/include/nspr      -I/usr/X11R6/include   -fPIC 
-I/usr/X11R6/include -fno-rtti -fno-exceptions -Wall -Wconversion
-Wpointer-arith -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth
-Wno-ctor-dtor-privacy -pedantic -Wno-long-long -fshort-wchar -pthread -pipe 
-DDEBUG -D_DEBUG -DDEBUG_tom -DTRACING -g  -I/usr/X11R6/include -DMOZILLA_CLIENT
-include ../../config-defs.h -Wp,-MD,.deps/typeinfo.pp typeinfo.cpp
typeinfo.cpp: In function `const char* getTypeName(void*)':
typeinfo.cpp:185: cannot use typeid with -fno-rtti
make[3]: *** [typeinfo.o] Error 1
make[3]: Leaving directory `/home/tom/mozilla/gc/boehm'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/tom/mozilla/gc/boehm'
make[1]: *** [boehm] Error 2
make[1]: Leaving directory `/home/tom/mozilla'
make: *** [default] Error 2



Reproducible: Always
Steps to Reproduce:
1.Configure gcc-3.1 on Linux
2.Pull the latest Mozilla 1.1 source tarball
3.Encompress the tarball on Linux
4.configure the build like this:

 ./configure --prefix=/opt/gnome  --enable-crypto --enable-java-supplement
--enable-extensions  --enable-boehm



Actual Results:  This compile error is received:

make -C gc/boehm
make[2]: Entering directory `/home/tom/mozilla/gc/boehm'
make export
make[3]: Entering directory `/home/tom/mozilla/gc/boehm'
../../config/nsinstall -R -m 644 gc.h generic_threads.h ../../dist/include/boehm
/usr/bin/perl -I../../config ../../config/build-list.pl
../../dist/include/boehm/.headerlist gc.h generic_threads.h
typeinfo.cpp
c++ -o typeinfo.o -c -DNO_SIGNALS -DNO_EXECUTE_PERMISSION
-DALL_INTERIOR_POINTERS -DLARGE_CONFIG -DREDIRECT_MALLOC=GC_MALLOC -DTHREADS
-DGENERIC_THREADS -D_REENTRANT -DGC_DEBUG -DFIND_LEAK -DOPERATOR_NEW_ARRAY
-DSAVE_CALL_CHAIN -DUSE_PROC -DOSTYPE=\"Linux2.4\" -DOSARCH=\"Linux\" -DOJI  
-I../../dist/include/boehm -I../../dist/include
-I/home/tom/mozilla/dist/include/nspr      -I/usr/X11R6/include   -fPIC 
-I/usr/X11R6/include -fno-rtti -fno-exceptions -Wall -Wconversion
-Wpointer-arith -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth
-Wno-ctor-dtor-privacy -pedantic -Wno-long-long -fshort-wchar -pthread -pipe 
-DDEBUG -D_DEBUG -DDEBUG_tom -DTRACING -g  -I/usr/X11R6/include -DMOZILLA_CLIENT
-include ../../config-defs.h -Wp,-MD,.deps/typeinfo.pp typeinfo.cpp
typeinfo.cpp: In function `const char* getTypeName(void*)':
typeinfo.cpp:185: cannot use typeid with -fno-rtti
make[3]: *** [typeinfo.o] Error 1
make[3]: Leaving directory `/home/tom/mozilla/gc/boehm'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/tom/mozilla/gc/boehm'
make[1]: *** [boehm] Error 2
make[1]: Leaving directory `/home/tom/mozilla'
make: *** [default] Error 2


Expected Results:  The code should compile EVEN IF C++ RTTI is NOT enabled.

I will try to re-build with C++ RTTI and C++ Exceptions enabled.
That's not a bug.  As the error states, you must enable rtti (off by default),
in order to use boehm.  Compiling that copy of boehm w/o rtti is, afaik,
unsupported.
Status: UNCONFIRMED → RESOLVED
Closed: 22 years ago
Resolution: --- → INVALID
Summary: typeinfo.cpp does NOT compile with gcc-3.1.1 pre-release → typeinfo.cpp does NOT compile with rtti disabled
Well, considering compiling WITH boehm garbage collection WAS requested, the
configure script SHOULD have stopped indicating C++ RTTI support was NOT
requested and is in error because it is obviously a requirement.
The "--enable-boehm" option should REQUIRE "--enable-cpp-rtti" and
"--enable-cpp-exceptions", if that is also required.

The configure script is therefore deficient....

Peace...
verified.
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.