Closed
Bug 304969
Opened 19 years ago
Closed 13 years ago
build error on xpcom when --enable-boehm
Categories
(Core :: XPCOM, defect)
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’
Updated•19 years ago
|
Assignee: nobody → dougt
Component: Build Config → XPCOM
Product: Mozilla Application Suite → Core
QA Contact: build-config → xpcom
Version: unspecified → Trunk
Comment 3•13 years ago
|
||
--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.
Description
•