Mailing-List: contact cygwin-help@sourceware.cygnus.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@sources.redhat.com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin@sources.redhat.com>
List-Help: <mailto:cygwin-help@sources.redhat.com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner@sources.redhat.com
Delivered-To: mailing list cygwin@sources.redhat.com
Message-Id: <4.3.1.2.20010614122043.020e94a0@pop.ma.ultranet.com>
X-Sender: lhall@pop.ma.ultranet.com
X-Mailer: QUALCOMM Windows Eudora Version 4.3.1
Date: Thu, 14 Jun 2001 12:21:25 -0400
To: "J. Johnston" <jjohnstn@cygnus.com>,
        Frank Wuebbeling <wuebbel@math.uni-muenster.de>
From: "Larry Hall (RFK Partners, Inc)" <lhall@rfk.com>
Subject: Re: 1.3.2: signgam problem still present in plotutils, gnuplot
  etc.
Cc: newlib@sources.redhat.com, cygwin@cygwin.com
In-Reply-To: <3B28E27B.4E6098F5@cygnus.com>
References: <000201c0f363$01992720$0100a8c0@duron>
 <20010612143708.A413@redhat.com>
 <002301c0f376$e165a780$0100a8c0@duron>
 <20010612195312.B2062@redhat.com>
 <3B27D692.AFA9BE8E@cygnus.com>
 <001101c0f4a2$9dc0a020$0100a8c0@duron>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"

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.



> > 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@rfk.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

