Bug 137483

Summary: [patch] [build] unbreak world for WITHOUT_OPENSSH, WITHOUT_KERBEROS+WITH_GSSAPI; unbreak various targets WITHOUT_MAIL
Product: Base System Reporter: bf <bf1783>
Component: confAssignee: Antoine Brodin <antoine>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description bf 2009-08-06 12:30:02 UTC
WITHOUT_OPENSSH=yes breaks the buildworld target due to improperly nested Makefile rules.

The same is true for WITHOUT_KERBEROS=yes + WITH_GSSAPI=yes.

WITHOUT_MAIL=yes removes /usr/bin/fmt, and thus breaks the doxygen and delete-old-libs targets.

Fix: Patch attached with submission follows:
Comment 1 b. f. 2009-08-06 12:52:50 UTC
Obviously, I meant to write WITHOUT_OPENSSH, and not WITHOUT_SSH, in
the title and description fields here.

b.
Comment 2 Antoine Brodin freebsd_committer freebsd_triage 2010-01-10 00:04:47 UTC
Responsible Changed
From-To: freebsd-bugs->antoine

Take.
Comment 3 dfilter service freebsd_committer freebsd_triage 2010-01-23 19:29:52 UTC
Author: antoine
Date: Sat Jan 23 19:29:42 2010
New Revision: 202896
URL: http://svn.freebsd.org/changeset/base/202896

Log:
  Unbreak world:
  - WITHOUT_OPENSSH (and WITH_KERBEROS)
  - WITHOUT_KERBEROS and WITH_GSSAPI
  
  PR:		137483
  Submitted by:	bf
  MFC after:	2 weeks
  
  Note: this breaks harder world WITHOUT_GSSAPI (and WITH_KERBEROS), but well

Modified:
  head/Makefile.inc1

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1	Sat Jan 23 19:01:25 2010	(r202895)
+++ head/Makefile.inc1	Sat Jan 23 19:29:42 2010	(r202896)
@@ -1136,14 +1136,16 @@ _cddl_lib= cddl/lib
 _secure_lib_libcrypto= secure/lib/libcrypto
 _secure_lib_libssl= secure/lib/libssl
 lib/libradius__L secure/lib/libssl__L: secure/lib/libcrypto__L
-.if ${MK_OPENSSH} != "no"
-_secure_lib_libssh= secure/lib/libssh
-secure/lib/libssh__L: lib/libz__L secure/lib/libcrypto__L lib/libcrypt__L
 .if ${MK_KERBEROS} != "no"
 kerberos5/lib/libgssapi_krb5__L: lib/libgssapi__L kerberos5/lib/libkrb5__L \
     kerberos5/lib/libhx509__L kerberos5/lib/libasn1__L lib/libcom_err__L \
     lib/libmd__L kerberos5/lib/libroken__L secure/lib/libcrypto__L \
     lib/libcrypt__L
+.endif
+.if ${MK_OPENSSH} != "no"
+_secure_lib_libssh= secure/lib/libssh
+secure/lib/libssh__L: lib/libz__L secure/lib/libcrypto__L lib/libcrypt__L
+.if ${MK_KERBEROS_SUPPORT} != "no"
 secure/lib/libssh__L: lib/libgssapi__L kerberos5/lib/libgssapi_krb5__L
 .endif
 .endif
@@ -1151,6 +1153,10 @@ secure/lib/libssh__L: lib/libgssapi__L k
 _secure_lib=	secure/lib
 .endif
 
+.if ${MK_GSSAPI} != "no"
+_lib_libgssapi=	lib/libgssapi
+.endif
+
 .if ${MK_IPX} != "no"
 _lib_libipx=	lib/libipx
 .endif
@@ -1163,7 +1169,6 @@ _kerberos5_lib_libhx509= kerberos5/lib/l
 _kerberos5_lib_libroken= kerberos5/lib/libroken
 _kerberos5_lib_libheimntlm= kerberos5/lib/libheimntlm
 _kerberos5_lib_libgssapi_krb5= kerberos5/lib/libgssapi_krb5
-_lib_libgssapi=	lib/libgssapi
 .endif
 
 .if ${MK_NIS} != "no"
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 4 Antoine Brodin freebsd_committer freebsd_triage 2010-02-09 20:21:40 UTC
State Changed
From-To: open->patched

patched in head.
Comment 5 TsurutaniNaoki 2010-02-13 16:34:40 UTC
Hi,

