pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/37487: Samba 3.0.26a won't compile on Netbsd 1.6.2



>Number:         37487
>Category:       pkg
>Synopsis:       Samba 3.0.26a won't compile on Netbsd 1.6.2
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Dec 06 13:05:01 +0000 2007
>Originator:     John Frear
>Release:        1.6.2
>Organization:
>Environment:
NetBSD mymachine 1.6.2 NetBSD 1.6.2 (mykernel) #0: Mon Jun 13 22:20:02 CDT 2005 
    myuser@mymachine:/sys/src/sys/arch/i386/compile/mykernel i386
>Description:
I'm not able to compile Samba 3.0.26a from the net/samba directory in pkgsrc.  
My main Makefile has cvs version 1.177.

The output of the pkgsrc make command was:

Compiling smbd/trans2.c
In file included from /usr/include/termios.h:305,
                 from lib/replace/system/terminal.h:33,
                 from include/includes.h:115,
                 from 
/usr/pkgsrc/net/samba/work/samba-3.0.26a/source/smbd/trans2.c:27:
/usr/include/sys/ttydefaults.h:61: warning: `CTRL' redefined
/usr/pkgsrc/net/samba/work/.buildlink/include/readline/chardefs.h:64: warning: 
this is the location of the previous definition
/usr/pkgsrc/net/samba/work/samba-3.0.26a/source/smbd/trans2.c: In function 
`set_ea':
/usr/pkgsrc/net/samba/work/samba-3.0.26a/source/smbd/trans2.c:368: `ENODATA' 
undeclared (first use in this function)
/usr/pkgsrc/net/samba/work/samba-3.0.26a/source/smbd/trans2.c:368: (Each 
undeclared identifier is reported only once
/usr/pkgsrc/net/samba/work/samba-3.0.26a/source/smbd/trans2.c:368: for each 
function it appears in.)
The following command failed:
cc -I. -I/usr/pkgsrc/net/samba/work/samba-3.0.26a/source  -O2 
-I/usr/pkg/include -D_SAMBA_BUILD_=3 
-I/usr/pkgsrc/net/samba/work/samba-3.0.26a/source/popt 
-I/usr/pkgsrc/net/samba/work/samba-3.0.26a/source/iniparser/src -Iinclude 
-I./include  -I. -I. -I./lib/replace -I./lib/talloc -I./tdb/include 
-I./libaddns -I./librpc -DHAVE_CONFIG_H  -I/usr/pkg/include -I/usr/pkg/include 
-I/usr/pkg/include -I/usr/pkg/include    
-I/usr/pkgsrc/net/samba/work/samba-3.0.26a/source/lib -D_SAMBA_BUILD_=3 -fPIC 
-DPIC -c /usr/pkgsrc/net/samba/work/samba-3.0.26a/source/smbd/trans2.c -o 
smbd/trans2.o
*** Error code 1

I looked into this problem and have resolved it on my own system.  The problem 
is due to samba's includes/include.h file declaring:

#ifndef ENOATTR
#define ENOATTR ENODATA
#endif

I also found a discussion at the following website useful:

http://www.nabble.com/bug-in-samba-3.0.25c-includes.h-t4314063.html

I created a patch for the pkgsrc system and it has resolved the problem for me. 
 The contents of my patch are:

--- include/includes.h.orig     Mon Aug 20 08:04:51 2007
+++ include/includes.h  Wed Dec  5 14:27:33 2007
@@ -225,6 +225,10 @@
 #include <sys/attributes.h>
 #endif
 
+#if !defined(ENOATTR) && !defined(ENODATA)
+#define ENOATTR EAGAIN
+#endif
+
 #ifndef ENOATTR
 #define ENOATTR ENODATA
 #endif

I looked in netbsd's cvsweb at /usr/include/sys/errno.h and the most current 
version at this time (rev 1.9) doesn't define either ENOATTR or ENODATA, so I 
believe this compile issue may affect all netbsd systems.  Anyhow, I hope my 
choice of mapping the error to EAGAIN was the right way to go.

Thanks for providing a great system everyone!
>How-To-Repeat:

>Fix:
Fix described above under 'full description' section.




Home | Main Index | Thread Index | Old Index