argus-3.0.0.rc.14
Carter Bullard
carter at qosient.com
Tue Jul 11 10:37:14 EDT 2006
Hey Karl,
I'm having to restructure the configure.in for Solaris, now that I
realize
what is going on. As soon as I can get a full development system
on this sparc station, I should be able to get it fixed.
I'm going to scrap the type tests (LBL_CHECK_TYPE), and replace
them with tcpdump's current strategy, and remove the ANSI ioctl test.
That should get us a little farther. Hopefully I'll have something
before lunch.
Carter
On Jul 11, 2006, at 10:04 AM, Karl Tatgenhorst wrote:
> I tried out your advice, I just globally used sed s/u_int/uint/g. I
> figured some of the definitions like nff_u_int(s) might be changed and
> were already adequately defined in the argus header files but it made
> for consistent reading and I didn't have to poke through the files and
> decide about changing each and every entry. So now on the ./
> configure it
> finds the uint types and the very next line is: checking for ANSI
> ioctl
> definitions... no... then it bombs. I can see the ioct.h file is
> in /usr/include/sys as I would think that it should be. Any ideas?
>
> Thanks,
>
> Karl
>
> On Tue, 2006-07-11 at 00:53 +0000, Robert Edmonds wrote:
>> On 2006-07-10, Carter Bullard <carter at qosient.com> wrote:
>>> I hate Solaris. Just thought I'd get that out there in the
>>> beginning
>>> to avoid any confusion on the topic ;o) No, Solaris is fine, but
>>> it is
>>> very picky about include files, and typing. Argus 3.0 has compiled
>>> on Solaris in the recent past, so it shouldn't be a big deal.
>>>
>>> You are failing on ANSI ioctl definitions, which is something of a
>>> big deal, but you failed on the u_int64_t type check as well, which
>>> is new, and may actually be the problem. Let me find a Solaris
>>> machine to see what I need to do to fix it.
>>
>> Hmm, on Solaris 8 I found the _IO macro definition in
>> /usr/include/sys/ioccom.h, which bears this comment:
>>
>> /* ioccom.h 1.3 88/02/08 SMI; from UCB ioctl.h 7.1 6/4/86 */
>>
>> For the u_int64_t problem, I would change all u_int types to uint,
>> since
>> uint's are standard.
>>
>> This is on Solaris 8:
>>
>> $ grep uint /usr/include/sys/int_types.h | head -5
>> typedef unsigned char uint8_t;
>> typedef unsigned short uint16_t;
>> typedef unsigned int uint32_t;
>> typedef unsigned long uint64_t;
>> typedef unsigned long long uint64_t;
>>
>> (although <sys/inttypes.h> should be included, not <sys/
>> int_types.h>)
>>
>> This is a C standard thing, not just Solaris. glibc has the same
>> types:
>>
>> http://www.gnu.org/software/libc/manual/html_node/Integers.html
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist1.pair.net/pipermail/argus/attachments/20060711/859d6522/attachment.html>
More information about the argus
mailing list