I want this problem to be fixed sooner on 8-stable.
Comment 6 dfilter service freebsd_committer freebsd_triage 2010-02-20 12:48:55 UTC
Author: antoine
Date: Sat Feb 20 12:48:44 2010
New Revision: 204117
URL: http://svn.freebsd.org/changeset/base/204117

Log:
  MFC from head to stable/8:
  r202896:
    Unbreak world:
    - WITHOUT_OPENSSH (and WITH_KERBEROS)
    - WITHOUT_KERBEROS and WITH_GSSAPI
  
    PR:		137483
    Submitted by:	bf
  r203016 by ru@:
    Regen the list of prebuild libraries using tools/make_libdeps.sh.
  
  Reviewed by:	ru@

Modified:
  stable/8/Makefile.inc1   (contents, props changed)

Modified: stable/8/Makefile.inc1
==============================================================================
--- stable/8/Makefile.inc1	Sat Feb 20 12:34:14 2010	(r204116)
+++ stable/8/Makefile.inc1	Sat Feb 20 12:48:44 2010	(r204117)
@@ -1087,19 +1087,19 @@ _startup_libs+=	lib/libc
 
 gnu/lib/libgcc__L: lib/libc__L
 
-_prebuild_libs=	${_kerberos5_lib_libasn1} ${_kerberos5_lib_libkrb5} \
-		${_kerberos5_lib_libhx509} ${_kerberos5_lib_libroken} \
-		${_kerberos5_lib_libheimntlm} ${_kerberos5_lib_libgssapi_krb5} \
-		lib/libbz2 lib/libcom_err lib/libcrypt lib/libelf \
+_prebuild_libs=	${_kerberos5_lib_libasn1} ${_kerberos5_lib_libheimntlm} \
+		${_kerberos5_lib_libhx509} ${_kerberos5_lib_libkrb5} \
+		${_kerberos5_lib_libroken} \
+		lib/libbz2 lib/libcom_err lib/libcrypt \
 		lib/libexpat \
-		${_lib_cddl} ${_lib_libgssapi} ${_lib_libipx} \
+		${_lib_libgssapi} ${_lib_libipx} \
 		lib/libkiconv lib/libkvm lib/libmd \
 		lib/ncurses/ncurses lib/ncurses/ncursesw \
 		lib/libopie lib/libpam ${_lib_libthr} \
 		lib/libradius lib/libsbuf lib/libtacplus lib/libutil \
 		${_lib_libypclnt} lib/libz lib/msun \
 		${_secure_lib_libcrypto} ${_secure_lib_libssh} \
-		${_secure_lib_libssl} lib/libdwarf lib/libproc
+		${_secure_lib_libssl}
 
 .if ${MK_LIBTHR} != "no"
 _lib_libthr=	lib/libthr
@@ -1121,18 +1121,20 @@ lib/libradius__L secure/lib/libssl__L: s
 .if ${MK_OPENSSH} != "no"
 _secure_lib_libssh= secure/lib/libssh
 secure/lib/libssh__L: lib/libz__L secure/lib/libcrypto__L lib/libcrypt__L
-.if ${MK_KERBEROS} != "no"
-kerberos5/lib/libgssapi_krb5__L: lib/libgssapi__L kerberos5/lib/libkrb5__L \
+.if ${MK_KERBEROS_SUPPORT} != "no"
+secure/lib/libssh__L: lib/libgssapi__L kerberos5/lib/libkrb5__L \
     kerberos5/lib/libhx509__L kerberos5/lib/libasn1__L lib/libcom_err__L \
-    lib/libmd__L kerberos5/lib/libroken__L secure/lib/libcrypto__L \
-    lib/libcrypt__L
-secure/lib/libssh__L: lib/libgssapi__L kerberos5/lib/libgssapi_krb5__L
+    lib/libmd__L kerberos5/lib/libroken__L
 .endif
 .endif
 .endif
 _secure_lib=	secure/lib
 .endif
 
+.if ${MK_GSSAPI} != "no"
+_lib_libgssapi=	lib/libgssapi
+.endif
+
 .if ${MK_IPX} != "no"
 _lib_libipx=	lib/libipx
 .endif
@@ -1144,8 +1146,6 @@ _kerberos5_lib_libkrb5= kerberos5/lib/li
 _kerberos5_lib_libhx509= kerberos5/lib/libhx509
 _kerberos5_lib_libroken= kerberos5/lib/libroken
 _kerberos5_lib_libheimntlm= kerberos5/lib/libheimntlm
