From owner-freebsd-ports@FreeBSD.ORG Wed Mar 10 15:48:53 2004 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C1E8C16A4CE for ; Wed, 10 Mar 2004 15:48:53 -0800 (PST) Received: from slytherin.ds.psu.edu (slytherin.ds.psu.edu [146.186.61.46]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5C10843D41 for ; Wed, 10 Mar 2004 15:48:53 -0800 (PST) (envelope-from hawk@slytherin.ds.psu.edu) Received: from slytherin.ds.psu.edu (localhost [127.0.0.1]) i2ANnHMp081067; Wed, 10 Mar 2004 18:49:17 -0500 (EST) (envelope-from hawk@slytherin.ds.psu.edu) Received: (from hawk@localhost) by slytherin.ds.psu.edu (8.12.11/8.12.11/Submit) id i2ANnGT2081066; Wed, 10 Mar 2004 18:49:16 -0500 (EST) (envelope-from hawk) Date: Wed, 10 Mar 2004 18:49:16 -0500 From: "Dr. Richard E. Hawkins" To: Alexander Leidinger Message-ID: <20040310234916.GA25508@slytherin.ds.psu.edu> References: <20040303195716.GL57588@slytherin.ds.psu.edu> <20040304182123.464f684e@Magellan.Leidinger.net> <20040304204910.GA52768@slytherin.ds.psu.edu> <20040305010931.7a0ed8a8@Magellan.Leidinger.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040305010931.7a0ed8a8@Magellan.Leidinger.net> User-Agent: Mutt/1.4.2.1i Organization: House of Hawkins cc: freebsd-ports@freebsd.org Subject: Re: attempting to resucitate Lahey Fortran port X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Mar 2004 23:48:54 -0000 On Fri, Mar 05, 2004 at 01:09:31AM +0100, Alexander Leidinger wrote: > On Thu, 4 Mar 2004 15:49:10 -0500 > "Dr. Richard E. Hawkins" wrote: > > This doesn't cause the devtools to be installed, nor does it cause an > > error. > I would use > RUN_DEPENDS= ${LINUXBASE}/usr/bin/ld:${PORTSDIR}/devel/linux_devtools > This way you use the linux ld to link a program, so it will be an linux > binary, not a FreeBSD binary. I don't know if this is intended. If you > didn't have some special fixes like we have in the ifc and icc ports, I > assume depending on linux_base is the right way to solve this issue. I'm not following here: ld comes from linux_devtools, not linux_base. I've looked at the ifc port, but there's a lot there. Is there just a little bit of magic that I can borrow from that? Hmm, would that also turn it into executables that can be debugged on FreeBSD? ifc conflicts with linux_devtools, and it would seem desireable to be able to have both compilers installed simultaneously (especially for someone like me, who seems to regularly trip over compiler bugs :) [Though it was amusing to respond to: "why is this a bug" with "Richard Maine says so." :) ] > > Also, the linux and linux_devtools seem to be a moving target. What is > > the correct way to make the appropriate dependency? > The default linux emulation is based upon the v7 ports (since a long > time), so you should use the v7 linux_devtools port. If your port > depends upon another linux_base version, it also needs to depend on a > similar linux_devtools port. Hmm, plane old linux_base and linux_devtools seem to be v8 now. However, after forcing a build and delete, they installed correctly as dependencies. Version doesn't matter much--all I really seem to need is glibc2.1+ and ld. > > Hmm, and my digging has lead to a new question. There is now a > > linuxthreads port. Will this let multi-threaded linux applications run? > > If so, it should be a dependency (lf95 can make multithreaded, but they > > can't run with just devtools. The port-descr says: > > > > >LinuxThreads is an POSIX pthreads implementation using "kernel threads". In > > >this FreeBSD port, a kernel thread is started using rfork (whereas in the > > >original Linux implementation a kernel thread is started using the Linux clone > > >call). This implementaion provides a so-called one-to-one mapping of threads to > > >kernel schedulable entities. For more information see about the original > linuxthreads is a FreeBSD library. It does threading similar to the way > linux does it. So if your port doesn't produce native FreeBSD > executables (because you don't do nasty tricks like the ifc and icc > ports do), you can't use it. I think you need to lookup a linux pthreads > lib somewhere. I can't give a better advise, as I don't know how lf95 > fails in this regard. It flat out tries to start multiple linux threads. If libthreads just provides a resource like that, rather than maps kernel calls to FreeBSD calls, there's no point. Thanks hawk -- Richard E. Hawkins, Asst. Prof. of Economics /"\ ASCII ribbon campaign dochawk@psu.edu 111 Hiller (814) 375-4846 \ / against HTML mail These opinions will not be those of X and postings. Penn State until it pays my retainer. / \