[erlang-questions] Error compiling R11B-4 on FreeBSD 6.2 (patch)

Oscar Hellström <>
Mon Apr 23 11:00:24 CEST 2007


Tom Samplonius wrote:
>   I received the following error trying to compile R11B-4 on FreeBSD 6.2:
> 
> gcc  -g -O2 -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -fno-strict-aliasing -I. -I../include -Iconnect -Iencode -Idecode -Imisc -Iepmd -Iregistry -Ii386-unknown-freebsd6.2   -D_REENTRANT -D_THREAD_SAFE -DPOSIX_THREADS -c connect/ei_resolve.c -o /usr/home/tom/lang/otp_src_R11B-4/lib/erl_interface/obj.mt/i386-unknown-freebsd6.2/ei_resolve.o
> connect/ei_resolve.c: In function `ei_gethostbyname_r':
> connect/ei_resolve.c:624: warning: passing arg 5 of `gethostbyname_r' from incompatible pointer type
> connect/ei_resolve.c:624: error: too few arguments to function `gethostbyname_r'
> connect/ei_resolve.c:624: warning: return makes pointer from integer without a cast
> gmake[4]: *** [/usr/home/tom/lang/otp_src_R11B-4/lib/erl_interface/obj.mt/i386-unknown-freebsd6.2/ei_resolve.o] Error 1
> gmake[4]: Leaving directory `/usr/home/tom/lang/otp_src_R11B-4/lib/erl_interface/src'
> gmake[3]: *** [opt] Error 2
> gmake[3]: Leaving directory `/usr/home/tom/lang/otp_src_R11B-4/lib/erl_interface/src'
> gmake[2]: *** [opt] Error 2
> gmake[2]: Leaving directory `/usr/home/tom/lang/otp_src_R11B-4/lib/erl_interface'
> gmake[1]: *** [opt] Error 2
> gmake[1]: Leaving directory `/usr/home/tom/lang/otp_src_R11B-4/lib'
> gmake: *** [libs] Error 2
> 
> 
> It turns out this is easy to fix, but other *BSDs might have the same problem.  Here is the patch:

NetBSD 3.1 does not, maybe older FreeBSD does not either. I've also seen 
this on FreeBSD 6.2.

Btw, there is an erlang-patches mailing list as well as en erlang-bugs :)

> 
> *** ei_resolve.c.orig   Sun Apr 22 18:51:26 2007
> --- ei_resolve.c        Sun Apr 22 18:52:05 2007
> ***************
> *** 614,620 ****
>   #ifndef HAVE_GETHOSTBYNAME_R
>     return my_gethostbyname_r(name,hostp,buffer,buflen,h_errnop);
>   #else
> ! #ifdef __GLIBC__
>     struct hostent *result;
> 
>     gethostbyname_r(name, hostp, buffer, buflen, &result, h_errnop);
> --- 614,620 ----
>   #ifndef HAVE_GETHOSTBYNAME_R
>     return my_gethostbyname_r(name,hostp,buffer,buflen,h_errnop);
>   #else
> ! #if defined(__GLIBC__) || defined(__FreeBSD__)
>     struct hostent *result;
> 
>     gethostbyname_r(name, hostp, buffer, buflen, &result, h_errnop);
> 
> 
> 
> 
> 
> 
> Tom
> _______________________________________________
> erlang-questions mailing list
> 
> http://www.erlang.org/mailman/listinfo/erlang-questions

Best Regards
-- 
Oscar Hellström, 
Erlang Training and Consulting
http://www.erlang-consulting.com/



More information about the erlang-questions mailing list