From owner-freebsd-emulation@FreeBSD.ORG Wed Dec 2 18:19:20 2009 Return-Path: Delivered-To: freebsd-emulation@FreeBSD.org Received: from [127.0.0.1] (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by hub.freebsd.org (Postfix) with ESMTP id A422D106566B; Wed, 2 Dec 2009 18:19:20 +0000 (UTC) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: freebsd-emulation@FreeBSD.org Date: Wed, 2 Dec 2009 13:19:10 -0500 User-Agent: KMail/1.6.2 References: <20091202165833.GA813@psconsult.nl> In-Reply-To: <20091202165833.GA813@psconsult.nl> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200912021319.12013.jkim@FreeBSD.org> Cc: Subject: Re: Missing syscall linux_base-f10 on 8.0-R (amd64) X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Dec 2009 18:19:20 -0000 On Wednesday 02 December 2009 11:58 am, Paul Schenkeveld wrote: > Hi, > > I'm trying to run an old linux executable on 8.0-R amd64 under > linux_base-f10. The app (we have no sources) fails when trying to > open a pipe to the lp command. With truss I see the following: > > 70291: read(0,"\n",4096) = 1 (0x1) > 70291: > linux_socketcall(0x9,0xffffb424,0x81b0150,0x81b0150,0x81a5ac8,0x6) > = 4 (0x4) 70291: > linux_socketcall(0xa,0xffffb400,0x81afc08,0x4,0x81a5c9c,0x6) = 12 > (0xc) 70291: linux_access(0x8187fc8,0x4,0x8187fc8,0x6,0x0,0x6) > ERR#2 'No such file or directory' 70291: > linux_access(0x8187fc8,0x4,0x8187fc8,0x6,0x0,0x6) ERR#2 'No such > file or directory' 70291: > linux_access(0x8187fc8,0x4,0x8187fc8,0x6,0x0,0x6) ERR#2 'No such > file or directory' 70291: > linux_access(0x8187fc8,0x4,0x8187fc8,0xe,0xb,0x6) ERR#2 'No such > file or directory' 70291: > linux_access(0x8187fc8,0x4,0x8187fc8,0xe,0xffffae84,0x6) ERR#2 'No > such file or directory' 70291: > linux_access(0x8187fc8,0x4,0x8187fc8,0xe,0xffffae84,0x6) ERR#2 'No > such file or directory' 70291: > linux_access(0x8187fc8,0x4,0x8187fc8,0xe,0xffffae84,0x6) ERR#2 'No > such file or directory' 70291: > linux_access(0x8187fc8,0x4,0x8187fc8,0xe,0xb,0x6) ERR#2 'No such > file or directory' 70291: > linux_access(0x8187fc8,0x4,0x8187fc8,0xe,0xffffae84,0x6) ERR#2 'No > such file or directory' 70291: > linux_access(0x8187fc8,0x4,0x8187fc8,0xffffae84,0xe,0x6) = 0 (0x0) > 70291: linux_open("/some/file",0x0,00) = 6 (0x6) > 70291: read(6,"xxxxxx",6) = 6 (0x6) > 70291: read(6,0xffffafbc,13) = 0 (0x0) > 70291: close(6) = 0 (0x0) > -- UNKNOWN SYSCALL 331 -- > 70291: write(2,"\n ",5) = 5 (0x5) > > Is this a system call missing in linux_base-f10 or in the kernel > part of the linux emulation? The app user to run on 6.2-R i386 > with linux_base-fc-4. We are trying to move to 8.0-R amd64 to get > stable ZFS support. Linux syscall 331 is pipe2(2) and it was added in Linux 2.6.27 and glibc 2.9 according to the Linux manual page: http://www.kernel.org/doc/man-pages/online/pages/man2/pipe.2.html Linuxulator in kernel does not support it. You may try older linux_base instead. Jung-uk Kim