attempting to resucitate Lahey Fortran port
Alexander Leidinger
Alexander at Leidinger.net
Thu Mar 11 02:01:06 PST 2004
On Wed, 10 Mar 2004 18:49:16 -0500
"Dr. Richard E. Hawkins" <hawk at 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
More information about the freebsd-ports
mailing list