public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* undefined reference to signgam and plotutils-2.4.1
@ 2001-01-23  5:46 Dr. Volker Zell
  2001-01-23 13:01 ` Earnie Boyd
  0 siblings, 1 reply; 2+ messages in thread
From: Dr. Volker Zell @ 2001-01-23  5:46 UTC (permalink / raw)
  To: Mumit Khan; +Cc: cygwin, GMBenoit

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3220 bytes --]

>>On Sun, 21 Jan 2001, Jerome BENOIT wrote:
>>
>>> dllwrap --dllname Math.dll --driver-name gcc --dlltool dlltool
>>> --export-all-symb
>>> ols --as as --output-def libMath.def --output-lib libMath.a \
>>>  -s -L/usr/local/lib Math.o blas.o eigens.o ndtri.o quiet_nan.o cpoly.o
>>> simq.o s
>>> vd.o const.o mtherr.o polevl.o
>>> /usr/lib/perl5/5.6.1/cygwin/CORE/libperl5_6_1.a -
>>> L/usr/lib -lm
>>> dllwrap: no export definition file provided
>>> dllwrap: creating one, but that may not be what you want
>>> Math.o(.text+0xb8c2):Math.c: undefined reference to `signgam'
>>[ ... ]
>>
>>It's a bug in newlib (Cygwin's C library) math.h header. The variable
>>signgam was changed to a macro, but the header file doesn't show that.
>>
>>Please add the following 2 lines *before* signgam is used in the sources
>>(use grep to find out), and if it works, I'll work up a patch after
>>I figure out the right way to do this. 
>>
>>extern __IMPORT struct _reent reent_data;
>>#define signgam reent_data._new._reent._gamma_signgam
>>
>>Regards,
>>Mumit
>>

I had the same problem when compiling

 o plotutils-2.4.1 - http://www.gnu.org/software/plotutils/plotutils.html -
   ftp://prep.ai.mit.edu/pub/gnu/plotutils/

There was an undefined reference to signgam too.
After applying your suggestion to the offending file (see the patch below)
plotutils-2.4.1 compiles almost OOTB.
I had to manually comment out the following definitions in the config.h file:

#define PTHREAD_SUPPORT 1
#define X_THREAD_SUPPORT 1
#define HAVE_PTHREAD_H 1

configure set these variables but they cause problems during compilation.

plotutils-2.4.1 passes all the tests.

Also

 o pstoedit-3.21 - http://www.geocities.com/SiliconValley/Network/1958/pstoedit/

which depends on plotutils compiles fine and works.

diff -upr /gnu/plotutils-2.4.1/ode/specfun.c plotutils-2.4.1/ode/specfun.c
--- /gnu/plotutils-2.4.1/ode/specfun.c	Sun May 30 21:20:53 1999
+++ plotutils-2.4.1/ode/specfun.c	Tue Jan 23 13:22:21 2001
@@ -82,7 +82,12 @@ static double lgamneg ____P((double x));
 static double lgampos ____P((double x));
 #else  /* not NO_SYSTEM_GAMMA, we link in vendor code */
 #define SIGNGAM signgam
+#ifdef __CYGWIN__
+extern __IMPORT struct _reent reent_data;
+#define signgam reent_data._new._reent._gamma_signgam
+#else
 extern int SIGNGAM;
+#endif
 #endif
 double f_gamma ____P((double x));
 
Ciao
  Volker


-- 
___________________________________________________________________________

   "Is a dream a lie if it don't come true or is it something worse ..."

                                              Dr. Volker Zell
      __ /  _  /  __  / ___/  /    ___/       -- Senior Dozent --
     /  /  /__/  /_  / /     /    __/         Geschäftsstelle Düsseldorf
   ____/__/ _|__/ __/____/ ____/____/         Hamborner Str. 51
                                              D-40472 Düsseldorf
   e-Mail: mailto:Dr.Volker.Zell@oracle.com
   WWW:    http://ciko.de.oracle.com/   (Intranet)
   Tel:    (+49) 211-74839-414                   
   Fax:    (+49) 211-74839-44
