[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: pdf viewer that shows hyperlinks?



On Sun, Apr 27 2003, Nirmal Govind wrote:
> > qemu works with acrobat reader 5 here quite nicely. you just need to
> > supplement the X libs a bit.
> 
> Can you elaborate a little on this? I have qemu installed but it gives an 
> error when I try to start Acrobat 5:
>  
> Error loading /usr/local/bin/acroread
> 
> The log file is empty..
> 
> I do have the binfmt_misc module installed... so I guess this X libs 
> supplement must have something to do with it?

Here's a rough outline of what I did:

- Add rusty's patch to use personalities (attached)
- Copy the acrobat files where it expects to find it
  (/usr/X11R6/lib/Acrobat5/), and the shell launch script acroread
  somewhere in your path.
- Check which X libs it needs in addition to the ones you get with the
  qemu wine stuff. I have:

axboe@apu:[.]l/qemu-i386/usr/X11R6/lib $ ls
libICE.so.6@     libXaw.so.6.1*    libXp.so.6.2*
libXxf86misc.so.1.0*
libICE.so.6.3*   libXaw.so.7@      libXpm.so.4@         libXxf86vm.so.1@
libPEX5.so.6@    libXaw.so.7.0*    libXpm.so.4.11*
libXxf86vm.so.1.0*
libPEX5.so.6.0*  libXext.so.6@     libXrender.so.1@     libdps.so.1@
libSM.so.6@      libXext.so.6.4*   libXrender.so.1.0*   libdps.so.1.0*
libSM.so.6.0*    libXfont.so.1@    libXt.so.6@          libdpstk.so.1@
libX11.so.6@     libXfont.so.1.3*  libXt.so.6.0*        libdpstk.so.1.0*
libX11.so.6.1*   libXi.so.6@       libXtst.so.6@        libpsres.so.1@
libX11.so.6.2*   libXi.so.6.0*     libXtst.so.6.1*      libpsres.so.1.0*
libXIE.so.6@     libXmu.so.6@      libXxf86dga.so.1@    libxrx.so.6@
libXIE.so.6.0*   libXmu.so.6.1*    libXxf86dga.so.1.0*  libxrx.so.6.3*
libXaw.so.6@     libXp.so.6@       libXxf86misc.so.1@

copied from a glibc 2.1 distro. You may not need all of the above :-)

- Run bash /usr/gnemul/qemu-i386/bin/qemu-conf.sh

You should now be able to just launch acroread. Works flawlessly here. A
bit slow, but definitely usable.

Note the /usr/gnemul path. Hope this helps.

-- 
Jens Axboe

===== arch/ppc/config.in 1.64 vs edited =====
--- 1.64/arch/ppc/config.in	Tue Apr 22 17:39:06 2003
+++ edited/arch/ppc/config.in	Tue Apr 22 20:30:17 2003
@@ -194,6 +194,7 @@
 define_bool CONFIG_BINFMT_ELF y
 define_bool CONFIG_KERNEL_ELF y
 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
+dep_tristate 'Kernel support for Linux/Intel ELF binaries' CONFIG_X86_EMU
 
 source drivers/pci/Config.in
 
===== arch/ppc/kernel/Makefile 1.53 vs edited =====
--- 1.53/arch/ppc/kernel/Makefile	Tue Apr 22 17:39:07 2003
+++ edited/arch/ppc/kernel/Makefile	Tue Apr 22 20:30:17 2003
@@ -66,6 +66,7 @@
 obj-$(CONFIG_SPRUCE)		+= indirect_pci.o pci_auto.o todc_time.o
 obj-$(CONFIG_8260)		+= m8260_setup.o ppc8260_pic.o
 obj-$(CONFIG_BOOTX_TEXT)	+= btext.o
+obj-$(CONFIG_X86_EMU)		+= x86emu.o
 
 include $(TOPDIR)/Rules.make
 
===== include/asm-ppc/namei.h 1.8 vs edited =====
--- 1.8/include/asm-ppc/namei.h	Thu Feb 27 11:20:14 2003
+++ edited/include/asm-ppc/namei.h	Fri Apr 11 13:13:05 2003
@@ -8,12 +8,15 @@
 #ifndef __PPC_NAMEI_H
 #define __PPC_NAMEI_H
 
-/* This dummy routine maybe changed to something useful
- * for /usr/gnemul/ emulation stuff.
- * Look at asm-sparc/namei.h for details.
- */
-
-#define __emul_prefix() NULL
+static inline char *__emul_prefix(void)
+{
+	switch (current->personality) {
+	case (PER_X86_LINUX & PER_MASK):
+		return "usr/gnemul/x86-linux/";
+	default:
+		return NULL;
+	}
+}
 
 #endif /* __PPC_NAMEI_H */
 #endif /* __KERNEL__ */
===== include/linux/personality.h 1.4 vs edited =====
--- 1.4/include/linux/personality.h	Sat Jul 20 13:23:24 2002
+++ edited/include/linux/personality.h	Fri Apr 11 13:13:05 2003
@@ -64,6 +64,7 @@
 	PER_UW7 =		0x000e | STICKY_TIMEOUTS | MMAP_PAGE_ZERO,
 	PER_HPUX =		0x000f,
 	PER_OSF4 =		0x0010,			 /* OSF/1 v4 */
+	PER_X86_LINUX =		0x0011 | ADDR_LIMIT_32BIT,/* QEMU */
 	PER_MASK =		0x00ff,
 };
 

Reply to: