Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 298484 - dev-ruby/ruby-gtkmozembed-0.19.1 fails to build
Summary: dev-ruby/ruby-gtkmozembed-0.19.1 fails to build
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Ruby Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-26 23:32 UTC by Tobias Heinlein (RETIRED)
Modified: 2010-04-25 15:54 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tobias Heinlein (RETIRED) gentoo-dev 2009-12-26 23:32:33 UTC
[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";
 *
Comment 1 Hans de Graaff gentoo-dev Security 2009-12-27 06:47:02 UTC
This might be fixed by a bump to 0.19.3, I should be able to get to this later this week.
Comment 2 Hans de Graaff gentoo-dev Security 2010-01-01 19:39:25 UTC
WORKSFORME. Which implementation do you have installed? (firefox, xulrunner, version?)
Comment 3 Hans de Graaff gentoo-dev Security 2010-01-01 19:52:41 UTC
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 
Comment 4 Tobias Heinlein (RETIRED) gentoo-dev 2010-01-01 20:14:34 UTC
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.
Comment 5 Dan Callaghan 2010-03-09 11:48:16 UTC
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 ...
Comment 6 Hans de Graaff gentoo-dev Security 2010-04-25 15:54:11 UTC
I've just added ruby-gtkmozembed-0.19.4 to the tree which should be compatible with xulrunner 1.9.2.