Mail Archives: cygwin/2001/06/14/13:14:48
"Larry Hall (RFK Partners, Inc)" wrote:
>
> At 12:12 PM 6/14/2001, J. Johnston wrote:
> >Frank Wuebbeling wrote:
> > >
> > > Hi,
> > >
> > > > Newlib changed math.h in January to have an errno-like solution for
> > > signgam whereby a function gets
> > > > called. Is math.h up to date in the user's Cygwin and is it being
> > > included by the source code in
> > > > question?
> > >
> > > Ok. The change to math.h produces my problem, I think. I have a fairly
> > > recent system, that has been updated using cygwin's setup last week. I'll
> > > try to illustrate my problem. Here's the shortest code I can come up with:
> > >
> > > #include "math.h"
> > > main()
> > > {
> > > double a=signgam;
> > > }
> > >
> > > Use "cc x.c -lm" to compile it. Works without problems on LINUX, for
> > > example. CYGWIN, in the version I have, gives:
> > >
> > > wuebbel% cc x.c -lm
> > > /c/FENSTER/TEMP/ccKdCoNl.o(.text+0xc):x.c: undefined reference to
> > > `__signgam'
> > > collect2: ld returned 1 exit status
> > >
> >
> >Ok, Frank, I know the problem. Add -lc to your compile. The signgam function was placed in the
> >libc library, not libm.
> >
> >-- Jeff J.
>
> For Cygwin, that's not the problem. libm == libc == libcygwin. Since
> libcygwin is linked by default, there is no need to specify any of these
> really. So the problem and solution is as Frank subsequently describes
> it.
>
My mistake. It appears that Cygwin has not exported __signgam yet. This ultimately needs to be
fixed.
-- Jeff J.
> > > That's because *my* math.h contains the lines:
> > >
> > > #ifndef _REENT_ONLY
> > > #define signgam (*__signgam())
> > > extern int *__signgam _PARAMS((void));
> > > #endif /* ! defined (_REENT_ONLY) */
> > >
> > > ...but __signgam is never defined anywhere in the math library. The posting
> > > I referred to recommended replacing the lines in question in math.h by
> > >
> > > extern __IMPORT struct _reent reent_data;
> > > #define signgam reent_data._new._reent._gamma_signgam
> > >
> > > which solved my problem. If my math.h is old, then for some reason it's not
> > > updated by the cygwin setup.
> > >
>
> <snip>
>
> Larry Hall lhall AT rfk DOT com
> RFK Partners, Inc. http://www.rfk.com
> 118 Washington Street (508) 893-9779 - RFK Office
> Holliston, MA 01746 (508) 893-9889 - FAX
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -