Subject: undefined reference to signgam and plotutils-2.4.1
From: "Dr. Volker Zell" <[email-masked]>
To: Mumit Khan <[email-masked]>
Cc: [email-masked], [email-masked]
Date: 23 Jan 2001 14:49:55 +0100

>>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:[email-masked]
   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