Compilation error for dev-java/gnu-classpath-0.97-r1 USE=nsplugin :
i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../include -Wall -DAPPLETVIEWER_EXECUTABLE=\"/opt/gnu-classpath-0.97/bin/gappletviewer\" -I/usr/include/xulrunner-1.9/stable -I/usr/include/nspr -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1 -march=pentium-m -O2 -pipe -fomit-frame-pointer -c gcjwebplugin.cc -fPIC -DPIC -o .libs/libgcjwebplugin_la-gcjwebplugin.o
gcjwebplugin.cc:61:31: error: nsIPluginInstance.h: No such file or directory
gcjwebplugin.cc:62:35: error: nsIPluginInstancePeer.h: No such file or directory
gcjwebplugin.cc:63:31: error: nsIPluginTagInfo2.h: No such file or directory
gcjwebplugin.cc:145: error: ISO C++ forbids declaration of 'NS_DEFINE_IID' with no type
gcjwebplugin.cc:145: error: 'kIPluginTagInfo2IID' was not declared in this scope
gcjwebplugin.cc:145: error: 'NS_IPLUGINTAGINFO2_IID' was not declared in this scope
gcjwebplugin.cc:145: error: initializer expression list treated as compound expression
gcjwebplugin.cc:203: error: ISO C++ forbids declaration of 'nsIPluginTagInfo2' with no type
gcjwebplugin.cc:203: error: expected ';' before '*' token
gcjwebplugin.cc: In function 'gchar* plugin_get_documentbase(NPP_t*)':
gcjwebplugin.cc:868: error: 'nsIPluginInstance' was not declared in this scope
gcjwebplugin.cc:868: error: 'xpcom_instance' was not declared in this scope
gcjwebplugin.cc:869: error: 'nsIPluginInstancePeer' was not declared in this scope
gcjwebplugin.cc:869: error: 'peer' was not declared in this scope
gcjwebplugin.cc:870: error: 'nsresult' was not declared in this scope
gcjwebplugin.cc:870: error: expected `;' before 'result'
gcjwebplugin.cc:871: error: 'nsIPluginTagInfo2' was not declared in this scope
gcjwebplugin.cc:871: error: 'pluginTagInfo2' was not declared in this scope
gcjwebplugin.cc:876: error: expected primary-expression before ')' token
gcjwebplugin.cc:890: error: 'union info_union' has no member named 'info_field'
gcjwebplugin.cc:892: error: 'result' was not declared in this scope
gcjwebplugin.cc:892: error: 'kIPluginTagInfo2IID' was not declared in this scope
gcjwebplugin.cc:912: error: 'NS_RELEASE' was not declared in this scope
gcjwebplugin.cc: At global scope:
gcjwebplugin.cc:145: warning: 'NS_DEFINE_IID' defined but not used
make: *** [libgcjwebplugin_la-gcjwebplugin.lo] Error 1
make: Leaving directory `/var/tmp/portage/dev-java/gnu-classpath-0.97-r1/work/classpath-0.97-gentoo/native/plugin'
make: *** [all-recursive] Error 1
make: Leaving directory `/var/tmp/portage/dev-java/gnu-classpath-0.97-r1/work/classpath-0.97-gentoo/native'
make: *** [all-recursive] Error 1
* ERROR: dev-java/gnu-classpath-0.97-r1 failed.
* Call stack:
* ebuild.sh, line 49: Called src_compile
* environment, line 3974: Called die
* The specific snippet of code:
* emake || die "make failed"
* The die message:
* make failed
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/dev-java/gnu-classpath-0.97-r1/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-java/gnu-classpath-0.97-r1/temp/environment'.
!!! When you file a bug report, please include the following information:
GENTOO_VM=sun-jdk-1.6 CLASSPATH="" JAVA_HOME="/opt/sun-jdk-1.6.0.04"
and of course, the output of emerge --info
If it cannot be fixed with xulrunner 1.9, it should be made to depend on =net-libs/xulrunner-1.8* or net-libs/xulrunner:1.8 (EAPI=1)
The build.log is attached in the comment below
Created attachment 146189 [details]
build fail log for dev-java/gnu-classpath-0.97-r1
Build fail log
This needs to be reported to the upstream bug tracker at http://gcc.gnu.org/bugzilla/ . Please post the url back here.
(In reply to comment #2)
> This needs to be reported to the upstream bug tracker at
> http://gcc.gnu.org/bugzilla/ . Please post the url back here.
It happens the same with dev-java/gnu-classpath-0.97.2. I have realized that when both xulrunner-1.8 and xulrunner-1.9 are installed in the system, ./configure from gnu-classpath uses the last one. This is because ./configure from gnu-classpath looks first with pkg-config for mozilla-plugin (which is from xulrunner-1.9), and if it is not found, then it looks for others.
The solution I have found is patching configure.ac, based on the installed packages, and regenerate ./configure so it looks for the right dependency.
I'm attaching my patches just now.
Created attachment 168806 [details, diff]
Patch for configure.ac so xulrunner is chosen
Created attachment 168808 [details, diff]
Patch for configure.ac, so SeaMonkey is chosen
Created attachment 168810 [details, diff]
Patch for configure.ac so Mozilla Firefox 2 is chosen
Created attachment 168812 [details]
bug happens to me too.
is there any possibility to get icedtea6 working on firefox-3/xul-runner-1.9 ?
gnu-classpath-0.97.2-r1 requires me to have an ecj-binary in PATH, which is not installed by default.
Creating a symbolic link from /usr/bin/ecj-3.3 to /usr/bin/ecj seems to work - but it can be called a workaround at best.
Maybe the dev-java herd would like to install a generally available ecj binary?
This is not the only problem, it also needs to include npfuntions.h instead of npupp.h
The nsplugin is no longer developed or recommended upstream, please move to icedtea for a free plugin.