hello everybody, I had a problem  to  complie mplayer -plugin from source code , my system is ubuntu version 8, and I'm using xulrunner 1.9.0.4, firefox 3.0.4.
used below command  to configure
./configure --with-gecko-sdk=/home/honghui/xpcomdir/xulrunner-sdk/sdk
output:

checking for g++... g++
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for a BSD-compatible install... /usr/bin/install -c
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
Using new (v1.7+) gecko-sdk
checking for pkg-config... /usr/bin/pkg-config
checking for gtk+-2.0... yes
checking GTK_CFLAGS... -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 
checking GTK_LIBS... -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 
checking for gtk+-2.0 >= 2.4.0... yes
checking GTK24_CFLAGS... -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 
checking GTK24_LIBS... -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 
checking for gthread-2.0... yes
checking GTHREAD_CFLAGS... -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include 
checking GTHREAD_LIBS... -pthread -lgthread-2.0 -lrt -lglib-2.0 
checking how to run the C preprocessor... gcc -E
checking for x11... yes
checking X_CFLAGS... 
checking X_LIBS... -lX11 
checking for xt... checking whether -R must be followed by a space... neither works
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for xpm... yes
checking XPM_CFLAGS... 
checking XPM_LIBS... -lXpm -lX11 
checking for ANSI C header files... (cached) yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for an ANSI C-conforming const... yes
checking whether time.h and sys/time.h may both be included... yes
checking for pid_t... yes
checking for size_t... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for memset... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strdup... yes
checking for strncasecmp... yes
checking for strstr... yes
checking for strrchr... yes
checking for snprintf... yes
checking for mkfifo... yes
checking for dup2... yes
checking for gettimeofday... yes
checking for strerror... yes
checking for strtol... yes
checking for mkdir... yes
checking for setlocale... yes
checking for memmem... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking return type of signal handlers... void
checking for DPMSQueryExtension in -lXdpms... no
checking for X11/extensions/dpms.h... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: WARNING:  Makefile.in seems to ignore the --datarootdir setting
config.status: creating po/Makefile
config.status: WARNING:  po/Makefile.in seems to ignore the --datarootdir setting
config.status: creating install.sh
config.status: WARNING:  install.sh.in seems to ignore the --datarootdir setting
config.status: creating uninstall.sh
config.status: creating config.h
config.status: config.h is unchanged

and then make:

g++ -c -o plugin.o -Wall -DXP_UNIX -DMOZ_X11 -I/home/honghui/xpcomdir/xulrunner-sdk/sdk -I/home/honghui/xpcomdir/xulrunner-sdk/sdk/include -g -O2   -INONE   -g -O2  -Iinclude -fPIC -DXPCOM_GLUE -DMOZILLA_STRICT_API -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   -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   -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DGTK_ENABLED   Source/plugin.cpp
In file included from Source/nsScriptablePeer.h:48,
                 from Source/plugin.h:54,
                 from Source/plugin.cpp:37:
Source/nsIScriptableMplayerPlugin.h:28:60: error: macro "NS_DEFINE_STATIC_IID_ACCESSOR" requires 2 arguments, but only 1 given
Source/nsIScriptableMplayerPlugin.h:123:64: error: macro "NS_DEFINE_STATIC_IID_ACCESSOR" requires 2 arguments, but only 1 given
In file included from Source/plugin.h:55,
                 from Source/plugin.cpp:37:
Source/plugin-setup.h:4:27: error: X11/Intrinsic.h: No such file or directory
Source/plugin-setup.h:5:28: error: X11/StringDefs.h: No such file or directory
In file included from Source/nsScriptablePeer.h:48,
                 from Source/plugin.h:54,
                 from Source/plugin.cpp:37:
Source/nsIScriptableMplayerPlugin.h:28: error: ISO C++ forbids declaration of 'NS_DEFINE_STATIC_IID_ACCESSOR' with no type
Source/nsIScriptableMplayerPlugin.h:31: error: expected ';' before 'virtual'
Source/nsIScriptableMplayerPlugin.h:123: error: ISO C++ forbids declaration of 'NS_DEFINE_STATIC_IID_ACCESSOR' with no type
Source/nsIScriptableMplayerPlugin.h:126: error: expected ';' before 'virtual'
In file included from Source/plugin.h:54,
                 from Source/plugin.cpp:37:
Source/nsScriptablePeer.h: In member function 'virtual nsresult nsClassInfoMixin::GetImplementationLanguage(PRUint32*)':
Source/nsScriptablePeer.h:64: error: 'nsIProgrammingLanguage' has not been declared
In file included from Source/plugin.h:55,
                 from Source/plugin.cpp:37:
Source/plugin-setup.h: At global scope:
Source/plugin-setup.h:134: error: 'Widget' does not name a type
Source/plugin-setup.h:205: error: variable or field 'DrawUI' declared void
Source/plugin-setup.h:205: error: 'Widget' was not declared in this scope
Source/plugin-setup.h:205: error: expected primary-expression before '*' token
Source/plugin-setup.h:205: error: 'instance' was not declared in this scope
Source/plugin-setup.h:205: error: expected primary-expression before 'char'
Source/plugin-setup.h:206: error: expected primary-expression before 'int'
Source/plugin-setup.h:206: error: expected primary-expression before 'int'
Source/plugin-setup.h:208: warning: 'RedrawCB' initialized and declared 'extern'
Source/plugin-setup.h:208: error: variable or field 'RedrawCB' declared void
Source/plugin-setup.h:208: error: 'Widget' was not declared in this scope
Source/plugin-setup.h:208: error: 'XtPointer' was not declared in this scope
Source/plugin-setup.h:209: error: 'XtPointer' was not declared in this scope
In file included from Source/plugin.cpp:37:
Source/plugin.h:176: error: 'Widget' does not name a type
Source/plugin.cpp: In function 'NPError NS_PluginInitialize()':
Source/plugin.cpp:101: warning: dereferencing type-punned pointer will break strict-aliasing rules
Source/plugin.cpp: In constructor 'nsPluginInstance::nsPluginInstance(NPP_t*)':
Source/plugin.cpp:208: error: 'widget' was not declared in this scope
Source/plugin.cpp: In member function 'void nsPluginInstance::shutdown()':
Source/plugin.cpp:437: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp:440: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp: In member function 'void nsPluginInstance::Play()':
Source/plugin.cpp:2241: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp: In member function 'void nsPluginInstance::Pause()':
Source/plugin.cpp:2271: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp: In member function 'void nsPluginInstance::Stop()':
Source/plugin.cpp:2291: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp:2293: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp:2303: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp: In member function 'void nsPluginInstance::Quit()':
Source/plugin.cpp:2321: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp:2322: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp: In member function 'void nsPluginInstance::FastForward()':
Source/plugin.cpp:2348: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp:2349: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp:2351: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp: In member function 'void nsPluginInstance::FastReverse()':
Source/plugin.cpp:2375: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp:2376: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp:2378: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp: In member function 'void nsPluginInstance::Seek(double)':
Source/plugin.cpp:2391: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp:2395: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp: In member function 'void nsPluginInstance::VolumeUp()':
Source/plugin.cpp:2409: warning: deprecated conversion from string constant to 'char*'
Source/plugin.cpp: In member function 'void nsPluginInstance::VolumeDown()':
Source/plugin.cpp:2423: warning: deprecated conversion from string constant to 'char*'
make: *** [plugin.o] Error 1

That get wrong ,and  whish is  the right way to complie mplayer-plugin ?

Thinks