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.