argus-clients-3.0.0.rc.63 make failure - OpenBSD4.1

Carter Bullard carter at qosient.com
Wed Feb 6 15:46:25 EST 2008


Hmmm, so this thing is finding /usr/include/sched.h all right.
The problem is that we're not linking with the right libraries.
So when you do a man on "sched_get_priority_max", somewhere
in the manpage it should tell you what library to link.
So what does it say?

Carter



On Feb 6, 2008, at 3:31 PM, Eric Pancer wrote:

> Hi Peter, thanks for the reply. Hope all is well.
>
> On Feb 6, 2008 2:08 PM, Peter Van Epp <vanepp at sfu.ca> wrote:
>
>> 1) add a && !defined (__OpenBSD__) to the end of the NetBSD  
>> conditional line,
>>   to force OpenBSD to use the default case. I think thats a long  
>> shot though.
>
> I tried this; alas, it did not work.
>
>> 2) edit /usr/include/sched.h and see if the definition is  
>> conditional (i.e. on
>> __POSIX__ being defined) which may point you to whats wrong by  
>> finding a whole
>> new string to chase to figure out what should be defining the  
>> variable
>> controlling the ifdef :-).
>
> I'm not sure I understand (this is where my knowledge departs from
> what is required) what to do here.
>
>> 3) run with the -E flag on the compile (write preprocessed code to  
>> stdout then
>>   stop) and see how the symbols come out, if sched_get_priority_min  
>> isn't
>>   defined then the likely answer is #2 and you need to figure out  
>> what should
>>   be defining the symbol that is ifdefing out the define.
>
> Ok, this may be a bit noisy.....
>
> making in ./common
> making in ./clients
> gcc -E -O3 -o ../bin/ra ra.o ../lib/argus_parse.a
> ../lib/argus_common.a ../lib/argus_client.a -lm -lreadline -ltermcap
> -lpthread
> gcc: ra.o: linker input file unused because linking not done
> gcc: ../lib/argus_parse.a: linker input file unused because linking  
> not done
> gcc: ../lib/argus_common.a: linker input file unused because linking  
> not done
> gcc: ../lib/argus_client.a: linker input file unused because linking  
> not done
> gcc: -lm: linker input file unused because linking not done
> gcc: -lreadline: linker input file unused because linking not done
> gcc: -ltermcap: linker input file unused because linking not done
> gcc: -lpthread: linker input file unused because linking not done
> gcc -E -O3 -I. -I../include -I../common -DPACKAGE_NAME=\"\"
> -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
> -DPACKAGE_BUGREPORT=\"\" -DL
> BL_ALIGN=1 -DHAVE_VFPRINTF=1 -DHAVE_STRCASECMP=1 -DHAVE_STRLCAT=1
> -DHAVE_STRLCPY=1 -DHAVE_STRDUP=1 -DHAVE_STRFTIME=1 -DHAVE_SETLINEBUF=1
> -DHAVE_SETENV=1 -DH
> AVE_ALARM=1 -DHAVE_GETADDRINFO=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1
> -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
> -DHAVE_MEMORY_H=1 -DHAVE_STRI
> NGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1
> -DHAVE_INTTYPES_H=1 -DARGUS_THREADS=1 -DHAVE_SYS_SOCKIO_H=1
> -DHAVE_STRING_H=1 -DHAVE_FCNTL_H
> =1 -DHAVE_SYS_FILE_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ETHER_HOSTTON=1
> -DHAVE_STRERROR=1 -DHAVE_SRANDOMDEV=1 -DHAVE_NCURSES_H=1
> -DARGUS_CURSES=1 -DARGUS_NCURSES_H=
> 1 -DARGUS_READLINE=1 -DARGUS_READLINE_EVENT_HOOK=1 -DSTDC_HEADERS=1 -c
> ./racount.c
> # 1 "racount.c"
> # 1 "<built-in>"
> # 1 "<command line>"
> # 1 "racount.c"
> # 42 "racount.c"
> # 1 "/usr/include/unistd.h" 1 3 4
> # 38 "/usr/include/unistd.h" 3 4
> # 1 "/usr/include/sys/cdefs.h" 1 3 4
> # 41 "/usr/include/sys/cdefs.h" 3 4
> # 1 "/usr/include/machine/cdefs.h" 1 3 4
> # 42 "/usr/include/sys/cdefs.h" 2 3 4
> # 39 "/usr/include/unistd.h" 2 3 4
> # 1 "/usr/include/sys/types.h" 1 3 4
> # 44 "/usr/include/sys/types.h" 3 4
> # 1 "/usr/include/sys/_types.h" 1 3 4
> # 37 "/usr/include/sys/_types.h" 3 4
> # 1 "/usr/include/machine/_types.h" 1 3 4
> # 45 "/usr/include/machine/_types.h" 3 4
> typedef signed char __int8_t;
> typedef unsigned char __uint8_t;
> typedef short __int16_t;
> typedef unsigned short __uint16_t;
> typedef int __int32_t;
> typedef unsigned int __uint32_t;
>
> [... cut to relevance ....]
>
> # 45 "../include/argus_os.h" 2
> # 1 "/usr/include/sched.h" 1 3 4
> # 54 "/usr/include/sched.h" 3 4
> struct sched_param
> {
>        int sched_priority;
> };
>
> int sched_setparam(pid_t, const struct sched_param *);
> int sched_getparam(pid_t, struct sched_param *);
>
> int sched_setscheduler(pid_t, int, const struct sched_param *);
> int sched_getscheduler(pid_t);
>
> int sched_yield(void);
> int sched_get_priority_max(int);
> int sched_get_priority_min(int);
> struct timespec;
> int sched_rr_get_interval(pid_t, struct timespec *);
>
> [...cut....]
>
> int pthread_attr_getinheritsched(const pthread_attr_t *, int *);
> int pthread_attr_getschedparam(const pthread_attr_t *,
>                        struct sched_param *);
> int pthread_attr_getschedpolicy(const pthread_attr_t *, int *);
> int pthread_attr_getscope(const pthread_attr_t *, int *);
> int pthread_attr_setinheritsched(pthread_attr_t *, int);
> int pthread_attr_setschedparam(pthread_attr_t *,
>                        const struct sched_param *);
> int pthread_attr_setschedpolicy(pthread_attr_t *, int);
> int pthread_attr_setscope(pthread_attr_t *, int);
> int pthread_getschedparam(pthread_t pthread, int *,
>                        struct sched_param *);
> int pthread_setschedparam(pthread_t, int,
>                        const struct sched_param *);
> int pthread_getconcurrency(void);
> int pthread_setconcurrency(int);
>
> - Eric
>



More information about the argus mailing list