From owner-freebsd-questions Tue Apr 10 4:58:56 2001 Delivered-To: freebsd-questions@freebsd.org Received: from mailgate.imagination.co.uk (mailgate.imagination.co.uk [212.140.144.32]) by hub.freebsd.org (Postfix) with ESMTP id 7CC2D37B422 for ; Tue, 10 Apr 2001 04:58:52 -0700 (PDT) (envelope-from david.groves@imagination.com) Received: from imagination.com (dhcp-76-62.imagination.co.uk [192.168.76.62]) by mailgate.imagination.co.uk (8.9.3/8.9.3) with ESMTP id LAA81992 for ; Tue, 10 Apr 2001 11:58:51 GMT Message-ID: <3AD2F4F0.3A82BF4A@imagination.com> Date: Tue, 10 Apr 2001 12:56:32 +0100 From: David Groves Reply-To: david.groves@imagination.com Organization: Imagination Ltd X-Mailer: Mozilla 4.73 [en] (Win98; I) X-Accept-Language: en MIME-Version: 1.0 To: freebsd-questions@freebsd.org Subject: Linux Binary Compatibility and CorporateTime Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I am trying to run a specific linux binary on FreeBSD4.2-Release. I'm quite inexperienced with FreeBSD, but know a fair bit about various other unix's. The application is CorporateTime, and I don't have any choice in trying to get this to work, so don't worry about alternatives. CorporateTime is a product of Steltor (www.steltor.ca), and you can download the linux version of the server from them (it is built against Redhat 6.1). After installing the Linux_Base package, and running a Linux shell, you can follow the installation instructions that come with the CorporateTime package and get an installed system. The problems begin when you try to start up the 4 daemons that the CorporateTime server uses. On startup, a shell script (sh), starts up various processes unilckd (starts and setuid's itself to a service specific user, then segfaults [sig11]). uniengd (starts and setuid's itself, binds itself to its TCP port (5730), and creates its unix domain socket). So Unieng appears to work, but unilckd dies horribly. I'm a little lost as to what the problem is. I've done and looked at the following things. 1.) Before you brandelf the linux binaries from corptime, they are marked as SVR4. This causes uniengd to dump core the moment you run it. I've branded the binaries now as Linux, and this helps a bit, the program now at least tries to run. I'm not sure why everything seems to be branded as SVR4 by default though (both Linux and native FreeBSD binaries on the system were). 2.) The system uses unix domain sockets to do some interprocess chit-chat. I don't think this is causing a problem, but I'm a little lost when it comes to unix domain sockets (i.e.. I know what they do in principle, I have no idea about the way they are implemented). 3.) The system also uses SysV IPC and semaphores as well (I can see it creating, and leaving up a message queue and a semaphore). I've got a funny feeling this is where the problem lies, and I'm just pushing the bounds of what can be emulated here. The program does run exactly as advertised on Redhat Linux 6.1 (the system it is advertised as running on). ____________________________________________________________________ Imagination 25 Store Street South Crescent London WC1E 7BL England | Tel +44 20 7323 3300 Fax +44 20 7323 5801 | David Groves (david.groves@imagination.co.uk) | |_______________________________________________________| To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message