Date: Wed, 3 Sep 2003 10:40:15 -0700 (PDT) From: Jonathan Lennox <lennox@cs.columbia.edu> To: freebsd-ports-bugs@FreeBSD.org Subject: Re: ports/50135: conflicting types for mkdir() and rename() in elm 2.5.6 Message-ID: <200309031740.h83HeFi0003319@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/50135; it has been noted by GNATS. From: Jonathan Lennox <lennox@cs.columbia.edu> To: freebsd-gnats-submit@FreeBSD.org, apeiron@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@cs.columbia.edu --yT6MG4c4rA--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200309031740.h83HeFi0003319>