-_kerberos5_lib_libgssapi_krb5= kerberos5/lib/libgssapi_krb5
-_lib_libgssapi=	lib/libgssapi
 .endif
 
 .if ${MK_NIS} != "no"
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 7 Antoine Brodin freebsd_committer freebsd_triage 2010-02-20 13:03:31 UTC
State Changed
From-To: patched->closed

Fixed in head and stable/8, thanks for the report!
Comment 8 Kevin Oberman 2010-04-14 18:53:30 UTC
I am still unable to use WITHOUT_OPENSSH with the current Makefile.inc1.
The version committed does not build all the kerberos/heimdal code when
WITHOUT_OPENSSH is used.

My make-fu is weak and I have not yet figured out what the problem is. I
discovered the problem when I wad unable to upgrade
databases/evolution-data-server because the old libraries lacked some
newer APIs. 'make configure' failed.
-- 
R. Kevin Oberman
Energy Sciences Network (ESnet)
Ernest Orlando Lawrence Berkeley National Laboratory (Berkeley Lab)
E-Mail: oberman@es.net                       Phone: +1 510-486-8634
Comment 9 Antoine Brodin freebsd_committer freebsd_triage 2010-04-14 19:22:15 UTC
On Wed, Apr 14, 2010 at 8:00 PM, Kevin Oberman <oberman@es.net> wrote:
> =A0I am still unable to use WITHOUT_OPENSSH with the current Makefile.inc=
1.
> =A0The version committed does not build all the kerberos/heimdal code whe=
n
> =A0WITHOUT_OPENSSH is used.
>
> =A0My make-fu is weak and I have not yet figured out what the problem is.=
 I
> =A0discovered the problem when I wad unable to upgrade
> =A0databases/evolution-data-server because the old libraries lacked some
> =A0newer APIs. 'make configure' failed.

Hello,

What do you use, current?  What do you have in src.conf?
Is world broken?   I think I tested world WITHOUT_OPENSSH and it was fine..=
.
Is world ok and only evolution-data-server broken?

Cheers,

Antoine
Comment 10 Kevin Oberman 2010-04-14 20:17:04 UTC
> Sender: antoine.brodin.freebsd@gmail.com
> Date: Wed, 14 Apr 2010 20:22:15 +0200
> From: Antoine Brodin <antoine@FreeBSD.org>
> 
> On Wed, Apr 14, 2010 at 8:00 PM, Kevin Oberman <oberman@es.net> wrote:
> >  I am still unable to use WITHOUT_OPENSSH with the current Makefile.inc1.
> >  The version committed does not build all the kerberos/heimdal code when
> >  WITHOUT_OPENSSH is used.
> >
> >  My make-fu is weak and I have not yet figured out what the problem is. I
> >  discovered the problem when I wad unable to upgrade
> >  databases/evolution-data-server because the old libraries lacked some
> >  newer APIs. 'make configure' failed.
> 
> Hello,
> 
> What do you use, current?  What do you have in src.conf?
> Is world broken?   I think I tested world WITHOUT_OPENSSH and it was fine...
> Is world ok and only evolution-data-server broken?

Sorry. I forgot how much time has passed since bf opened this PR.

Here are a lot more details. When I look at the library time-stamps,
they are not getting updated when I re-build my system. So far,
evolution-data-server is the only problem that it has caused me and I
worked around it by editing the port to not attempt to use Kerberos.

None the less, the libkrb5 and libhx509 should be getting updated when I
re-build world.

FreeBSD slan.es.net 8.0-STABLE FreeBSD 8.0-STABLE #3: Thu Mar 25 10:12:05 PDT 2010     root@slan.es.net:/usr/obj/usr/src/sys/IBM-T43  i386

Yes, I have src.conf and it is:
WITHOUT_PROFILE="YES"
WITHOUT_SENDMAIL="YES"
WITHOUT_ATM="YES"
WITHOUT_GPIB="YES"
WITHOUT_I4B="YES"
WITHOUT_IPX="YES"
WITHOUT_LPR="YES"
WITHOUT_NIS="YES"
WITHOUT_NCP="YES"
WITHOUT_OPENSSH="YES"
WITHOUT_PF="YES"
WITHOUT_ZFS="YES"

The system builds fine, but libkrb5 and libhx509 do not get re-built and
the most recent update of evolution-data-server fails.  

