argus-3.0.0.rc.14

Carter Bullard carter at qosient.com
Tue Jul 11 11:41:53 EDT 2006


Hey Karl,
I have argus configur'ing and compiling on solaris,
but the clients have a routine that is missing on
solaris, strsep(), so I have to replace it with strtok().
It will be a bit after lunch.

Don't know about the alignment and 64 bit support,
but first things first.

Carter


On Jul 11, 2006, at 11:18 AM, Karl Tatgenhorst wrote:

> Carter,
>
>  Thanks!
>
> Karl
>
> On Tue, 2006-07-11 at 10:37 -0400, Carter Bullard wrote:
>> 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
>>>>
>>>>
>>>
>>>
>>>
>>>
>>
>>




More information about the argus mailing list