delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/06/14/12:13:13

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <3B28E27B.4E6098F5@cygnus.com>
Date: Thu, 14 Jun 2001 12:12:43 -0400
From: "J. Johnston" <jjohnstn AT cygnus DOT com>
Organization: Red Hat Inc.
X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.4.2-2smp i686)
X-Accept-Language: en
MIME-Version: 1.0
To: Frank Wuebbeling <wuebbel AT math DOT uni-muenster DOT de>
CC: newlib AT sources DOT redhat DOT com, cygwin AT cygwin DOT com
Subject: Re: 1.3.2: signgam problem still present in plotutils, gnuplot etc.
References: <000201c0f363$01992720$0100a8c0 AT duron> <20010612143708 DOT A413 AT redhat DOT com> <002301c0f376$e165a780$0100a8c0 AT duron> <20010612195312 DOT B2062 AT redhat DOT com> <3B27D692 DOT AFA9BE8E AT cygnus DOT com> <001101c0f4a2$9dc0a020$0100a8c0 AT duron>

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.

> 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.
> 
> By the way: The page for the patch you applied in January has a reference to
> changes in math.h, that I can read. Of course, changes in the lib should go
> along with this, but that page is unreachable. Maybe that's why signgam.c
> was left out of the compilation?
> 
> frank

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019