Date: Fri, 13 Apr 2007 11:50:20 +0200 From: Alexander Leidinger <Alexander@Leidinger.net> To: rick-freebsd@kiwi-computer.com Cc: freebsd-emulation@FreeBSD.ORG Subject: Re: Printing with Acrobat Reader Message-ID: <20070413115020.n7c4si43k0kcsgok@webmail.leidinger.net> In-Reply-To: <20070412155100.GA92079@keira.kiwi-computer.com> References: <20070412152642.76pd6vw0000sk88g@webmail.leidinger.net> <200704121428.l3CESbOw076122@lurza.secnetix.de> <20070412155100.GA92079@keira.kiwi-computer.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Quoting "Rick C. Petty" <rick-freebsd@kiwi-computer.com> (from Thu, 12 =20 Apr 2007 10:51:01 -0500): > [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: > =09readdir()=09--> still reading from /compat/linux/usr/bin > "lpr" not found in /usr/bin/ This can be checked with ktrace/linux_kdump, but I think you may be right. > I don't think our ABI layer checks for this kind of behavior. Because Right, it does not check for this. > /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. Correct. > 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 symlink= s > from /compat/linux/home to /home but the linux program sees: > /home --> /home Using symlinks will not work, as the directory where the links points =20 too is also tested with the /compat/linux prefix first. Bye, Alexander. --=20 [Prime Minister Joseph] Chamberlain loves the working man, he loves to see him work. =09=09-- Winston Churchill http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID =3D B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID =3D 72077137
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070413115020.n7c4si43k0kcsgok>