Subject: Re: Can't run opera on amd64
To: Loic Hoguin <essen@dev-extend.eu>
From: Nicolas Joly <njoly@pasteur.fr>
List: port-amd64
Date: 03/28/2007 00:32:04
On Tue, Mar 27, 2007 at 11:23:35PM +0200, Loic Hoguin wrote:
>   Hello,
> 
>   I'm trying to run opera on my new laptop running amd64 current.
> 
>   I compiled a kernel with COMPAT_LINUX, COMPAT_LINUX32 and EXEC_ELF32,
> 
> [root@blackrose] % sysctl -a | grep linux
> emul.linux.kern.ostype = Linux
> emul.linux.kern.osrelease = 2.4.18
> emul.linux.kern.osversion = #0 Wed Feb 20 20:00:02 CET 2002
> emul.linux32.kern.ostype = Linux
> emul.linux32.kern.osrelease = 2.4.18
> emul.linux32.kern.osversion = #0 Wed Feb 20 20:00:02 CET 2002
> 
>   installed the compatibility packages (well, they installed automagically)
> 
> [root@blackrose] % pkg_info | grep suse
> suse_base-10.0nb3   Linux compatibility package
> suse_x11-10.0nb2    Linux compatibility package for X11 binaries
> 
>   and then tried to run opera. I got the following error:
> 
> [root@blackrose] % opera
> /usr/bin/opera: line 263: /usr/lib/opera/9.10-20061214.1/opera: cannot  
> execute binary file
> /usr/bin/opera: line 263: /usr/lib/opera/9.10-20061214.1/opera: Success
> 
>   I don't really know why it doesn't work. Does anyone have an idea?

opera from pkgsrc needs 32bit linux compat libraries... but 64bit
compat libraries were installed instead ??

njoly@lanfeust [~]> file /usr/pkg/emul/linux/usr/lib/opera/9.10-20061214.1/opera
/usr/pkg/emul/linux/usr/lib/opera/9.10-20061214.1/opera: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), stripped

It seems that ONLY_FOR_PLATFORM variable does not work as
expected. For now, it is restricted to NetBSD/i386, but
Makefile.common include extends the platform list.

pkgsrc/www/opera/Makefile:
ONLY_FOR_PLATFORM=      NetBSD-*-i386 SunOS-*-sparc FreeBSD-*-i386 \
			DragonFly-*-i386

pkgsrc/emulators/suse100_linux/Makefile.common:
ONLY_FOR_PLATFORM+=     NetBSD-[2-9]*-i386 NetBSD-3.99*-x86_64 \
                        NetBSD-[2-9]*-powerpc \
                        NetBSD-[4-9]*-x86_64 FreeBSD-*-i386 \
                        DragonFly-*-i386

Unfortunately, pkgsrc miss 32bit compat linux packages for now :-(
I'd love to have them already, but i lack time to do more than small
experiments.

-- 
Nicolas Joly

Biological Software and Databanks.
Institut Pasteur, Paris.