Deifinition for va_copy on Solaris 8 in stdarg.h looks like that:

/*
 * va_copy is a Solaris extension to provide a portable way to perform
 * a variable argument list ``bookmarking'' function.
 */
#if defined(__EXTENSIONS__) || ((__STDC__ - 0 == 0) && \
        !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE))

#define va_copy(to, from)       ((to) = (from))

#endif  /* defined(__EXTENSIONS__) || ((__STDC__ - 0 == 0) && ... ) */


It looks like that #if doesn't work for OSSEC compilation. I was lazy
to do deeper investigation on this problem so I just added

#define va_copy(to, from)       ((to) = (from))

into src/shared/debug_op.c

After that evrything compiled all right.

On 6/14/07, Warren Petrofsky <[EMAIL PROTECTED]> wrote:
>
> Hi Folks,
>
> I have never had a problem building ossec before, and had 0.9-2 and -3
> compiled on this system (solaris 8 with gcc 2.95.3), but I just tried to
> build 1.2 and received the following error:
>
> -------------------------
>
>  *** Making os_maild ***
>
> gcc -g -Wall -I../ -I../headers  -DDEFAULTDIR=\"/var/ossec\" -DCLIENT
> -lsocket -lnsl -lresolv -DSOLARIS -DHIGHFIRST -DARGV0=\"ossec-maild\"
> -DXML_VAR=\"var\" -DOSSECHIDS maild.c config.c os_maild_client.c
> sendmail.c mail_list.c ../config/*.c ../shared/lib_shared.a
> ../os_net/os_net.a ../os_regex/os_regex.a ../os_xml/os_xml.a -o ossec-maild
> Undefined               first referenced
>  symbol                     in file
> va_copy                             ../shared/lib_shared.a(debug_op.o)
> ld: fatal: Symbol referencing errors. No output written to ossec-maild
> collect2: ld returned 1 exit status
> *** Error code 1
> make: Fatal error: Command failed for target `addclient'
> Current working directory /pkg/src/ossec-hids-1.2/src/os_maild
>
> Error Making os_maild
> *** Error code 1
> make: Fatal error: Command failed for target `all'
>
>  Error 0x5.
>  Building error. Unable to finish the installation.
>
> -------------------------
>
> Any suggestions?
>
> Thanks so much,
>
> Warren
> [EMAIL PROTECTED]
>
> p.s. Earlier in the build, I did see a warning re: va_copy:
>
>  *** Making shared ***
>
> gcc -c -g -Wall -I../ -I../headers  -DDEFAULTDIR=\"/var/ossec\" -DCLIENT
>  -lsocket -lnsl -lresolv -DSOLARIS -DHIGHFIRST -DARGV0=\"shared-libs\"
> -DXML_VAR=\"var\" -DOSSECHIDS *.c
> debug_op.c: In function `_log':
> debug_op.c:62: warning: implicit declaration of function `va_copy'
> gcc: -lsocket: linker input file unused since linking not done
> gcc: -lnsl: linker input file unused since linking not done
> gcc: -lresolv: linker input file unused since linking not done
> ar cru lib_shared.a *.o
> ranlib lib_shared.a
>


-- 
Serge Dubrouski.

Reply via email to