From config.log:
configure:20192: cc -o conftest -O2 -pipe -DLDAP_DEPRECATED -fno-strict-aliasing -I/usr/local/include -I/usr/local/include/db41  -L/usr/local/lib -pthread conftest.c  -L/usr/lib -L/usr/lib -lgssapi -lheimntlm -lkrb5 -lhx509 -lcom_err -lcrypto -lasn1 -lroken -lcrypt >&5
/usr/lib/libhx509.so: undefined reference to `MD2_Init'
/usr/lib/libhx509.so: undefined reference to `MD2_Final'
/usr/lib/libhx509.so: undefined reference to `MD2_Update'
configure:20199: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME "evolution-data-server"
| #define PACKAGE_TARNAME "evolution-data-server"
| #define PACKAGE_VERSION "2.28.2"
| #define PACKAGE_STRING "evolution-data-server 2.28.2"
| #define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=Evolution-Data-Server"
| #define PACKAGE "evolution-data-server"
| #define VERSION "2.28.2"
| #define BASE_VERSION "2.28"
| #define API_VERSION "1.2"
| #define YYTEXT_POINTER 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_LC_MESSAGES 1
| #define HAVE_BIND_TEXTDOMAIN_CODESET 1
| #define HAVE_GETTEXT 1
| #define HAVE_DCGETTEXT 1
| #define ENABLE_NLS 1
| #define GETTEXT_PACKAGE "evolution-data-server-2.28"
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_ALLOCA 1
| #define HAVE_FSYNC 1
| #define HAVE_STRPTIME 1
| #define HAVE_STRTOK_R 1
| #define HAVE_REGEXEC 1
| #define HAVE_CODESET 1
| #define HAVE_LKSTRFTIME 1
| #define WITH_GNOME_KEYRING 1
| #define ENABLE_SMIME 1
| #define HAVE_NSS 1
| #define HAVE_SSL 1
| #define SENDMAIL_PATH "/usr/sbin/sendmail"
| #define SYSTEM_MAIL_DIR "/var/mail"
| #define HAVE_TM_GMTOFF 1
| #define HAVE_GETHOSTBYNAME_R 1
| #define HAVE_GETHOSTBYADDR_R 1
| #define HAVE_SYS_STATVFS_H 1
| #define HAVE_STATVFS 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_SYS_MOUNT_H 1
| #define HAVE_STATFS 1
| #define ENABLE_IPv6 1
| #define HAVE_AI_ADDRCONFIG 1
| #define ENABLE_CALENDAR 1
| #define ENABLE_NNTP 1
| #define HANDLE_LIBICAL_MEMORY 1
| #define USE_DOT 1
| #define USE_FCNTL 1
| /* end confdefs.h.  */
| 
| /* Override any GCC internal prototype to avoid an error.
|    Use char because int might match the return type of a GCC
|    builtin and then its argument prototype would still apply.  */
| #ifdef __cplusplus
| extern "C"
| #endif
| char krb5_init_context ();
| int
| main ()
| {
| return krb5_init_context ();
|   ;
|   return 0;
| }
-- 
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman@es.net			Phone: +1 510 486-8634
Key fingerprint:059B 2DDF 031C 9BA3 14A4  EADA 927D EBB3 987B 3751
Comment 11 Antoine Brodin freebsd_committer freebsd_triage 2010-04-14 21:05:47 UTC
On Wed, Apr 14, 2010 at 9:20 PM, Kevin Oberman <oberman@es.net> wrote:
> =A0Sorry. I forgot how much time has passed since bf opened this PR.
>
> =A0Here are a lot more details. When I look at the library time-stamps,
> =A0they are not getting updated when I re-build my system. So far,
> =A0evolution-data-server is the only problem that it has caused me and I
> =A0worked around it by editing the port to not attempt to use Kerberos.
>
> =A0None the less, the libkrb5 and libhx509 should be getting updated when=
 I
> =A0re-build world.
>
> =A0FreeBSD slan.es.net 8.0-STABLE FreeBSD 8.0-STABLE #3: Thu Mar 25 10:12=
:05 PDT 2010 =A0 =A0 root@slan.es.net:/usr/obj/usr/src/sys/IBM-T43 =A0i386
>
> =A0Yes, I have src.conf and it is:
> =A0WITHOUT_PROFILE=3D"YES"
> =A0WITHOUT_SENDMAIL=3D"YES"
> =A0WITHOUT_ATM=3D"YES"
> =A0WITHOUT_GPIB=3D"YES"
> =A0WITHOUT_I4B=3D"YES"
> =A0WITHOUT_IPX=3D"YES"
> =A0WITHOUT_LPR=3D"YES"
> =A0WITHOUT_NIS=3D"YES"
> =A0WITHOUT_NCP=3D"YES"
> =A0WITHOUT_OPENSSH=3D"YES"
> =A0WITHOUT_PF=3D"YES"
> =A0WITHOUT_ZFS=3D"YES"
>
> =A0The system builds fine, but libkrb5 and libhx509 do not get re-built a=
nd
> =A0the most recent update of evolution-data-server fails.
>
> =A0From config.log:
> =A0configure:20192: cc -o conftest -O2 -pipe -DLDAP_DEPRECATED -fno-stric=
t-aliasing -I/usr/local/include -I/usr/local/include/db41 =A0-L/usr/local/l=
ib -pthread conftest.c =A0-L/usr/lib -L/usr/lib -lgssapi -lheimntlm -lkrb5 =
-lhx509 -lcom_err -lcrypto -lasn1 -lroken -lcrypt >&5
> =A0/usr/lib/libhx509.so: undefined reference to `MD2_Init'
> =A0/usr/lib/libhx509.so: undefined reference to `MD2_Final'
> =A0/usr/lib/libhx509.so: undefined reference to `MD2_Update'

