troubles with caps

Chris Pressey cpressey at catseye.mine.nu
Sat Apr 24 13:36:50 PDT 2004


Hi all,

I'm having a lot of problems trying to use caps.  Thanks to Joerg's work
last night, libcaps does build.  However, it does not build correctly. 
There's some sort of issue with sys/kern/lwkt_msgport.c not being
properly buildable in userland.  The relevant part of the build log
(full log attached):

 cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386
-DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c
/usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c -o lwkt_msgport.o
 /usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c: In function
`lwkt_abortmsg':
 /usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c:461: warning:
implicit declaration of function `cpu_mb1'
 /usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c: In function
`lwkt_default_waitport':
 /usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c:596: warning:
implicit declaration of function `CURSIG'

This results in an unusable libcaps .so (see attached caps-test log.)

I made a few lame attempts at fixing it by adding the header files
<sys/signalvar.h> and <sys/cpufunc.h> to lwkt_msgport.c outside of
#ifdef _KERNEL, but that just caused even more obscure errors when
#trying to #define _KERNEL_STRUCTURES in libcaps itself...

Hoping this report is sort of useful to anyone with the knowledge and
inclination to fix it, it would be nice to have userland caps again! :)

Thanks in advance,
-Chris

Warning: Object directory not changed from original /usr/src/lib/libcaps
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG   asdefs.c  -o asdefs
/usr/src/lib/libcaps/asdefs > /usr/src/lib/libcaps/asdefs.h
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/i386/td_switch.c -o td_switch.o
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/i386/md_globaldata.c -o md_globaldata.o
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -I/usr/src/lib/libcaps/i386 -I/usr/src/lib/libcaps -c /usr/src/lib/libcaps/i386/td_switch_asm.S -o td_switch_asm.o
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -I/usr/src/lib/libcaps/i386 -I/usr/src/lib/libcaps -c /usr/src/lib/libcaps/i386/upcall.S -o upcall.o
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -I/usr/src/lib/libcaps/i386 -I/usr/src/lib/libcaps -c /usr/src/lib/libcaps/i386/mplock.S -o mplock.o
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c -o lwkt_msgport.o
/usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c: In function `lwkt_abortmsg':
/usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c:461: warning: implicit declaration of function `cpu_mb1'
/usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c: In function `lwkt_default_waitport':
/usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c:596: warning: implicit declaration of function `CURSIG'
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/../../sys/kern/lwkt_thread.c -o lwkt_thread.o
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/../../sys/kern/lwkt_ipiq.c -o lwkt_ipiq.o
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/../../sys/kern/lwkt_token.c -o lwkt_token.o
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c uthread.c -o uthread.o
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c init.c -o init.o
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c sysport.c -o sysport.o
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c slaballoc.c -o slaballoc.o
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c globaldata.c -o globaldata.o
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c caps_msgbuf.c -o caps_msgbuf.o
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c caps_struct.c -o caps_struct.o
cc -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c caps_pwent.c -o caps_pwent.o
building static caps library
ranlib libcaps.a
cc -pg -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/i386/td_switch.c -o td_switch.po
cc -pg -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/i386/md_globaldata.c -o md_globaldata.po
cc -DPROF -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -I/usr/src/lib/libcaps/i386 -I/usr/src/lib/libcaps -c /usr/src/lib/libcaps/i386/td_switch_asm.S -o td_switch_asm.po
cc -DPROF -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -I/usr/src/lib/libcaps/i386 -I/usr/src/lib/libcaps -c /usr/src/lib/libcaps/i386/upcall.S -o upcall.po
cc -DPROF -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -I/usr/src/lib/libcaps/i386 -I/usr/src/lib/libcaps -c /usr/src/lib/libcaps/i386/mplock.S -o mplock.po
cc -pg -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c -o lwkt_msgport.po
/usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c: In function `lwkt_abortmsg':
/usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c:461: warning: implicit declaration of function `cpu_mb1'
/usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c: In function `lwkt_default_waitport':
/usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c:596: warning: implicit declaration of function `CURSIG'
cc -pg -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/../../sys/kern/lwkt_thread.c -o lwkt_thread.po
cc -pg -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/../../sys/kern/lwkt_ipiq.c -o lwkt_ipiq.po
cc -pg -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/../../sys/kern/lwkt_token.c -o lwkt_token.po
cc -pg -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c uthread.c -o uthread.po
cc -pg -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c init.c -o init.po
cc -pg -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c sysport.c -o sysport.po
cc -pg -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c slaballoc.c -o slaballoc.po
cc -pg -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c globaldata.c -o globaldata.po
cc -pg -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c caps_msgbuf.c -o caps_msgbuf.po
cc -pg -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c caps_struct.c -o caps_struct.po
cc -pg -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c caps_pwent.c -o caps_pwent.po
building profiled caps library
ranlib libcaps_p.a
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/i386/td_switch.c -o td_switch.So
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/i386/md_globaldata.c -o md_globaldata.So
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -I/usr/src/lib/libcaps/i386 -I/usr/src/lib/libcaps -c /usr/src/lib/libcaps/i386/td_switch_asm.S  -o td_switch_asm.So
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -I/usr/src/lib/libcaps/i386 -I/usr/src/lib/libcaps -c /usr/src/lib/libcaps/i386/upcall.S  -o upcall.So
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -I/usr/src/lib/libcaps/i386 -I/usr/src/lib/libcaps -c /usr/src/lib/libcaps/i386/mplock.S  -o mplock.So
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c -o lwkt_msgport.So
/usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c: In function `lwkt_abortmsg':
/usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c:461: warning: implicit declaration of function `cpu_mb1'
/usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c: In function `lwkt_default_waitport':
/usr/src/lib/libcaps/../../sys/kern/lwkt_msgport.c:596: warning: implicit declaration of function `CURSIG'
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/../../sys/kern/lwkt_thread.c -o lwkt_thread.So
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/../../sys/kern/lwkt_ipiq.c -o lwkt_ipiq.So
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c /usr/src/lib/libcaps/../../sys/kern/lwkt_token.c -o lwkt_token.So
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c uthread.c -o uthread.So
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c init.c -o init.So
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c sysport.c -o sysport.So
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c slaballoc.c -o slaballoc.So
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c globaldata.c -o globaldata.So
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c caps_msgbuf.c -o caps_msgbuf.So
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c caps_struct.c -o caps_struct.So
cc -fpic -DPIC -O -pipe  -I/usr/src/lib/libcaps/.. -I/usr/src/lib/libcaps/i386 -DSMP -D_UTHREAD -Wall -g -DCAPS_DEBUG  -c caps_pwent.c -o caps_pwent.So
building shared library libcaps.so.1
building special pic caps library
ranlib libcaps_pic.a
cc -O2 -g -I/usr/src/lib -I/usr/src/lib/libcaps/i386 -DSMP server.c -o /tmp/caps_s
cc -O2 -g -I/usr/src/lib -I/usr/src/lib/libcaps/i386 -DSMP client.c -o /tmp/caps_c
cc -O2 -g -I/usr/src/lib -I/usr/src/lib/libcaps/i386 -DSMP encoder.c -lcaps -o /tmp/caps_e
/usr/lib/libcaps.so: undefined reference to `CURSIG'
/usr/lib/libcaps.so: undefined reference to `cpu_mb1'
*** Error code 1

Stop in /usr/src/test/caps.




More information about the Bugs mailing list