Bug 2796 - [PATCH] Samba 3.0.14a wont link with kerberos 1.4.1
Summary: [PATCH] Samba 3.0.14a wont link with kerberos 1.4.1
Status: RESOLVED FIXED
Alias: None
Product: Samba 3.0
Classification: Unclassified
Component: Build environment (show other bugs)
Version: 3.0.14a
Hardware: All Solaris
: P3 normal
Target Milestone: none
Assignee: Gerald (Jerry) Carter (dead mail address)
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-06-13 15:21 UTC by Fredrik Lundholm
Modified: 2005-09-29 08:40 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fredrik Lundholm 2005-06-13 15:21:37 UTC
This is a duplicate of bug#2309 which is not fixed on Solaris.
The problem is that configure searches for the _et_list symbol in libcom_err.so
This symbol does not exist!( As of Kerberos 1.4/1.4.1 on Solaris.)

The following patch to configure checks for error_message instead. Now samba
links properly with -lcom_err again. Can you verify and clean up this patch!?

hastur> diff -c configure configure~
*** configure   Tue Jun 14 00:00:00 2005
--- configure~  Mon Jun 13 23:24:22 2005
***************
*** 29502,29509 ****



!         echo "$as_me:$LINENO: checking for error_message in -lcom_err" >&5
! echo $ECHO_N "checking for error_message in -lcom_err... $ECHO_C" >&6
  if test "${ac_cv_lib_ext_com_err__et_list+set}" = set; then
    echo $ECHO_N "(cached) $ECHO_C" >&6
  else
--- 29502,29509 ----



!         echo "$as_me:$LINENO: checking for _et_list in -lcom_err" >&5
! echo $ECHO_N "checking for _et_list in -lcom_err... $ECHO_C" >&6
  if test "${ac_cv_lib_ext_com_err__et_list+set}" = set; then
    echo $ECHO_N "(cached) $ECHO_C" >&6
  else
***************
*** 29520,29530 ****
  #endif
  /* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
! char error_message ();
  int
  main ()
  {
! error_message ();
    ;
    return 0;
  }
--- 29520,29530 ----
  #endif
  /* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
! char _et_list ();
  int
  main ()
  {
! _et_list ();
    ;
    return 0;
  }
Comment 1 Gerald (Jerry) Carter (dead mail address) 2005-06-14 06:24:09 UTC
Fredrik,  We don't actually accept patches for configure since it is
autogenerated from configure.in.  Any chance you could resubmit a patch
against that file ?  Thanks.
Comment 2 Fredrik Lundholm 2005-06-14 07:00:42 UTC
(In reply to comment #1)
> Fredrik,  We don't actually accept patches for configure since it is
> autogenerated from configure.in.  Any chance you could resubmit a patch
> against that file ?  Thanks.

Yes no problem, however I dont know if this patch is sound!?
Who would know if it would be feasible!?

Regards
Fredrik
Comment 3 Fredrik Lundholm 2005-06-18 04:13:49 UTC
Hello!
Here is the simple patch which is tested on solaris 
to fix the problem. I hope someoine can check this
in.

cthuga> diff configure.in configure.in~
2787c2787
<   AC_CHECK_LIB_EXT(com_err, KRB5_LIBS, error_message)
---
>   AC_CHECK_LIB_EXT(com_err, KRB5_LIBS, _et_list)
Comment 4 Gerald (Jerry) Carter (dead mail address) 2005-09-29 08:40:12 UTC
I can't reproduce any link failures on my Solaris box with MIT krb5 1.4.1.
Assuming fixed in 3.0.20a