Subject: pkg/31273: findutils fails to buld on IRIX due to missing basename()
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <stuart@zeus.com>
List: pkgsrc-bugs
Date: 09/09/2005 07:57:56
>Number: 31273
>Category: pkg
>Synopsis: findutils fails to buld on IRIX due to missing basename()
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Sep 09 07:57:56 +0000 2005
>Originator: Stuart Shelton
>Release: n/a
>Organization:
n/a
>Environment:
IRIX64 octane 6.5 07010238 IP30 mips: IRIX 6.5.28
>Description:
findutils fails to build on IRIX, giving:
cc -c -DHAVE_CONFIG_H -I.. -I../lib -I/usr/bsd/include -c99 -O2 -n32 -mips4 -r12000 -apo -float_const -use_readonly_const -TARG:isa=mips4:platform=ip30:processor=r12000 -TENV:zeroinit_in_bss=ON -DEFAULT:platform=ip30 -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -woff 1174,1183,1552 -n32 -I/usr/bsd/include pred.c
cc-1196 cc: WARNING File = pred.c, Line = 767
The indicated function is declared implicitly.
base = basename (pathname);
^
cc-1515 cc: ERROR File = pred.c, Line = 767
A value of type "int" cannot be assigned to an entity of type "char *".
base = basename (pathname);
^
cc-1196 cc: WARNING File = pred.c, Line = 934
The indicated function is declared implicitly.
base = basename (pathname);
^
cc-1515 cc: ERROR File = pred.c, Line = 934
A value of type "int" cannot be assigned to an entity of type "char *".
base = basename (pathname);
^
2 errors detected in the compilation of "pred.c".
*** Error code 2
Stop.
bmake: stopped in /usr/bsd/var/tmp/sysutils/findutils/work/findutils-4.1/find
*** Error code 1
Stop.
... additionally, IRIX needs to link against mp.
>How-To-Repeat:
cd sysutils/findutils && bmake install
>Fix:
In $WORKDIR/find/pred.c:
Change 2 instances of "base = basename (pathname);" to "base = basename2 (pathname);"
(a basename function is declared "extern" in <libgen.h>, but I can't see an implementation anywhere - so basename2() from util.c seems to do the job)
... and add to $PKGSRC/sysutils/findutils/Makefile
LDFLAGS.IRIX+= -lmp