Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Running 32-bit binaries on AMD64. Flash player (not plugin!)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
acheron2
Tux's lil' helper
Tux's lil' helper


Joined: 17 Jan 2007
Posts: 106

PostPosted: Sun Aug 02, 2009 7:42 pm    Post subject: Running 32-bit binaries on AMD64. Flash player (not plugin!) Reply with quote

What should I do if I need to run a 32-bit closed-source binary on a 64-bit system? What is the best way to get 32-bit libraries?

I downloaded 32-bit Adobe Flash player (not a browser plugin) from http://www.adobe.com/support/flashplayer/downloads.html
When I tried to run it, it demanded 32-bit libnss3.so.

I figured the libraries from dev-libs/nss from Sabayon should work. I unpacked the libraries to the same directory and started the player as LD_LIBRARY_PATH=. ./flashplayer

Then it demanded libnspr4.so. I did the same with dev-libs/nspr from Sabayon.

After that, flashplayer started, reported multiple errors
(flashplayer:26323): Gtk-WARNING **: /usr/lib64/gtk-2.0/2.10.0/engines/libxfce.so: wrong ELF class: ELFCLASS64
and stopped with "Segmentation fault".

strace showed that flashplayer tries to open (unsuccessfully) a number of 32-bit libraries. It seems that libcurl.so.4.1.1 from Sabayon can replace libcurl-gnutls.so.3, but there's nothing like libldap-2.4.so.2. How should I compile it from source? Also it seems that the program tries to use 64-bit /usr/lib64/gtk-2.0/2.10.0/engines/libxfce.so instead of 32-bit /usr/lib32/gtk-2.0/2.10.0/engines/libxfce.so. What can I do about that?
Back to top
View user's profile Send private message
mtjm
n00b
n00b


Joined: 25 Nov 2008
Posts: 40
Location: Katowice, Poland