___________________________________________________________________________


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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: undefined reference to signgam and plotutils-2.4.1
  2001-01-23  5:46 undefined reference to signgam and plotutils-2.4.1 Dr. Volker Zell
@ 2001-01-23 13:01 ` Earnie Boyd
  0 siblings, 0 replies; 2+ messages in thread
From: Earnie Boyd @ 2001-01-23 13:01 UTC (permalink / raw)
  To: Dr. Volker Zell; +Cc: Mumit Khan, cygwin, GMBenoit

"Dr. Volker Zell" wrote:
> 
> >>On Sun, 21 Jan 2001, Jerome BENOIT wrote:
> >>
> >>> dllwrap --dllname Math.dll --driver-name gcc --dlltool dlltool
> >>> --export-all-symb
> >>> ols --as as --output-def libMath.def --output-lib libMath.a \
> >>>  -s -L/usr/local/lib Math.o blas.o eigens.o ndtri.o quiet_nan.o cpoly.o
> >>> simq.o s
> >>> vd.o const.o mtherr.o polevl.o
> >>> /usr/lib/perl5/5.6.1/cygwin/CORE/libperl5_6_1.a -
> >>> L/usr/lib -lm
> >>> dllwrap: no export definition file provided
> >>> dllwrap: creating one, but that may not be what you want
> >>> Math.o(.text+0xb8c2):Math.c: undefined reference to `signgam'
> >>[ ... ]
> >>
> >>It's a bug in newlib (Cygwin's C library) math.h header. The variable
> >>signgam was changed to a macro, but the header file doesn't show that.
> >>
> >>Please add the following 2 lines *before* signgam is used in the sources
> >>(use grep to find out), and if it works, I'll work up a patch after
> >>I figure out the right way to do this.
> >>
> >>extern __IMPORT struct _reent reent_data;
> >>#define signgam reent_data._new._reent._gamma_signgam
> >>

I added an initialization of signgam to Cygwin and then modified the
cygwin.din to export signgam.

> >>Regards,
> >>Mumit
> >>
> 
> I had the same problem when compiling
> 
>  o plotutils-2.4.1 - http://www.gnu.org/software/plotutils/plotutils.html -
>    ftp://prep.ai.mit.edu/pub/gnu/plotutils/
> 
> There was an undefined reference to signgam too.
> After applying your suggestion to the offending file (see the patch below)
> plotutils-2.4.1 compiles almost OOTB.
> I had to manually comment out the following definitions in the config.h file:
> 
> #define PTHREAD_SUPPORT 1
> #define X_THREAD_SUPPORT 1
> #define HAVE_PTHREAD_H 1
> 

This has nothing at all to do with pthreads other than it causes the
variable to be used.  To fix the plotutils code I did:

$ diff -u3pb ./specfun.c.old ../ode/specfun.c
--- ./specfun.c.old     Tue Jan 23 15:56:17 2001
+++ ../ode/specfun.c    Tue Jan 23 15:56:26 2001
@@ -82,7 +82,9 @@ static double lgamneg ____P((double x));
 static double lgampos ____P((double x));
 #else  /* not NO_SYSTEM_GAMMA, we link in vendor code */
 #define SIGNGAM signgam
+#ifndef __CYGWIN__
 extern int SIGNGAM;
+#endif
 #endif
 double f_gamma ____P((double x));

This leaves the definition in the header.

> configure set these variables but they cause problems during compilation.
> 
> plotutils-2.4.1 passes all the tests.
> 

I haven't gotten that far.  I don't have all of the X libraries in place
yet.  But, I'm getting there.

Cheers,
Earnie.

_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2001-01-23 13:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-01-23  5:46 undefined reference to signgam and plotutils-2.4.1 Dr. Volker Zell
2001-01-23 13:01 ` Earnie Boyd

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).