libkrb5 and libhx509 are (or should be) rebuilt if you don't have
WITHOUT_KERBEROS set, so your problem should not happen.
I will check this week end if I have time.

Cheers,

Antoine
Comment 12 Antoine Brodin freebsd_committer freebsd_triage 2010-04-17 19:17:57 UTC
On Wed, Apr 14, 2010 at 9:17 PM, Kevin Oberman <oberman@es.net> wrote:
>> Sender: antoine.brodin.freebsd@gmail.com
>> Date: Wed, 14 Apr 2010 20:22:15 +0200
>> From: Antoine Brodin <antoine@FreeBSD.org>
>>
>> On Wed, Apr 14, 2010 at 8:00 PM, Kevin Oberman <oberman@es.net> wrote:
>> > =A0I am still unable to use WITHOUT_OPENSSH with the current Makefile.=
inc1.
>> > =A0The version committed does not build all the kerberos/heimdal code =
when
>> > =A0WITHOUT_OPENSSH is used.
>> >
>> > =A0My make-fu is weak and I have not yet figured out what the problem =
is. I
>> > =A0discovered the problem when I wad unable to upgrade
>> > =A0databases/evolution-data-server because the old libraries lacked so=
me
>> > =A0newer APIs. 'make configure' failed.
>>
>> Hello,
>>
>> What do you use, current? =A0What do you have in src.conf?
>> Is world broken? =A0 I think I tested world WITHOUT_OPENSSH and it was f=
ine...
>> Is world ok and only evolution-data-server broken?
>
> Sorry. I forgot how much time has passed since bf opened this PR.
>
> Here are a lot more details. When I look at the library time-stamps,
> they are not getting updated when I re-build my system. So far,
> evolution-data-server is the only problem that it has caused me and I
> worked around it by editing the port to not attempt to use Kerberos.
>
> None the less, the libkrb5 and libhx509 should be getting updated when I
> re-build world.

Ok, here is what I did:
# echo -n > /etc/src.conf
# make world
# md5 /usr/lib/libkrb5.so.10  /usr/lib/libhx509.so.10
MD5 (/usr/lib/libkrb5.so.10) =3D e591272cb4bbd0d0b1fa9ee5e1813fce
MD5 (/usr/lib/libhx509.so.10) =3D 5fd0c9f631bbb90c62bbbc39285a7fa3
# ls -l /usr/lib/libkrb5.so.10  /usr/lib/libhx509.so.10
-r--r--r--  1 root  wheel   388228 Apr 17 17:44 /usr/lib/libkrb5.so.10
-r--r--r--  1 root  wheel   222072 Apr 17 17:44 /usr/lib/libhx509.so.10
# echo WITHOUT_OPENSSH=3Dyes > /etc/src.conf
# make world
# md5 /usr/lib/libkrb5.so.10  /usr/lib/libhx509.so.10
MD5 (/usr/lib/libkrb5.so.10) =3D e591272cb4bbd0d0b1fa9ee5e1813fce
MD5 (/usr/lib/libhx509.so.10) =3D 5fd0c9f631bbb90c62bbbc39285a7fa3
# ls -l /usr/lib/libkrb5.so.10  /usr/lib/libhx509.so.10
-r--r--r--  1 root  wheel   388228 Apr 17 20:03 /usr/lib/libkrb5.so.10
-r--r--r--  1 root  wheel   222072 Apr 17 20:03 /usr/lib/libhx509.so.10

So libkrb5 and libhx509 are correctly rebuild and not affected by
WITHOUT_OPENSSH
I think your problem is somewhere else (not related to src/Makefile.inc1).

Cheers,

Antoine