PostPosted: Sun Aug 02, 2009 8:34 pm    Post subject: Re: Running 32-bit binaries on AMD64. Flash player (not plug Reply with quote

acheron2 wrote:
What should I do if I need to run a 32-bit closed-source binary on a 64-bit system? What is the best way to get 32-bit libraries?

app-emulation/emul-linux-x86-* and *-bin

acheron2 wrote:
strace showed that flashplayer tries to open (unsuccessfully) a number of 32-bit libraries. It seems that libcurl.so.4.1.1 from Sabayon can replace libcurl-gnutls.so.3, but there's nothing like libldap-2.4.so.2. How should I compile it from source? Also it seems that the program tries to use 64-bit /usr/lib64/gtk-2.0/2.10.0/engines/libxfce.so instead of 32-bit /usr/lib32/gtk-2.0/2.10.0/engines/libxfce.so. What can I do about that?

There is no support for compiling normal packages for x86 on amd64 currently. Use binary packages or compile them manually.
Back to top
View user's profile Send private message
acheron2
Tux's lil' helper
Tux's lil' helper


Joined: 17 Jan 2007
Posts: 106

PostPosted: Sun Aug 02, 2009 11:01 pm    Post subject: Re: Running 32-bit binaries on AMD64. Flash player (not plug Reply with quote

mtjm wrote:
acheron2 wrote:
What is the best way to get 32-bit libraries?

app-emulation/emul-linux-x86-* and *-bin
I meant besides that. Most libraries aren't available that way.
Quote:
There is no support for compiling normal packages for x86 on amd64 currently. Use binary packages or compile them manually.
How do I compile them manually on 64-bit system? What gcc/configure/make/what-else? switches do I need?
Back to top
View user's profile Send private message
loftwyr
l33t
l33t


Joined: 29 Dec 2004
Posts: 970
Location: 43°38'23.62"N 79°27'8.60"W

PostPosted: Mon Aug 03, 2009 12:27 am    Post subject: Reply with quote

The few times I've needed to do it, I just got fedora binaries and manually placed them in /usr/lib32
_________________
My emerge --info
Have you run revdep-rebuild lately? It's in gentoolkit and it's worth a shot if things don't work well.
Celebrating 5 years of Gentoo-ing.
Back to top
View user's profile Send private message
Rion
Guru
Guru


Joined: 12 Oct 2006
Posts: 377
Location: Ekaterinburg, Russia

PostPosted: Mon Aug 03, 2009 2:07 am    Post subject: Reply with quote

Code:
# eix adobe-flash
[I] www-plugins/adobe-flash
     Available versions:  (~)9.0.159.0!m!s 10.0.22.87!m!s (~)10.0.22.87-r1!m!s (~)10.0.22.87-r2!m!s {32bit 64bit multilib}
     Installed versions:  10.0.22.87-r2!m!s(23:46:43 07/22/09)(64bit multilib -32bit)
     Homepage:            http://www.adobe.com/
     Description:         Adobe Flash Player

don't destroy yourself brain, just install this one with the same USE flags

PS google://32bit chroot
_________________
~amd64
rion-overlay
Back to top
View user's profile Send private message
acheron2
Tux's lil' helper
Tux's lil' helper


Joined: 17 Jan 2007
Posts: 106

PostPosted: Mon Aug 03, 2009 5:39 am    Post subject: Reply with quote

Rion wrote:
www-plugins/adobe-flash
  1. I asked about any 32-bit binary.
  2. As an example I took standalone flash player, not a browser plugin
However, flash-libcompat-0.2.tar.bz2 does have the necessary libraries, so thanks.
And why does it keep writing
Code:
Gtk-WARNING **: /usr/lib64/gtk-2.0/2.10.0/engines/libxfce.so: wrong ELF class: ELFCLASS64
?
Rion wrote:
32bit chroot
Install a parallel 32-bit system? I was hoping for a less disk-hungry solution. Even so, what are the ways to determine which libraries a binary needs?
Back to top
View user's profile Send private message
acheron2
Tux's lil' helper
Tux's lil' helper


Joined: 17 Jan 2007
Posts: 106

PostPosted: Mon Aug 03, 2009 5:40 am    Post subject: Reply with quote

loftwyr wrote:
The few times I've needed to do it, I just got fedora binaries

Any distribution will do. Sabayon just has the most familiar names and the most similar dependencies.
loftwyr wrote:
and manually placed them in /usr/lib32

/usr/lib32 becomes a mess this way :) Unless they are placed by an ebuild. That's why a temporary directory and LD_LIBRARY_PATH until everything works.
Back to top
View user's profile Send private message
Carnildo
Guru
Guru


Joined: 17 Jun 2004
Posts: 594

PostPosted: Mon Aug 03, 2009 10:32 pm    Post subject: Reply with quote

acheron2 wrote:
Rion wrote:
www-plugins/adobe-flash
  1. I asked about any 32-bit binary.
  2. As an example I took standalone flash player, not a browser plugin
However, flash-libcompat-0.2.tar.bz2 does have the necessary libraries, so thanks.
And why does it keep writing
Code:
Gtk-WARNING **: /usr/lib64/gtk-2.0/2.10.0/engines/libxfce.so: wrong ELF class: ELFCLASS64
?

A 32-bit program has decided to manually load a 64-bit library, which doesn't work. There's nothing you can do about this except to file a bug report with the program's authors.

Quote:
Rion wrote:
32bit chroot
Install a parallel 32-bit system? I was hoping for a less disk-hungry solution. Even so, what are the ways to determine which libraries a binary needs?

"ldd /path/to/my/program" will show which libraries the program uses; any library without a matching path on the right-hand side (I believe ldd prints "unresolved" here) needs to be installed. You'll want a 32-bit chroot simply because that's the easiest way of building 32-bit libraries, but a basic build system isn't that large.
Back to top
View user's profile Send private message
acheron2
Tux's lil' helper
Tux's lil' helper


Joined: 17 Jan 2007
Posts: 106

PostPosted: Tue Aug 04, 2009 3:00 am    Post subject: Reply with quote

Carnildo wrote:
"ldd /path/to/my/program" will show which libraries the program uses;
Thanks! That was the answer I needed.
Carnildo wrote:
any library without a matching path on the right-hand side (I believe ldd prints "unresolved" here) needs to be installed.

Yes. Just like that. Thanks.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum