Closed Bug 304969 Opened 19 years ago Closed 13 years ago

build error on xpcom when --enable-boehm

Categories

(Core :: XPCOM, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: tianchunbinghe, Unassigned)

Details

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a1) Gecko/20050815 SeaMonkey/1.0a Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a1) Gecko/20050815 SeaMonkey/1.0a When I try to build seamonkey with boehm, I got these compile error: ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I/home/binghe/src/mozilla/xpcom/base -o _xpidlgen/nsIExceptionService /home/binghe/src/mozilla/xpcom/base/nsIExceptionService.idl /home/binghe/src/mozilla/xpcom/base/nsInterfaceRequestorAgg.cpp: In function ‘nsresult NS_NewInterfaceRequestorAggregation(nsIInterfaceRequestor*, nsIInterfaceRequestor*, nsIInterfaceRequestor**)’: /home/binghe/src/mozilla/xpcom/base/nsInterfaceRequestorAgg.cpp:71: warning: ‘nsresult NS_NewInterfaceRequestorAggregation(nsIInterfaceRequestor*, nsIInterfaceRequestor*, nsIInterfaceRequestor**)’: visibility attribute ignored because it /home/binghe/src/mozilla/xpcom/base/nsInterfaceRequestorAgg.h:52: warning: conflicts with previous declaration here ../../dist/include/xpcom/nsCOMPtr.h: In instantiation of ‘nsDerivedSafe<nsIComponentRegistrar>’: /home/binghe/src/mozilla/xpcom/base/nsLeakDetector.cpp:199: instantiated from here ../../dist/include/xpcom/nsCOMPtr.h:197: error: invalid use of undefined type ‘struct nsIComponentRegistrar’ ../../dist/include/xpcom/nsXPCOM.h:68: error: forward declaration of ‘struct nsIComponentRegistrar’ ../../dist/include/xpcom/nsCOMPtr.h:200: error: type ‘nsIComponentRegistrar’ is not a base type for type ‘nsDerivedSafe<nsIComponentRegistrar>’ ../../dist/include/xpcom/nsCOMPtr.h:201: error: type ‘nsIComponentRegistrar’ is not a base type for type ‘nsDerivedSafe<nsIComponentRegistrar>’ /home/binghe/src/mozilla/xpcom/base/nsLeakDetector.cpp: In function ‘nsresult NS_InitLeakDetector()’: /home/binghe/src/mozilla/xpcom/base/nsLeakDetector.cpp:199: error: ‘class nsDerivedSafe<nsIComponentRegistrar>’ has no member named ‘RegisterFactory’ ../../dist/include/xpcom/nsCOMPtr.h: In destructor ‘nsCOMPtr<T>::~nsCOMPtr() [with T = nsIComponentRegistrar]’: /home/binghe/src/mozilla/xpcom/base/nsLeakDetector.cpp:196: instantiated from here ../../dist/include/xpcom/nsCOMPtr.h:581: error: invalid static_cast from type ‘nsIComponentRegistrar*’ to type ‘nsISupports*’ ../../dist/include/xpcom/nsCOMPtr.h:583: error: invalid use of undefined type ‘struct nsIComponentRegistrar’ ../../dist/include/xpcom/nsXPCOM.h:68: error: forward declaration of ‘struct nsIComponentRegistrar’ ../../dist/include/xpcom/nsCOMPtr.h: In destructor ‘nsGetterAddRefs<T>::~nsGetterAddRefs() [with T = nsIComponentRegistrar]’: /home/binghe/src/mozilla/xpcom/base/nsLeakDetector.cpp:197: instantiated from here ../../dist/include/xpcom/nsCOMPtr.h:1370: error: invalid static_cast from type ‘nsDerivedSafe<nsIComponentRegistrar>*’ to type ‘nsISupports*’ ../../dist/include/xpcom/nsCOMPtr.h: In member function ‘void nsCOMPtr<T>::Assert_NoQueryNeeded() [with T = nsIComponentRegistrar]’: ../../dist/include/xpcom/nsCOMPtr.h:1374: instantiated from ‘nsGetterAddRefs<T>::~nsGetterAddRefs() [with T = nsIComponentRegistrar]’ /home/binghe/src/mozilla/xpcom/base/nsLeakDetector.cpp:197: instantiated from here ../../dist/include/xpcom/nsCOMPtr.h:593: error: no matching function for call to ‘do_QueryInterface(nsIComponentRegistrar*&)’ ../../dist/include/xpcom/nsCOMPtr.h:379: note: candidates are: nsQueryInterface do_QueryInterface(nsISupports*) ../../dist/include/xpcom/nsCOMPtr.h:386: note: nsQueryInterfaceWithError do_QueryInterface(nsISupports*, nsresult*) ../../dist/include/xpcom/nsCOMPtr.h:594: error: comparison between distinct pointer types ‘nsDerivedSafe<nsIComponentRegistrar>*’ and ‘nsIComponentRegistrar*’ lacks a cast ../../dist/include/xpcom/nsCOMPtr.h: In member function ‘void nsCOMPtr<T>::assign_assuming_AddRef(T*) [with T = nsIComponentRegistrar]’: ../../dist/include/xpcom/nsCOMPtr.h:1301: instantiated from ‘void** nsCOMPtr<T>::begin_assignment() [with T = nsIComponentRegistrar]’ ../../dist/include/xpcom/nsCOMPtr.h:901: instantiated from ‘T** nsCOMPtr<T>::StartAssignment() [with T = nsIComponentRegistrar]’ ../../dist/include/xpcom/nsCOMPtr.h:1391: instantiated from ‘nsGetterAddRefs<T>::operator T**() [with T = nsIComponentRegistrar]’ /home/binghe/src/mozilla/xpcom/base/nsLeakDetector.cpp:197: instantiated from here ../../dist/include/xpcom/nsCOMPtr.h:565: error: invalid static_cast from type ‘nsIComponentRegistrar*’ to type ‘nsISupports*’ ../../dist/include/xpcom/nsCOMPtr.h:566: error: invalid static_cast from type ‘nsIComponentRegistrar*’ to type ‘nsISupports*’ ../../dist/include/xpcom/nsCOMPtr.h:568: error: invalid use of undefined type ‘struct nsIComponentRegistrar’ ../../dist/include/xpcom/nsXPCOM.h:68: error: forward declaration of ‘struct nsIComponentRegistrar’ gmake[4]: *** [nsLeakDetector.o] Error 1 Reproducible: Always My .mozconfig: mk_add_options MOZ_CO_PROJECT=suite mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/suite-opt mk_add_options MOZ_MAKE_FLAGS=-j4 ac_add_options --enable-application=suite ac_add_options --enable-calendar ac_add_options --enable-default-toolkit=qt ac_add_options --with-qtdir=/usr/share/qt3 # ac_add_options --enable-default-toolkit=gtk2 # ac_add_options --enable-xft ac_add_options --enable-cpp-rtti ac_add_options --enable-cpp-exceptions ac_add_options --enable-storage ac_add_options --enable-cryptography ac_add_options --enable-ldap-experimental ac_add_options --enable-extensions=all ac_add_options --enable-boehm ac_add_options --enable-reorder ac_add_options --enable-optimize ac_add_options --enable-debug ac_add_options --disable-tests ac_add_options --enable-logrefcnt ac_add_options --enable-perf-metrics ac_add_options --enable-update-packaging ac_add_options --enable-svg ac_add_options --enable-svg-renderer={libart,cairo} ac_add_options --enable-elf-dynstr-gc ac_add_options --enable-detect-webshell-leaks
Oh, I'm sorry, here is the full error message, (I use make -j4 ...) It seems that the key file is nsLeakDetector.cpp c++ -o nsLeakDetector.o -c -I../../dist/include/system_wrappers -include /home/binghe/src/mozilla/config/gcc_hidden.h -DMOZILLA_INTERNAL_API -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -DBUILD_ID=0000000000 -D_IMPL_NS_COM -I../../dist/include/string -I../../dist/include/boehm -I../../dist/include/xpcom -I../../dist/include -I../../dist/include/nspr -I/usr/X11R6/include -fPIC -I/usr/X11R6/include -frtti -fexceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -pedantic -fshort-wchar -pthread -pipe -DDEBUG -D_DEBUG -DDEBUG_binghe -DTRACING -g -fno-inline -ffunction-sections -O -I/usr/X11R6/include -DMOZILLA_CLIENT -include ../../mozilla-config.h -Wp,-MD,.deps/nsLeakDetector.pp /home/binghe/src/mozilla/xpcom/base/nsLeakDetector.cpp nsStackFrameUnix.cpp c++ -o nsStackFrameUnix.o -c -I../../dist/include/system_wrappers -include /home/binghe/src/mozilla/config/gcc_hidden.h -DMOZILLA_INTERNAL_API -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -DBUILD_ID=0000000000 -D_IMPL_NS_COM -I../../dist/include/string -I../../dist/include/boehm -I../../dist/include/xpcom -I../../dist/include -I../../dist/include/nspr -I/usr/X11R6/include -fPIC -I/usr/X11R6/include -frtti -fexceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -pedantic -fshort-wchar -pthread -pipe -DDEBUG -D_DEBUG -DDEBUG_binghe -DTRACING -g -fno-inline -ffunction-sections -O -I/usr/X11R6/include -DMOZILLA_CLIENT -include ../../mozilla-config.h -Wp,-MD,.deps/nsStackFrameUnix.pp /home/binghe/src/mozilla/xpcom/base/nsStackFrameUnix.cpp nsIConsoleListener.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I/home/binghe/src/mozilla/xpcom/base -o _xpidlgen/nsIConsoleListener /home/binghe/src/mozilla/xpcom/base/nsIConsoleListener.idl nsIConsoleMessage.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I/home/binghe/src/mozilla/xpcom/base -o _xpidlgen/nsIConsoleMessage /home/binghe/src/mozilla/xpcom/base/nsIConsoleMessage.idl nsIConsoleService.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I/home/binghe/src/mozilla/xpcom/base -o _xpidlgen/nsIConsoleService /home/binghe/src/mozilla/xpcom/base/nsIConsoleService.idl nsIErrorService.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I/home/binghe/src/mozilla/xpcom/base -o _xpidlgen/nsIErrorService /home/binghe/src/mozilla/xpcom/base/nsIErrorService.idl nsIException.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I/home/binghe/src/mozilla/xpcom/base -o _xpidlgen/nsIException /home/binghe/src/mozilla/xpcom/base/nsIException.idl nsIExceptionService.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I/home/binghe/src/mozilla/xpcom/base -o _xpidlgen/nsIExceptionService /home/binghe/src/mozilla/xpcom/base/nsIExceptionService.idl /home/binghe/src/mozilla/xpcom/base/nsInterfaceRequestorAgg.cpp: In function ‘nsresult NS_NewInterfaceRequestorAggregation(nsIInterfaceRequestor*, nsIInterfaceRequestor*, nsIInterfaceRequestor**)’: /home/binghe/src/mozilla/xpcom/base/nsInterfaceRequestorAgg.cpp:71: warning: ‘nsresult NS_NewInterfaceRequestorAggregation(nsIInterfaceRequestor*, nsIInterfaceRequestor*, nsIInterfaceRequestor**)’: visibility attribute ignored because it /home/binghe/src/mozilla/xpcom/base/nsInterfaceRequestorAgg.h:52: warning: conflicts with previous declaration here ../../dist/include/xpcom/nsCOMPtr.h: In instantiation of ‘nsDerivedSafe<nsIComponentRegistrar>’: /home/binghe/src/mozilla/xpcom/base/nsLeakDetector.cpp:199: instantiated from here ../../dist/include/xpcom/nsCOMPtr.h:197: error: invalid use of undefined type ‘struct nsIComponentRegistrar’ ../../dist/include/xpcom/nsXPCOM.h:68: error: forward declaration of ‘struct nsIComponentRegistrar’ ../../dist/include/xpcom/nsCOMPtr.h:200: error: type ‘nsIComponentRegistrar’ is not a base type for type ‘nsDerivedSafe<nsIComponentRegistrar>’ ../../dist/include/xpcom/nsCOMPtr.h:201: error: type ‘nsIComponentRegistrar’ is not a base type for type ‘nsDerivedSafe<nsIComponentRegistrar>’ /home/binghe/src/mozilla/xpcom/base/nsLeakDetector.cpp: In function ‘nsresult NS_InitLeakDetector()’: /home/binghe/src/mozilla/xpcom/base/nsLeakDetector.cpp:199: error: ‘class nsDerivedSafe<nsIComponentRegistrar>’ has no member named ‘RegisterFactory’ ../../dist/include/xpcom/nsCOMPtr.h: In destructor ‘nsCOMPtr<T>::~nsCOMPtr() [with T = nsIComponentRegistrar]’: /home/binghe/src/mozilla/xpcom/base/nsLeakDetector.cpp:196: instantiated from here ../../dist/include/xpcom/nsCOMPtr.h:581: error: invalid static_cast from type ‘nsIComponentRegistrar*’ to type ‘nsISupports*’ ../../dist/include/xpcom/nsCOMPtr.h:583: error: invalid use of undefined type ‘struct nsIComponentRegistrar’ ../../dist/include/xpcom/nsXPCOM.h:68: error: forward declaration of ‘struct nsIComponentRegistrar’ ../../dist/include/xpcom/nsCOMPtr.h: In destructor ‘nsGetterAddRefs<T>::~nsGetterAddRefs() [with T = nsIComponentRegistrar]’: /home/binghe/src/mozilla/xpcom/base/nsLeakDetector.cpp:197: instantiated from here ../../dist/include/xpcom/nsCOMPtr.h:1370: error: invalid static_cast from type ‘nsDerivedSafe<nsIComponentRegistrar>*’ to type ‘nsISupports*’ ../../dist/include/xpcom/nsCOMPtr.h: In member function ‘void nsCOMPtr<T>::Assert_NoQueryNeeded() [with T = nsIComponentRegistrar]’: ../../dist/include/xpcom/nsCOMPtr.h:1374: instantiated from ‘nsGetterAddRefs<T>::~nsGetterAddRefs() [with T = nsIComponentRegistrar]’ /home/binghe/src/mozilla/xpcom/base/nsLeakDetector.cpp:197: instantiated from here ../../dist/include/xpcom/nsCOMPtr.h:593: error: no matching function for call to ‘do_QueryInterface(nsIComponentRegistrar*&)’ ../../dist/include/xpcom/nsCOMPtr.h:379: note: candidates are: nsQueryInterface do_QueryInterface(nsISupports*) ../../dist/include/xpcom/nsCOMPtr.h:386: note: nsQueryInterfaceWithError do_QueryInterface(nsISupports*, nsresult*) ../../dist/include/xpcom/nsCOMPtr.h:594: error: comparison between distinct pointer types ‘nsDerivedSafe<nsIComponentRegistrar>*’ and ‘nsIComponentRegistrar*’ lacks a cast ../../dist/include/xpcom/nsCOMPtr.h: In member function ‘void nsCOMPtr<T>::assign_assuming_AddRef(T*) [with T = nsIComponentRegistrar]’: ../../dist/include/xpcom/nsCOMPtr.h:1301: instantiated from ‘void** nsCOMPtr<T>::begin_assignment() [with T = nsIComponentRegistrar]’ ../../dist/include/xpcom/nsCOMPtr.h:901: instantiated from ‘T** nsCOMPtr<T>::StartAssignment() [with T = nsIComponentRegistrar]’ ../../dist/include/xpcom/nsCOMPtr.h:1391: instantiated from ‘nsGetterAddRefs<T>::operator T**() [with T = nsIComponentRegistrar]’ /home/binghe/src/mozilla/xpcom/base/nsLeakDetector.cpp:197: instantiated from here ../../dist/include/xpcom/nsCOMPtr.h:565: error: invalid static_cast from type ‘nsIComponentRegistrar*’ to type ‘nsISupports*’ ../../dist/include/xpcom/nsCOMPtr.h:566: error: invalid static_cast from type ‘nsIComponentRegistrar*’ to type ‘nsISupports*’ ../../dist/include/xpcom/nsCOMPtr.h:568: error: invalid use of undefined type ‘struct nsIComponentRegistrar’ ../../dist/include/xpcom/nsXPCOM.h:68: error: forward declaration of ‘struct nsIComponentRegistrar’
Assignee: nobody → dougt
Component: Build Config → XPCOM
Product: Mozilla Application Suite → Core
QA Contact: build-config → xpcom
Version: unspecified → Trunk
mass reassigning to nobody.
Assignee: dougt → nobody
--enable-boehm is gone.
Status: UNCONFIRMED → RESOLVED
Closed: 13 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.