Hallo, Am Sam, 14 Nov 2009, Sebastian Siebert schrieb:
David Haller schrieb:
In file included from nsDOMFile.cpp:39: ../../../dist/include/content/nsDOMFile.h: At global scope: ../../../dist/include/content/nsDOMFile.h:56: warning: `class nsDOMFile' has virtual functions but non-virtual destructor ../../../dist/include/xpcom/nsCOMPtr.h: In constructor ` nsCOMPtr<T>::nsCOMPtr(T*) [with T = nsIFile]': ../../../dist/include/content/nsDOMFile.h:63: instantiated from here ../../../dist/include/xpcom/nsCOMPtr.h:552: error: no matching function for call to `nsCOMPtr_base::nsCOMPtr_base(nsIFile*&)' ../../../dist/include/xpcom/nsCOMPtr.h:416: error: candidates are: nsCOMPtr_base::nsCOMPtr_base(const nsCOMPtr_base&) ../../../dist/include/xpcom/nsCOMPtr.h:420: error: nsCOMPtr_base::nsCOMPtr_base(nsISupports*)
==== dist/include/content/nsDOMFile.h ==== class nsDOMFile : public nsIDOMFile, public nsICharsetDetectionObserver { public: NS_DECL_ISUPPORTS NS_DECL_NSIDOMFILE
nsDOMFile(nsIFile *aFile) : mFile(aFile) {} virtual ~nsDOMFile() {}; [..] private: nsCOMPtr<nsIFile> mFile; ====
==== dist/include/xpcom/nsCOMPtr.h ==== class nsCOMPtr_base { public:
nsCOMPtr_base( nsISupports* rawPtr = 0 ) : mRawPtr(rawPtr) Zeile. { // nothing else to do here ====
Liegt's am gcc-3.3.5 oder ...? Ich steh ziemlich auf dem Schlauch.
- Welche Schalter gibst du dem configure-script? - Welche Schalter werden an c++ übergeben bevor der Fehler auftritt? (komplette Zeile vom Bau mal einfügen)
Ah, sorry. Weitgehend die gleichen wie beim 1.1.11 ;) ccache /opt/gcc/3.3.5/bin/g++ -o nsDOMFile.o -c -DMOZILLA_INTERNAL_API -D_IMPL_NS_COM -DEXPORT_XPT_API -DEXPORT_XPTC_API -D_IMPL_NS_COM_OBSOLETE -D_IMPL_NS_GFX -D_IMPL_NS_WIDGET -DIMPL_XREAPI -DIMPL_NS_NET -DIMPL_THEBES -DMOZ_SUITE=1 -DOSTYPE=\"Linux2.4.37\" -DOSARCH=Linux -D_IMPL_NS_LAYOUT [Massig seamonkey-eigene -I-Optionen, da fehlt auch nix] -fPIC -frtti -fexceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-long-long -O2 -march=athlon -mcpu=athlon -malign-double -m3dnow -mmmx -falign-functions=0 -Wall -W -Wno-unused -I/opt/gettext/0.16/include -I/opt/gcc/3.3.5/include -Wno-reorder -fno-strict-aliasing -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -O2 -DMOZILLA_CLIENT -include ../../../mozilla-config.h -Wp,-MD,.deps/nsDOMFile.pp nsDOMFile.cpp Die CXXFLAGS (-O2 bis -Wno-reorder) sind meine default-flags, mit denen auch sonst meist alles sauber kompiliert. VERSION=2.0 [..] ./configure \ --prefix="/opt/seamonkey/${VERSION}" \ --with-pthreads \ --with-system-jpeg \ --with-system-zlib \ --with-system-bz2 \ --enable-application=suite \ --disable-ldap \ --enable-mailnews \ --disable-gnomevfs \ --disable-gnomeui \ --disable-dbus \ --disable-accessibility \ --enable-native-uconv \ --disable-composer \ --disable-xpcom-obsolete \ --disable-updater \ --enable-leaky \ --disable-jemalloc \ --disable-parental-controls \ --enable-help-viewer \ --enable-safe-browsing \ --enable-chrome-format=both \ --with-user-appdir=".seamonkey-${VERSION}" \ --enable-cpp-rtti \ --enable-cpp-exceptions \ --enable-libxul \ --disable-calendar \ --disable-tree-freetype \ --disable-pango \ --disable-pedantic \ --disable-ogg --disable-wave \ --enable-optimize="-O2" \ --enable-system-cairo Achso, bei xpidl hab ich auch Probleme, das muß ich mit -O0 kompilieren, sonst gibt's segfaults (war aber auch bei früheren Versionen so). Wenn's dann mal kompiliert ist tut's und der seamonkey 1.1.11 bei dem ich das gleiche hatte läuft hier schon recht lange sauber. glibc ist 2.1.3, der relevante Rest des Systems ist "selbsgestrickt" mit allerlei Versionsständen, aber obiges Problem scheint mir Mozilla-Intern zu sein (bis auf gcc eben). An anderer Stelle mit ähnlicher Problematik konnte ich das Problem beheben, durch nen Cast oder dem "auseinandernehmen" des Ausdrucks, z.B.: res = iconv(mConverter, - (char**)&aSrc, + (const char**)&aSrc, &inLeft, (char**)&aDest, &outLeft); oder - nsCOMPtr<nsIVariant> arg1(already_AddRefed<nsIVariant>(XPCVariant::newVariant(ccx, argv[1]))); + already_AddRefed<nsIVariant> t = already_AddRefed<nsIVariant>(XPCVariant::newVariant(ccx, argv[1])); + nsCOMPtr<nsIVariant> arg1(t); TIA, -dnh -- "I stopped at Land's End, because to go any further would have been Scilly." -- Robert Billing -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org