pkgsrc-Bugs archive

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

pkg/39530: bootstrap fails on Interix (patches for libnbcompat)



>Number:         39530
>Category:       pkg
>Synopsis:       bootstrap fails on Interix (patches for libnbcompat)
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Sep 13 07:55:00 +0000 2008
>Originator:     cheusov%tut.by@localhost
>Release:        NetBSD 4.0_STABLE
>Organization:
>Environment:
System: NetBSD chen.chizhovka.net 4.0_STABLE NetBSD 4.0_STABLE (GENERIC) #0: 
Wed Jul 16 00:28:58 EEST 2008 
cheusov%chen.chizhovka.net@localhost:/srv/obj/sys/arch/i386/compile/GENERIC i386
Architecture: i386
Machine: i386
>Description:
pkgsrc-current bootstrap fails on Interix 3.5. Logs end like the following.
Working patch is below. I think this problem is not specific to Interix.
The same bug may happen on other platforms too.

   gcc -D_ALL_SOURCE -D_ALL_SOURCE -I/usr/local/include  
-I/usr/local/ssl/include -I. -I.  -D_ALL_SOURCE -DHAVE_CONFIG_H -c bits.c
   gcc -D_ALL_SOURCE -I. -I.  -D_ALL_SOURCE -L/usr/local/lib 
-L/usr/local/ssl/lib -o bits bits.o
   ./bits nbcompat/nbtypes.h
   gawk -f nbcompat.awk nbcompat/config.h > nbcompat/nbconfig.h
   gcc -D_ALL_SOURCE -D_ALL_SOURCE -I/usr/local/include  
-I/usr/local/ssl/include -I. -I.  -D_ALL_SOURCE -DHAVE_CONFIG_H -c glob.c
   In file included from nbcompat.h:55,
                 from __glob13.c:35,
                 from glob.c:12:
   nbcompat/grp.h:48: error: conflicting types for `group_from_gid'
   /usr/include/pwcache.h:29: error: previous declaration of `group_from_gid'
   In file included from nbcompat.h:57,
                 from __glob13.c:35,
                 from glob.c:12:
   nbcompat/pwd.h:48: error: conflicting types for `user_from_uid'
   /usr/include/pwcache.h:30: error: previous declaration of `user_from_uid'
   *** Error code 1

   Stop.
   ===> exited with status 1
   aborted.

Why this happens: under Interix-3.5
  user_from_uid and group_from_gid functions are provided
but
  uid_from_user and gid_from_group are not.
See appropriate section in libnbcompat's configure.ac.

>Fix:
Index: pkgtools/libnbcompat/files/configure
===================================================================
RCS file: /cvsroot/pkgsrc/pkgtools/libnbcompat/files/configure,v
retrieving revision 1.63
diff -u -r1.63 configure
--- pkgtools/libnbcompat/files/configure        8 Sep 2008 20:20:22 -0000       
1.63
+++ pkgtools/libnbcompat/files/configure        13 Sep 2008 07:22:03 -0000
@@ -12040,7 +12040,6 @@
  ;;
 esac
 
-       break
 
 fi
 done
Index: pkgtools/libnbcompat/files/configure.ac
===================================================================
RCS file: /cvsroot/pkgsrc/pkgtools/libnbcompat/files/configure.ac,v
retrieving revision 1.64
diff -u -r1.64 configure.ac
--- pkgtools/libnbcompat/files/configure.ac     8 Sep 2008 20:20:23 -0000       
1.64
+++ pkgtools/libnbcompat/files/configure.ac     13 Sep 2008 07:22:03 -0000
@@ -266,7 +266,6 @@
        pwcache_userdb uid_from_user user_from_uid \
 ], [:], [
        AC_LIBOBJ(pwcache)
-       break
 ])
 
 AC_CHECK_FUNC(fts_open, [:], [
Index: pkgtools/libnbcompat/files/pwcache.c
===================================================================
RCS file: /cvsroot/pkgsrc/pkgtools/libnbcompat/files/pwcache.c,v
retrieving revision 1.10
diff -u -r1.10 pwcache.c
--- pkgtools/libnbcompat/files/pwcache.c        29 Apr 2008 05:46:08 -0000      
1.10
+++ pkgtools/libnbcompat/files/pwcache.c        13 Sep 2008 07:22:24 -0000
@@ -102,8 +102,12 @@
 
 #if 0
 #ifdef __weak_alias
+#if !HAVE_USER_FROM_UID
 __weak_alias(user_from_uid,_user_from_uid)
+#endif
+#if !HAVE_GROUP_FROM_GID
 __weak_alias(group_from_gid,_group_from_gid)
+#endif
 __weak_alias(pwcache_userdb,_pwcache_userdb)
 __weak_alias(pwcache_groupdb,_pwcache_groupdb)
 #endif



Home | Main Index | Thread Index | Old Index