Subject: Linux emul problem (cannot enable executable stack as shared object requires) (was: acroread7 broken on 3.0 & current)
To: None <current-users@NetBSD.org>
From: Bernd Ernesti <netbsd@lists.veego.de>
List: tech-pkg
Date: 08/24/2005 09:33:45
Hi,

there are two problems.

On Wed, Aug 24, 2005 at 01:12:50AM -0500, Tracy Di Marco White wrote:
> 
> Acroread7 doesn't work because
> /emul/linux/etc/opt/gnome/gtk-2.0/gdk-pixbuf.loaders
> is empty.

1. Seems to be a package problem, but maybe related to the second problem with
   the linux emulation.

> grep gdk-pixbuf.loaders /var/db/pkg/*/+CONTENTS
> /var/db/pkg/suse_gtk2-9.1nb3/+CONTENTS:emul/linux/etc/opt/gnome/gtk-2.0/gdk-pixbuf.loaders
> 
> So I reinstall suse91_gtk2, and because I have PKG_DEVELOPER set, I
> find out about PLIST unhappiness.
> ===> Checking file-check results for suse_gtk2-9.1nb3
> *** The PLIST does not match installed files!
> *** The following files are in the PLIST but not in /usr/pkg:
>         /usr/pkg/emul/linux/etc/opt/gnome/gtk-2.0/gdk-pixbuf.loaders
> 	/usr/pkg/emul/linux/etc/opt/gnome/gtk-2.0/gtk.immodules
> 	/usr/pkg/emul/linux/etc/opt/gnome/pango/pango.modules
> 
> (I also notice 
> /usr/pkg/emul/linux/opt/gnome/bin/gtk-query-immodules-2.0: error while loading shared libraries: libgdk_pixbuf-2.0.so.0: cannot enable executable stack as shared object requires: Permission denied
> /usr/pkg/emul/linux/opt/gnome/bin/gdk-pixbuf-query-loaders: error while loading shared libraries: libgdk_pixbuf-2.0.so.0: cannot enable executable stack as shared object requires: Permission denied
> but don't know if they matter.)

2. This seems to be a linux emulation problem.

Someone mentioned that this doesn't happen with 2.0.

Bernd

> To get acroread7 working, I need to add:
> "/emul/linux/opt/gnome/lib/gtk-2.0/2.2.0/loaders/libpixbufloader-xpm.so"
> "xpm" 0 "gtk20" "The XPM image format"
> "image/x-xpixmap" ""
> "xpm" ""
> "/* XPM */" "" 100
> 
> but that won't necessarily fix other apps that use this thing.
> 
> Running the native version of gdk-pixbuf-query-loaders will get you
> an example of what goes in the
> /emul/linux/etc/opt/gnome/gtk-2.0/gdk-pixbuf.loaders
> file, if you want to be complete.
> 
> Running the linux version gets you:
> % /usr/pkg/emul/linux/opt/gnome/bin/gdk-pixbuf-query-loaders
> /usr/pkg/emul/linux/opt/gnome/bin/gdk-pixbuf-query-loaders: error while loading shared libraries: libgdk_pixbuf-2.0.so.0: cannot enable executable stack as shared object requires: Permission denied
> 
> I suppose I'll put this in a PR later, but I don't know how to actually
> fix this yet, any hints?
> 
> I still get a lot of WARNINGs & CRITICALs from acroread7 when I run it,
> but it seems to work like this.
> 
> (Thanks to Jason White for digging all this up.)
> 
> -Tracy