[ebuild N ] dev-ruby/ruby-gtkmozembed-0.19.1 USE="firefox xulrunner" 0 kB Total: 1 package (1 new), Size of downloads: 0 kB Would you like to merge these packages? [Yes/No] >>> Verifying ebuild manifests >>> Emerging (1 of 1) dev-ruby/ruby-gtkmozembed-0.19.1 * ruby-gnome2-all-0.19.1.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * CPV: dev-ruby/ruby-gtkmozembed-0.19.1 * REPO: gentoo * USE: amd64 elibc_glibc firefox kernel_linux multilib userland_GNU xulrunner >>> Unpacking source... >>> Unpacking ruby-gnome2-all-0.19.1.tar.gz to /var/tmp/portage/dev-ruby/ruby-gtkmozembed-0.19.1/work >>> Source unpacked in /var/tmp/portage/dev-ruby/ruby-gtkmozembed-0.19.1/work >>> Compiling source in /var/tmp/portage/dev-ruby/ruby-gtkmozembed-0.19.1/work/ruby-gnome2-all-0.19.1/gtkmozembed ... patching mkmf checking for GCC... yes checking for rb_define_alloc_func() in ruby.h... yes checking for rb_block_proc() in ruby.h... yes checking for new allocation framework... yes checking for attribute assignment... yes libxul-embedding-unstable is not found. xulrunner-gtkmozembed is found. checking for gtk+-2.0... yes checking for xulrunner-gtkmozembed... yes checking for G_PLATFORM_WIN32... no checking for main() in -lxpcomglue... yes checking for gtkmozembed_glue.cpp... no * ERROR: dev-ruby/ruby-gtkmozembed-0.19.1 failed: * extconf.rb failed * * Call stack: * ebuild.sh, line 48: Called src_compile * environment, line 2576: Called ruby-gnome2_src_compile * environment, line 2413: Called die * The specific snippet of code: * ${RUBY} extconf.rb || die "extconf.rb failed"; *
This might be fixed by a bump to 0.19.3, I should be able to get to this later this week.
WORKSFORME. Which implementation do you have installed? (firefox, xulrunner, version?)
This is where the file is on my system. Do you have that at all? /usr/include/xulrunner-1.9.1/unstable/gtkmozembed_glue.cpp
Oh, sorry, this must be because I'm running a beta version of xulrunner from the mozilla overlay, 1.9.2_beta5. Apparently the file has been moved out of the unstable/ directory; I have it at /usr/include/xulrunner-1.9.2/gtkmozembed_glue.cpp.
For me this file exists at /usr/include/xulrunner-1.9.2/gtkmozembed_glue.cpp. I have xulrunner-1.9.2-r2. I've patched ruby-gtkmozembed to correctly find the gtkmozembed_glue.cpp include. The patch is available here: http://source.sjkwi.com.au/hg/gentoo-overlay/file/297a507c8504/dev-ruby/ruby-gtkmozembed/files/ruby-gtkmozembed-0.19.3-find-gtkmozembed.cpp.patch Unfortunately I now run into the following link error which I don't understand: g++ -shared -o gtkmozembed.so -L. -L/usr/lib64 -Wl,-R/usr/lib64 -L. -rdynamic -Wl,-export-dynamic -Wl,-R/usr/lib64/xulrunner -Wl,-R/usr/lib64 -L/usr/lib64/xulrunner -Wl,-rpath /usr/lib64/xulrunner gtkmozembed-enum-types.o rbgtkmozembed.o rbgtkmozembed-init.o -Wl,-R -Wl,/usr/lib64 -L/usr/lib64 -lruby18 -lxpcomglue -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lgtkembedmoz -lxpcom -lplds4 -lplc4 -lnspr4 -lpthread -lpthread -lrt -ldl -lcrypt -lm -lc rbgtkmozembed-init.o: In function `setup_xpcom_glue': /var/tmp/portage/dev-ruby/ruby-gtkmozembed-0.19.3-r1/work/ruby18/ruby-gnome2-all-0.19.3/gtkmozembed/src/rbgtkmozembed-init.cpp:44: undefined reference to `GRE_GetGREPathWithProperties' /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/../../../../x86_64-pc-linux-gnu/bin/ld: rbgtkmozembed-init.o: relocation R_X86_64_PC32 against `GRE_GetGREPathWithProperties' can not be used when making a shared object; recompile with -fPIC /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: Bad value collect2: ld returned 1 exit status The symbol in question (GRE_GetGREPathWithProperties) is defined in /usr/lib64/xulrunner/libxpcomglue.so, and -lxpcomglue appears in the linker invocation so I don't understand where this is going wrong ...
I've just added ruby-gtkmozembed-0.19.4 to the tree which should be compatible with xulrunner 1.9.2.