From owner-freebsd-amd64@FreeBSD.ORG Thu Mar 3 15:18:11 2005 Return-Path: Delivered-To: freebsd-amd64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 27FB716A4CF for ; Thu, 3 Mar 2005 15:18:11 +0000 (GMT) Received: from rproxy.gmail.com (rproxy.gmail.com [64.233.170.204]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8B7DF43D5A for ; Thu, 3 Mar 2005 15:18:10 +0000 (GMT) (envelope-from zombyfork@gmail.com) Received: by rproxy.gmail.com with SMTP id a41so388334rng for ; Thu, 03 Mar 2005 07:18:10 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=ajUz5S9hZfMHITwawAEw0abLXuJ9xxSvvg6KDIps0RK0f7zpoSV32HN9Is/zRjlIa+D3mzg6rAbS53jHZRQJwGsctPOwskSTdre3UJQOpaq/K1Q+JMJXY6O35/O28c0I5Z2Pks5/7XgXB7dAiX+kFX+BF+bMS9PayehXo1Y5sCM= Received: by 10.38.10.60 with SMTP id 60mr157769rnj; Thu, 03 Mar 2005 07:17:44 -0800 (PST) Received: by 10.38.22.22 with HTTP; Thu, 3 Mar 2005 07:17:43 -0800 (PST) Message-ID: <346a8022050303071740b05a82@mail.gmail.com> Date: Thu, 3 Mar 2005 10:17:43 -0500 From: Coleman Kane To: rsh.lists@comcast.net In-Reply-To: <42245E86.5080105@comcast.net> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit References: <16931.17425.441677.617748@canoe.dclg.ca> <20050228195102.GB59327@dragon.nuxi.com> <4223CA11.6040008@comcast.net> <20050301023829.GA28427@troutmask.apl.washington.edu> <42245E86.5080105@comcast.net> cc: freebsd-amd64@freebsd.org Subject: Re: ia32 ports... X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: cokane@cokane.org List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Mar 2005 15:18:11 -0000 On Tue, 01 Mar 2005 07:22:30 -0500, Sean wrote: > Steve Kargl wrote: > > On Mon, Feb 28, 2005 at 08:49:05PM -0500, Sean wrote: > > > >>I thought I have seen posts stating that people are using 32 version of > >>programs on 64 bit amd? > > > > > > It's a very simple concept. If you have 64-bit FreeBSD dynamic > > linked binaries, you need the 64-bit FreeBSD shared libraries to > > run them. If you have 32-bit FreeBSD dynamic linked binaries, > > then you need the 32-bit FreeBSD shared libraries to run them. > > If you have the 32-bit linux dynamic binaries, then you need to > > have the 32-bit linux shared libraries. I have 314 libraries and > > symlinks in /usr/lib32. > > > > > >>So I guess some people have done this with the two copies you mentioned? > > > > > > David was talking about *building* the 32-bit software on a 64-bit > > machine. This isn't supported. What you can do is take a 32-bit > > binary, built on a 32-bit machine, and run it on your 64-bit amd64 > > system. "make buildworld" is setup to build the needed 32-bit > > libraries and loader on a 64-bit system/ > > > > > >>Then why if these 32 bit programs can't easily be built, if at all, do > >>we add such things as with_lib32=yes to make.conf and options like > >>LINPROCFS, COMPAT_LINUX32 ,COMPAT_IA32 , COMPAT_FREEBSD4 ,COMPAT_43 to > >>the kernel config? > >>I thought with these added in 32 bit program support was available? > > > > > > Yes. > > > But all this means the 32 bit versions can't be built on a 64 bit version? > They can be built, it is just difficult to build them. The latest versions of gcc and ld support a 32-bit executable target now. You would need to have some way of selecting which target (32-bit or 64-bit) you were compiling to in the .mk files. In addition, you'd need all of this automated across all ports, which is probably not easy. I have managed to build 32-bit binaries using the existing tools. The problem is, I haven't built 32-bit versions of things like Xorg and libgtk, libgnome, etc.... The solution seems like it would be easy, but actually doing the work and effort to make sure it works across the board is something else entirely. It is important to know that 32-bit binaries won't work with your existing 64-bit libs, and 64-bit binaries won't work with your 32-bit libs. It just won't happen, it is architectural in nature.