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