palm/pilot-link needs to be fixed for matherr change (was Re: matherr disappeared?)

David Schultz das at FreeBSD.ORG
Mon Feb 14 03:02:15 GMT 2005


On Sun, Feb 13, 2005, Sean McNeil wrote:
> On Sun, 2005-02-13 at 18:01 -0800, Steve Kargl wrote:
> > On Sun, Feb 13, 2005 at 05:23:29PM -0800, Sean McNeil wrote:
> > > I was refreshing my system and do not know when this happened, but this
> > > same port use to work:
> > > 
> > > /usr/ports/palm/pilot-link/work/pilot-link-0.11.8/bindings/Tcl/tclAppInit.c:53: undefined reference to `matherr'
> > > *** Error code 1
> > > 
> > 
> > See the thread and you should read freebsd-current list.
> 
> First of all, I do read current as I am subscribed.
> 
> > http://lists.freebsd.org/pipermail/freebsd-current/2005-February/046426.html
> 
> Finally, that thread is related to tcl 8.0.5 for i386.  I had no reason
> to suspect it had anything to do with my situation as I have an amd64
> system with tcl-8.4.7 which compiled without any issue.  Perhaps I
> simply deleted it since I am not using i386.
> 
> So, the answer to my question is yes and matherr has disappeared.
> However, it would appear that this is related to the previous thread so
> I have changed the subject line and I'm CCing das.  He had asked to be
> notified if anything else breaks.

Yeah, as I understand it, versions of Tcl released between 1993
and 2002 had a kludge to force old versions of SunOS to
dynamically link against the right version of libm; however, they
don't actually *use* matherr() in any meaningful way.
Unfortunately, N different ports have copied the hack.  I'll try
to fix all the ones that are reported to me next weekend.

> P.S.  Aren't changes like that suppose to go in UPDATING?

Well, I didn't think I would be breaking POLA too badly.
matherr() was deprecated some time in the mid-1980's when the
third edition of the System V Interface Definition was published.
Moreover, FreeBSD never actually supported it; we just had a stub
there in libm.  If it causes too much trouble, I'll have to put it
back so applications can continue to pretend that it works.


More information about the freebsd-current mailing list