From owner-freebsd-emulation@FreeBSD.ORG Thu Jun 14 20:40:46 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 7E5E216A469 for ; Thu, 14 Jun 2007 20:40:46 +0000 (UTC) (envelope-from sean-freebsd@farley.org) Received: from mail.farley.org (farley.org [67.64.95.201]) by mx1.freebsd.org (Postfix) with ESMTP id 2AA3B13C447 for ; Thu, 14 Jun 2007 20:40:45 +0000 (UTC) (envelope-from sean-freebsd@farley.org) Received: from [192.168.1.211] ([192.168.1.211]) by mail.farley.org (8.14.1/8.14.1) with ESMTP id l5EKfJQr082419 for ; Thu, 14 Jun 2007 15:41:24 -0500 (CDT) (envelope-from sean-freebsd@farley.org) Date: Thu, 14 Jun 2007 15:40:40 -0500 (CDT) From: "Sean C. Farley" To: freebsd-emulation@freebsd.org Message-ID: <20070614152441.C1140@baba.farley.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=no version=3.2.0 X-Spam-Checker-Version: SpamAssassin 3.2.0 (2007-05-01) on mail.farley.org Subject: Library loading problem for Linux applications 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: Thu, 14 Jun 2007 20:40:46 -0000 Since the xorg 7.2 upgrade, I have been unable to run games/linux-ut (maintainer is yours truly). I believe it to be the way the libraries are being loaded that is causing the problem. If I try to run the ut (shell script that runs ut-bin), I believe SDLDrv.so is having trouble finding the Linux libXext.so.6. ut -log output (snipped): Bound to SDLDrv.so appError called: Couldn't initialize SDL: No available video device ktrace output: 52006 ut-bin CALL open(0xbfbfc5c0,0,0x287078ab) 52006 ut-bin NAMI "./tls/libXext.so.6" 52006 ut-bin RET open JUSTRETURN 52006 ut-bin CALL open(0xbfbfc5c0,0,0x287078ab) 52006 ut-bin NAMI "./libXext.so.6" 52006 ut-bin RET open JUSTRETURN 52006 ut-bin CALL open(0xbfbfc5c0,0,0x287078ab) 52006 ut-bin NAMI "/compat/linux/usr/local/lib/tls/libXext.so.6" 52006 ut-bin NAMI "/usr/local/lib/tls/libXext.so.6" 52006 ut-bin RET open JUSTRETURN 52006 ut-bin CALL open(0xbfbfc5c0,0,0x287078ab) 52006 ut-bin NAMI "/compat/linux/usr/local/lib/libXext.so.6" 52006 ut-bin NAMI "/usr/local/lib/libXext.so.6" 52006 ut-bin RET open 7 If I fix the problem by running (cd /compat/linux/usr && ln -s X11R6 local), then this is solved. Of course, there has to be a second problem; it cannot find the Linux libGL.so.1. ut -log output (snipped): Bound to OpenGLDrv.so Loaded render device class. Initializing OpenGLDrv... binding libGL.so.1 appError called: Failed loading libGL.so.1: /usr/local/lib/libGL.so.1: ELF file OS ABI invalid ktrace output: 1395 ut-bin CALL open(0xbfbfc870,0,0) 1395 ut-bin NAMI "./tls/libGL.so.1" 1395 ut-bin RET open JUSTRETURN 1395 ut-bin CALL open(0xbfbfc870,0,0) 1395 ut-bin NAMI "./libGL.so.1" 1395 ut-bin RET open JUSTRETURN 1395 ut-bin CALL open(0xbfbfc870,0,0) 1395 ut-bin NAMI "/compat/linux/usr/local/lib/tls/libGL.so.1" 1395 ut-bin NAMI "/usr/local/lib/tls/libGL.so.1" 1395 ut-bin RET open JUSTRETURN 1395 ut-bin CALL open(0xbfbfc870,0,0) 1395 ut-bin NAMI "/compat/linux/usr/local/lib/libGL.so.1" 1395 ut-bin NAMI "/usr/local/lib/libGL.so.1" 1395 ut-bin RET open 49/0x31 What is the correct solution to have the Linux application search all relevant directories in /compat first? LD_LIBRARY_PATH is ignored by these open() calls. The nVidia libGL.so.1 is installed in /compat/linux/usr/lib. Sean -- sean-freebsd@farley.org