pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/31273: findutils fails to buld on IRIX due to missing basename()



>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




Home | Main Index | Thread Index | Old Index