GNOME Bugzilla – Bug 170402
Can't compile epiphany-extensions 1.6.0
Last modified: 2005-07-20 19:33:53 UTC
Please describe the problem: I have problems compiling epiphany-extensions. In adblock: ... g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../extensions/adblock -I../../../include -I/usr/lib/mozilla/include/. -I/usr/lib/mozilla/include/content -I/usr/lib/mozilla/include/docshell -I/usr/lib/mozilla/include/dom -I/usr/lib/mozilla/include/xpcom -DALLOW_PRIVATE_API -DSHARE_DIR=\"/usr/share/epiphany-extensions\" -I/usr/lib/mozilla/include/gtkembedmoz -I/usr/lib/mozilla/include/xpcom -I/usr/lib/mozilla/include/string -I/usr/lib/mozilla/include/nspr -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -DORBIT2=1 -pthread -I/usr/include/libxml2 -I/usr/include/libglade-2.0 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/epiphany-1.6 -I/usr/include/libgnomeui-2.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/orbit-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/gnome-vfs-module-2.0 -I/usr/include/gconf/2 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/libart-2.0 -I/usr/include/libbonoboui-2.0 -I/usr/include/libbonobo-2.0 -fno-rtti -fshort-wchar -g -O2 -Wall -Wno-unused -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -g -O2 -MT libadblockmozilla_la-MozAdBlocker.lo -MD -MP -MF .deps/libadblockmozilla_la-MozAdBlocker.Tpo -c MozAdBlocker.cpp -fPIC -DPIC -o .libs/libadblockmozilla_la-MozAdBlocker.o In file included from MozAdBlocker.cpp:27: ../../../include/EphyUtils.h:24:26: nsIIOService.h: No such file or directory ../../../include/EphyUtils.h:25:20: nsIURI.h: No such file or directory In file included from MozAdBlocker.cpp:27: ../../../include/EphyUtils.h:34: error: `nsIIOService' was not declared in this scope ../../../include/EphyUtils.h:34: error: `ioService' was not declared in this scope MozAdBlocker.cpp: In member function `nsresult MozAdBlocker::ShouldLoadURI(nsIURI*, nsISupports*, PRUint32, PRBool*)': MozAdBlocker.cpp:107: error: invalid use of undefined type `struct nsIURI' /usr/lib/mozilla/include/content/nsIContentPolicy.h:19: error: forward declaration of `struct nsIURI' make[4]: *** [libadblockmozilla_la-MozAdBlocker.lo] Błąd 1 make[4]: Leaving directory `/home/mdk/Desktop/code samples/epiphany-extensions-1.6.0/extensions/adblock/mozilla' make[3]: *** [all-recursive] Błąd 1 make[3]: Leaving directory `/home/mdk/Desktop/code samples/epiphany-extensions-1.6.0/extensions/adblock' make[2]: *** [all-recursive] Błąd 1 make[2]: Leaving directory `/home/mdk/Desktop/code samples/epiphany-extensions-1.6.0/extensions' make[1]: *** [all-recursive] Błąd 1 make[1]: Leaving directory `/home/mdk/Desktop/code samples/epiphany-extensions-1.6.0' make: *** [all] Błąd 2 Steps to reproduce: 1. download extensions 1.6.0 2. configure --prefix=/usr -with-extensions=adblock 3. make Actual results: Expected results: Does this happen every time? Other information: I'm using i686-pc-linux-gnu-3.4.3 .
Does the error-viewer extension compile? What about page-info? Since it says nsIURI.h is missing, I suspect you don't have Mozilla headers installed. Try installing the mozilla-dev or mozilla-devel package from your distributor.
Could be mozilla headers being installed in non-standard locations. Where's nsIIOService.h and nsIURI.h under /usr/lib/mozilla/include/... ?
I've got the files referenced in the error installed in: /usr/lib/mozilla/include/necko It'a typicall mozilla 1.7.5 installation on a Gentoo system.
Mozilla installs those 2 headers into /usr/lib/mozilla/include instead of .../include/necko, so that's where we look for them. It seems gentoo installs mozilla headers in non-standard locations; that seems to be a distribution bug to me. Note that up to mozilla 1.7a (or was it 1.7b), those headers were indeed installed in necko/ (iirc), so it seems the gentoo build wasn't updated accordingly?
I managed to compile all the plugins by sym-linking stuff from different /usr/lib/mozilla/include/***/ to /usr/lib/mozilla/include. I also checked the latest Gentoo ebuild for mozilla (1.7.5-r1) -- it doesn't change anything (headers are installed into different ../include/*** directories). I submited a bug on this one to bugs.gentoo.org http://bugs.gentoo.org/show_bug.cgi?id=85437
Marking NOTGNOME as per reporter comment #5.