pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: sysutils/cdrtools fails to build on -current
On Friday 14 March 2008 13:33:50 Thomas Klausner wrote:
> On Fri, Mar 14, 2008 at 12:26:26PM +0000, raymond.meyer%rambler.ru@localhost
> wrote:
> > # make show-var VARNAME=NETBSDLIB.rt
> > -lrt
> >
> > # head -n 1 patches/*aa
> > $NetBSD: patch-aa,v 1.5 2008/03/07 19:38:58 wiz Exp $
>
> Hm, I'm out of ideas.
I build all packages inside chroot. I use /scripts/compiler_wrappers/gcc shell
script as gcc wrapper to force my own options. I added a line to this script
to print out the parameters passed to gcc
# cat /scripts/compiler_wrappers/gcc
#!/bin/sh
echo "-->> /usr/bin/gcc $@"
exec /usr/bin/gcc "$@" -Os -mcpu=ultrasparc -mvis -s -pipe \
-Du_int8_t=uint8_t -Du_int16_t=uint16_t \
-Du_int32_t=uint32_t -Du_int64_t=uint64_t
So when building cdda2wav, I got the following output:
==> LINKING "OBJ/sparc-netbsd-gcc/cdda2wav"
-->> /usr/bin/gcc -o OBJ/sparc-netbsd-gcc/cdda2wav
OBJ/sparc-netbsd-gcc/cdda2wav
.o OBJ/sparc-netbsd-gcc/interface.o OBJ/sparc-netbsd-gcc/semshm.o
OBJ/sparc-netb
sd-gcc/resample.o OBJ/sparc-netbsd-gcc/scsi_scan.o OBJ/sparc-netbsd-gcc/toc.o
OB
J/sparc-netbsd-gcc/wav.o OBJ/sparc-netbsd-gcc/sun.o OBJ/sparc-netbsd-gcc/raw.o
O
BJ/sparc-netbsd-gcc/md5c.o OBJ/sparc-netbsd-gcc/setuid.o
OBJ/sparc-netbsd-gcc/ri
ngbuff.o OBJ/sparc-netbsd-gcc/sndconfig.o OBJ/sparc-netbsd-gcc/scsi_cmds.o
OBJ/s
parc-netbsd-gcc/aiff.o OBJ/sparc-netbsd-gcc/aifc.o
OBJ/sparc-netbsd-gcc/scsi_cdr
.o OBJ/sparc-netbsd-gcc/cd_misc.o OBJ/sparc-netbsd-gcc/modes.o
OBJ/sparc-netbsd-
gcc/ioctl.o OBJ/sparc-netbsd-gcc/sha_func.o OBJ/sparc-netbsd-gcc/base64.o
OBJ/sp
arc-netbsd-gcc/defaults.o -L../libs/sparc-netbsd-gcc -Wl,-R/opt/pkg/lib -I/opt/p
kg.obj/sysutils/cdrtools/work.ultra10/.buildlink/include -L/opt/pkg.obj/sysutils
/cdrtools/work.ultra10/.buildlink/lib -lrscg -lscg -lparanoia -ldeflt -lschily -
lossaudio -lutil
OBJ/sparc-netbsd-gcc/cdda2wav.o: In function `main':
cdda2wav.c:(.text+0x41a0): undefined reference to `sched_get_priority_min'
cdda2wav.c:(.text+0x41a8): undefined reference to `sched_get_priority_max'
cdda2wav.c:(.text+0x41d0): undefined reference to `sched_setscheduler'
As you can see there is no -lrt passed to gcc, hence it cannot find sched_*
library calls.
Next I lookd at cdda2wav/Makefile, it has the following line
LIBS= -lrscg -lscg $(LIB_VOLMGT) -lparanoia -ldeflt -lschily
$(SCSILIB) $(EXTRALIB) $(LIB_SOCKET) $(LIB_RT)
So I figure $(LIB_RT) should contain -lrt, but for some reason it's empty.
Next I grep all source files for LIB_RT
# for i in `find . -type f`
> do
> grep 'LIB_RT' $i
> if test $? -eq 0
> then
> echo "^^ $i"
> fi
> done
LIB_RT = @lib_rt@
^^ ./conf/rules.cnf.in
LIB_RT = -lrt
^^ ./incs/sparc-netbsd-cc/rules.cnf
LIB_RT =
^^ ./incs/sparc-netbsd-gcc/rules.cnf
LIBS= -lrscg -lscg $(LIB_VOLMGT) -ledc_ecc -ldeflt -lschily
$(SCSILIB)
$(LIB_SOCKET) $(LIB_RT)
^^ ./cdrecord/Makefile
LIBS= -lrscg -lscg $(LIB_VOLMGT) -lparanoia -ldeflt -lschily
$(SCSILIB
) $(EXTRALIB) $(LIB_SOCKET) $(LIB_RT)
^^ ./cdda2wav/Makefile
As you can see from above, the file incs/sparc-netbsd-gcc/rules.cnf defines
LIB_RT, but does not set to anything. Manually setting 'LIB_RT= -lrt' in this
file fixed the problem.
I don't really know why LIB_RT is not set in incs/sparc-netbsd-gcc/rules.cnf
file. Can you see where the problem is?
Home |
Main Index |
Thread Index |
Old Index