# Lgamma\_r requires \_REENTRANT on Solaris

**URL:** <https://www.ruby-forum.com/t/lgamma-r-requires-reentrant-on-solaris/132083>\
**Category:** Development\
**Created:** [March 16, 2008, 6:00pm UTC](https://www.ruby-forum.com/t/lgamma-r-requires-reentrant-on-solaris/132083 "2008-03-16T18:00:08Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [March 16, 2008, 6:00pm UTC](https://www.ruby-forum.com/t/lgamma-r-requires-reentrant-on-solaris/132083/1 "2008-03-16T18:00:08Z")

</div>

e$B1sF#$H?=$7$^$9!#e(B

Solaris e$B$Ge(B lgamma\_r e$B$r;H$&$?$a$K$Oe(B \_REENTRANT  
e$B%^%/%m$r@k8@$9$ke(B  
e$BI,MW$,$"$k$h$&$G$9!#8=\>u$G$O0EL[$N@k8@$K$h$C$FJV$jCM$,e(B int  
e$B$Ke(B  
e$B$J$C$F$$$k$h$&$G!"7k2LE\*$K4V0c$C$?Ez$($,JV$5$l$F$$$^$9!#e(B

$ ./ruby -ve ‘p Math.gamma(-1.5)’  
ruby 1.9.0 (2008-03-16 revision 15786) [sparc-solaris2.9]  
1.0

$ ./configure CFLAGS="-D\_REENTRANT" …  
$ make  
$ ./ruby -ve ‘p Math.gamma(-1.5)’  
ruby 1.9.0 (2008-03-16 revision 15786) [sparc-solaris2.9]  
2.36327180120735

$ gcc -Wall -g -O2 -I.ext/include/sparc-solaris2.9 -I./include   
-DRUBY\_EXPORT -o tgamma.o -c ./missing/tgamma.c  
./missing/tgamma.c: In function `tgamma': ./missing/tgamma.c:27: warning: unused variable`sign’  
./missing/tgamma.c:36: warning: implicit declaration of function  
`lgamma\_r’

$ gcc -Wall -g -O2 -I.ext/include/sparc-solaris2.9 -I./include   
-DRUBY\_EXPORT -D\_REENTRANT -o tgamma.o -c ./missing/tgamma.c  
./missing/tgamma.c: In function `tgamma': ./missing/tgamma.c:27: warning: unused variable`sign’

e$B%Q%C%1!\<%8%s%0$N$3$H$O$o$+$i$J$$$N$GJs9p$@$1!#e(B

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [March 17, 2008, 4:34am UTC](https://www.ruby-forum.com/t/lgamma-r-requires-reentrant-on-solaris/132083/2 "2008-03-17T04:34:48Z")

</div>

e$B$J$+$@$G$9!#e(B

At Mon, 17 Mar 2008 01:59:25 +0900,  
Yusuke ENDOH wrote in [ruby-dev:34068]:

> Solaris e$B$Ge(B lgamma\_r e$B$r;H$&$?$a$K$Oe(B \_REENTRANT e$B%^%/%m$r@k8@$9$ke(B  
> e$BI,MW$,$"$k$h$&$G$9!#8=\>u$G$O0EL[$N@k8@$K$h$C$FJV$jCM$,e(B int e$B$Ke(B  
> e$B$J$C$F$$$k$h$&$G!"7k2LE\*$K4V0c$C$?Ez$($,JV$5$l$F$$$^$9!#e(B

pthreade$B$,8+IU$+$l$P!“e(B\_THREAD\_SAFEe$B$J$I$H$H$b$KDj5A$5$l$k$O$:$J$se(B  
e$B$G$9$,!”$5$l$F$^$;$s$+!#e(B

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [March 17, 2008, 1:48pm UTC](https://www.ruby-forum.com/t/lgamma-r-requires-reentrant-on-solaris/132083/3 "2008-03-17T13:48:32Z")

</div>

e$B1sF#$G$9!#e(B

08/03/17 e$B$Ke(B Nobuyoshi N.[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
e$B$5$s$O=q$-$^$7$?e(B:

> At Mon, 17 Mar 2008 01:59:25 +0900,  
> Yusuke ENDOH wrote in [ruby-dev:34068]:
> 
> > Solaris e$B$Ge(B lgamma\_r e$B$r;H$&$?$a$K$Oe(B \_REENTRANT e$B%^%/%m$r@k8@$9$ke(B  
> > e$BI,MW$,$"$k$h$&$G$9!#8=\>u$G$O0EL[$N@k8@$K$h$C$FJV$jCM$,e(B int e$B$Ke(B  
> > e$B$J$C$F$$$k$h$&$G!"7k2LE\*$K4V0c$C$?Ez$($,JV$5$l$F$$$^$9!#e(B
> 
> pthreade$B$,8+IU$+$l$P!“e(B\_THREAD\_SAFEe$B$J$I$H$H$b$KDj5A$5$l$k$O$:$J$se(B  
> e$B$G$9$,!”$5$l$F$^$;$s$+!#e(B

e$B$5$l$F$^$7$?!#e(B  
#include e$B$N=gHV$rJQ$($?$i$A$c$s$HF0$/$h$&$K$J$j$^$7$?!#e(B

# Index: missing/tgamma.c

— missing/tgamma.c (revision 15790)  
+++ missing/tgamma.c (working copy)  
@@ -9,9 +9,9 @@  
/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
gamma.c – Gamma function  
\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/  
+#include “ruby/config.h”  
#include \<math.h\>  
#include \<errno.h\>  
-#include “ruby/config.h”

#ifdef HAVE\_LGAMMA\_R

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [March 18, 2008, 3:47am UTC](https://www.ruby-forum.com/t/lgamma-r-requires-reentrant-on-solaris/132083/4 "2008-03-18T03:47:14Z")

</div>

In article  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid),  
“Yusuke ENDOH” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

> > pthreade$B$,8+IU$+$l$P!“e(B\_THREAD\_SAFEe$B$J$I$H$H$b$KDj5A$5$l$k$O$:$J$se(B  
> > e$B$G$9$,!”$5$l$F$^$;$s$+!#e(B
> 
> e$B$5$l$F$^$7$?!#e(B  
> #include e$B$N=gHV$rJQ$($?$i$A$c$s$HF0$/$h$&$K$J$j$^$7$?!#e(B

e$B$&$%$`!#%3%\_%C%H$7$F$/$@$5$$!#e(B
