Gtkmozembed on 32 and 64 bit machines

I need to use gtkmozembed. I was unsuccessful in getting it to compile
on my Fedora Core 6 x86_64 machine. I created a virtual 32-bit version
of FC6 using the VMWare server. Same hardware. gtkmozembed compiles
and runs in my software fine on the 32 bit machine, but I can’t make it
compile or run on the 64 bit machine. I even took files created on the
32 bit machine and put them on the 64 bit, but that doesn’t work because
the libraries go in different places. I tried to copy the libraries to
where they could be found, but that doesn’t work either.

Is someone able to walk me through the solution to this problem?

Thanks, Alan


Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net’s Techsay panel and you’ll get the chance to share
your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

Alan L. wrote:

I need to use gtkmozembed. I was unsuccessful in getting it to compile
on my Fedora Core 6 x86_64 machine. I created a virtual 32-bit version

Hi Alan,
can you consider installing Debian/etch?

This will avoid you the burden of compiling yourself:
http://packages.debian.org/testing/devel/libgtk-mozembed-ruby

HTH,
Mirko


Mirko M.
Ubuntu: an African word meaning “I can’t figure out how to configure
Debian”


Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net’s Techsay panel and you’ll get the chance to share
your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

Mirko M. wrote:

Alan L. wrote:

I need to use gtkmozembed. I was unsuccessful in getting it to compile
on my Fedora Core 6 x86_64 machine. I created a virtual 32-bit version

Hi Alan,
can you consider installing Debian/etch?

This will avoid you the burden of compiling yourself:
http://packages.debian.org/testing/devel/libgtk-mozembed-ruby

On the other hand, if you want to compile it yourself and do it on a
64bit
fedora I think you should try to avoid mixing 32 and 64 bit. Also
remember
to install the development packages for the 64 bit version of firefox
and/or
xulrunner.

Mirko


Mirko M.


Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net’s Techsay panel and you’ll get the chance to share
your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

The software that I am writing is to be distributed free to
non-technical people. Therefore, I need to prepare packages that do not
require technical expertise to use. The product I wish to replace )and
whose capabilities I wish to extend) is a Windows only product (because
it was written in Visual Basic). The VB product can be seen at
http://bennieblount.org/download.htm .

I am satisfied that my software will run on my 32-bit Fedora Core 6. I
can test it there. My intent is that the software should be able to be
run on as many platforms as possible. Because I don’t know exactly what
is going on behind the scenes with gtkmozembed, I must guess what I need
to do to make it run on my 64 bit platform as just one of the platforms
I wish to test on. Then, I need to extend that knowledge to other
platforms, such as Mac and Windows.

I am only now coming to the conclusion that the compile of gtkmozembed
in this Ruby-gnome environment requires only one of
xulrunner-gtkmozembed.pc, firefox-gtkmozembed.pc or
mozilla-gtkmozembed.pc. Can this be confirmed or denied?

I started out by thinking that I had to have xulrunner-gtkmozembed.pc
and firefox-gtkmozembed.pc. It did strike me as illogical that I needed
both firefox-gtkmozembed.pc and mozilla-gtkmozembed.pc. Because I don’t
know what these do, I could be wrong about that.

I followed the instructions on Mozilla’s site for xulrunner and
installed it on /opt/xulrunner. The file I downloaded had “686” in the
name, so I supposed that it was the 64 bit version. At any rate, I had
no options. After unpacking it, I ran “xulrunner --register-global”. I
then found a copy of xulrunner-gtkmozembed.pc in /usr/lib/pkgconfig/
where I also have a copy of firefox-gtkmozembed.pc. (I have a directory
/usr/lib64/pkgconfig, but there’s no copy of either of these files
there.) Therefore, I guess that xulrunner, even though it is a 64 bit
version, produced a 32 bit xulrunner-gtkmozembed.pc.

I changed to ~/Software/ruby-gnome2-all-0.16.0/gtkmozembed/sample/ and
ran “ruby ruby-gecko.rb”. I got the message

./gtkmozembed.rb:2:in require': no such file to load -- gtkmozembed.so (LoadError) from ./gtkmozembed.rb:2 from ruby-gecko.rb:33:inrequire’
from ruby-gecko.rb:33

I found myself in possession of gtkmozembed.so in
/usr/lib/ruby/site_ruby/1.8/i386-linux/ as well as one in
/usr/lib64/python2.4/site-packages/gtk-2.0/. To make certain that I’d
know that I was gaining access to the right one, I copied both
gtkmozembed.rb and /usr/lib/ruby/site_ruby/1.8/i386-linux/gtkmozembed.so
into ~/Software/ruby-gnome2-all-0.16.0/gtkmozembed/sample/ and ran “ruby
ruby-gecko.rb” again. I got the error message:

./gtkmozembed.so: ./gtkmozembed.so: wrong ELF class: ELFCLASS32 -
./gtkmozembed.so (LoadError)
from ./gtkmozembed.rb:2
from ruby-gecko.rb:33:in `require’
from ruby-gecko.rb:33

which is what I’d expect if ruby is 64 bit and gtkmozembed.so is 32
bit. Because I didn’t get a 64 bit version of gtkmozembed.so from
firefox, I got “smart” and copied the one from
/usr/lib64/python2.4/site-packages/gtk-2.0/. This time, I got the
message

./gtkmozembed.so: ./gtkmozembed.so: undefined symbol: PyExc_ImportError

  • ./gtkmozembed.so (LoadError)
    from ./gtkmozembed.rb:2
    from ruby-gecko.rb:33:in `require’
    from ruby-gecko.rb:33

Obviously, the file from Python isn’t going to work. I don’t know what
to do from here. The firefox-devel package from Red Hat is only in the
i386 version. I suppose that I can try to find one in the 64 bit
version, but, if I don’t get it from Red Hat, what I find might mess up
some other part of my system.

Has anyone a suggestion as to how I can distribute this software as
multi-platform, even if I offer a package for each of several platforms?

Thanks,
Alan

Mirko M. wrote:

This will avoid you the burden of compiling yourself:


Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net’s Techsay panel and you’ll get the chance to share
your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

I learned something. Thanks.

Mirko M. wrote:

Alan L. wrote:

installed it on /opt/xulrunner. The file I downloaded had “686” in the
name, so I supposed that it was the 64 bit version. At any rate, I had

686 means it’s optimized for pentium pro/II. It’s not the 64 bit version.


Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net’s Techsay panel and you’ll get the chance to share
your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

Alan L. wrote:

installed it on /opt/xulrunner. The file I downloaded had “686” in the
name, so I supposed that it was the 64 bit version. At any rate, I had

686 means it’s optimized for pentium pro/II. It’s not the 64 bit
version.


Mirko


Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net’s Techsay panel and you’ll get the chance to share
your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV