ports/50135: conflicting types for mkdir() and rename() in elm 2.5.6

Jonathan Lennox lennox at cs.columbia.edu
Wed Sep 3 17:40:16 UTC 2003


The following reply was made to PR ports/50135; it has been noted by GNATS.

From: Jonathan Lennox <lennox at cs.columbia.edu>
To: freebsd-gnats-submit at FreeBSD.org, apeiron at prophecy.dyndns.org
Cc:  
Subject: Re: ports/50135: conflicting types for mkdir() and rename() in elm 2.5.6
Date: Wed, 3 Sep 2003 13:37:32 -0400

 --yT6MG4c4rA
 Content-Type: text/plain; charset=us-ascii
 Content-Description: message body text
 Content-Transfer-Encoding: 7bit
 
 I've figured out this problem.
 
 The problem is that elm's Configure script uses 'nm' to extract
 symbols from libc, to determine what functions are available on the
 system.
 
 However, the script isn't expecting symbols of type 'W' (weak) to show
 up. In FreeBSD 5.x, a number of functions in libc are weak symbols.
 
 The solution is to patch elm's Configure script as indicated by the
 attached patch.  (I've attached the new patch-aa file; this
 incorporates the existing patch-aa as well as the new patch I've
 introduced.)  The fix changes '[ATDS]', in the sed expression run over
 the output of 'nm', to '[ATDSW]'.
 
 
 --yT6MG4c4rA
 Content-Type: text/plain
 Content-Disposition: inline;
 	filename="patch-aa"
 Content-Transfer-Encoding: 7bit
 
 --- Configure.bak	Wed Sep  3 13:25:06 2003
 +++ Configure	Wed Sep  3 13:23:43 2003
 @@ -18,11 +18,6 @@
  PATH=".:/bin:/usr/bin:/usr/local/bin:/usr/ucb:/usr/local:/usr/lbin:/etc:/usr/new:/usr/new/bin:/usr/nbin:$PATH"
  export PATH || (echo "OOPS, this isn't sh.  Desperation time.  I will feed myself to sh."; sh $0; kill $$)
  
 -if test ! -t 0; then
 -    echo "Say 'sh Configure', not 'sh <Configure'"
 -    exit 1
 -fi
 -
  (alias) >/dev/null 2>&1 && \
      echo "(I see you are using the Korn shell.  Some ksh's blow up on Configure," && \
      echo "especially on exotic machines.  If yours does, try the Bourne shell instead.)"
 @@ -2055,6 +2050,7 @@
      libc=/usr/lib/libc.a
  else
  set /usr/ccs/lib/libc.so
 +test -f $1 || set /usr/lib/libc.a
  test -f $1 || set /usr/lib/libc.so
  test -f $1 || set /usr/lib/libc.so.[0-9]*
  test -f $1 || set /lib/libsys_s.a
 @@ -2108,7 +2104,7 @@
  set `echo $libc $libnames | tr ' ' '\012' | sort | uniq`
  $echo $n "Extracting names from $* for later perusal...$c"
  nm $nm_opts $* 2>/dev/null >libc.tmp
 -$sed -n -e 's/^.* [ATDS]  *[_.]*//p' -e 's/^.* [ATDS] //p' <libc.tmp >libc.list
 +$sed -n -e 's/^.* [ATDSW]  *[_.]*//p' -e 's/^.* [ATDSW] //p' <libc.tmp >libc.list
  if $contains '^printf$' libc.list >/dev/null 2>&1; then
      echo done
  elif $sed -n -e 's/^__*//' -e 's/^\([a-zA-Z_0-9$]*\).*xtern.*/\1/p' \
 @@ -2496,7 +2492,10 @@
  #
  : see if crypt exists
  echo " "
 -if $contains '^crypt$' libc.list >/dev/null 2>&1; then
 +if $test "$cryptlib" = -lcrypt; then
 +    echo 'crypt() found.'
 +    d_crypt="$define"
 +elif $contains '^crypt$' libc.list >/dev/null 2>&1; then
      echo 'crypt() found.'
      d_crypt="$define"
      cryptlib=''
 
 --yT6MG4c4rA
 Content-Type: text/plain; charset=us-ascii
 Content-Description: .signature
 Content-Transfer-Encoding: 7bit
 
 
 -- 
 Jonathan Lennox
 lennox at cs.columbia.edu
 
 --yT6MG4c4rA--



More information about the freebsd-ports-bugs mailing list