From owner-freebsd-emulation@FreeBSD.ORG Thu Apr 12 15:51:05 2007 Return-Path: X-Original-To: freebsd-emulation@FreeBSD.ORG Delivered-To: freebsd-emulation@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1C97916A402 for ; Thu, 12 Apr 2007 15:51:05 +0000 (UTC) (envelope-from rick@kiwi-computer.com) Received: from kiwi-computer.com (keira.kiwi-computer.com [63.224.10.3]) by mx1.freebsd.org (Postfix) with SMTP id B0D8613C465 for ; Thu, 12 Apr 2007 15:51:04 +0000 (UTC) (envelope-from rick@kiwi-computer.com) Received: (qmail 92640 invoked by uid 2001); 12 Apr 2007 15:51:01 -0000 Date: Thu, 12 Apr 2007 10:51:01 -0500 From: "Rick C. Petty" To: freebsd-emulation@FreeBSD.ORG Message-ID: <20070412155100.GA92079@keira.kiwi-computer.com> References: <20070412152642.76pd6vw0000sk88g@webmail.leidinger.net> <200704121428.l3CESbOw076122@lurza.secnetix.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200704121428.l3CESbOw076122@lurza.secnetix.de> User-Agent: Mutt/1.4.2.1i Cc: Subject: Re: Printing with Acrobat Reader X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: rick-freebsd@kiwi-computer.com List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2007 15:51:05 -0000 [cc: line snipped] On Thu, Apr 12, 2007 at 04:28:37PM +0200, Oliver Fromme wrote: > > Alexander Leidinger wrote: > > Oliver Fromme wrote: > > > That's correct. Obviously Adobe Reader performs some kind > > > of sanity check on the path (if one is given), and for some > > > reason it always prepends /compat/linux in that case. > > > > No linux application does this, it's the kernel. It tries with the > > compat path first and then with the normal path. I don't know why it > > does not work in acroread, I never investigated this issue. An > > application should not be able to know if the command is from compat > > or not. > > Adobe Reader does. Dont ask me how and why, but it does. > Any other explanation of the symptom is even less likely. I get the sense that Acroread does something like the following: opendir("/usr/bin") --> maps to /compat because /usr/bin exists there repeat: readdir() --> still reading from /compat/linux/usr/bin "lpr" not found in /usr/bin/ I don't think our ABI layer checks for this kind of behavior. Because /compat/linux/usr/bin was found, it doesn't try to look in /usr/bin. I've seen this behavior in Acroread since version 7 and maybe even earlier, in 6-STABLE so it's not due to recent linux ABI changes. Similarly, I've seen this behavior in linux-firefox. Sometimes after running ffox I'll notice that this directory gets completely filled: /compat/linux/home/$user/mozilla/firefox/$profilename/ and sometimes it doesn't. I end up doing "rm -rf /compat/linux/home" a lot and trying to restart ffox until it works from /home/$user. My guess is that the program picks up my profile in /home and reads most of the files, but then tries to do a "mkdir -p" equivalent on /home/$user/... but it's picking up in /compat somehow. The ABI is performing similar to a unionfs but not quite, and maybe that's the problem-- I think we want all writes to happen to the underlying filesystem and all reads to check /compat first, but that may not be trivial to implement at the VFS layer? I think I even tried using symlinks from /compat/linux/home to /home but the linux program sees: /home --> /home -- Rick C. Petty