Date: Thu, 11 Mar 2004 11:00:36 +0100 From: Alexander Leidinger <Alexander@Leidinger.net> To: "Dr. Richard E. Hawkins" <hawk@slytherin.ds.psu.edu> Cc: freebsd-ports@freebsd.org Subject: Re: attempting to resucitate Lahey Fortran port Message-ID: <20040311110036.163675bd@Magellan.Leidinger.net> In-Reply-To: <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> <20040310234916.GA25508@slytherin.ds.psu.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 10 Mar 2004 18:49:16 -0500 "Dr. Richard E. Hawkins" <hawk@slytherin.ds.psu.edu> wrote: > > 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. If you want to produce linux binaries, depend upon linux_devtools. If you want to produce FreeBSD binaries, depend upon linux_base and write a wrapper for ld which "does the right thing". > 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? I don't know. The ifc ports do what they do because they have to do it, to be able to produce native FreeBSD binaries. > Hmm, would that also turn it into executables that can be debugged on > FreeBSD? You should be able to debug them in both cases, you just have to use the right debugger (a linux one or a FreeBSD one, depending on the type of the executable). > > 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. % grep PORTVERSION /usr/ports/emulators/linux_base/Makefile PORTVERSION= 7.1 But my last update of the ports tree is 3 days ago. > > 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. The mapping of linux syscalls is done in the kernel, not in the userland. Bye, Alexander. -- I will be available to get hired in April 2004. http://www.Leidinger.net Alexander @ Leidinger.net GPG fingerprint = C518 BC70 E67F 143F BE91 3365 79E2 9C60 B006 3FE7
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040311110036.163675bd>