argus-clients rasql/rasqlinsert compile/make errors
Eric Kinzie
eric at qosient.com
Sat Apr 7 16:46:49 EDT 2018
On Sat Apr 07 15:48:31 -0400 2018, Drew Dixon wrote:
> I've been wanting to experiment with rasqlinsert so where I have my
> radium->racluster->archives test/dev server I realized I needed to install
> some mysql packages to satisfy the dependencies for building the rasql*
> client tools...I have all the required dependencies installed and so I went
> to re-compile argus-clients (our umich version with IPFIX compatibility up
> to the Netflow v9 field level) and pretty certain we've only modified
> argus_import.c
> to create the new v10 routines etc. (incase that might have any
> side-effects or implications here I wanted to mention that)
>
> *Installed:*
> mysql-community-client.x86_64 (5.7.21-1.el7)
> mysql-community-common.x86_64 (5.7.21-1.el7)
> mysql-community-devel.x86_64 (5.7.21-1.el7)
> mysql-community-libs.x86_64 (5.7.21-1.el7)
> mysql-community-libs-compat.x86_64 (5.7.21-1.el7)
> mysql-community-server.x86_64 (5.7.21-1.el7)
>
> gcc.x86_64 (4.8.5-16.el7_4.2)
> make.x86_64 (1:3.82-23.el7)
>
> Anyhow, so I went to recompile and make/make install the clients again to
> get the rasql* tools and ran into the following errors with rasqlinsert.c,
> it's flagging on some areas within the last 30ish lines of code:
>
> ****************************************************************
> making in ./ramysql
> make[2]: Entering directory
> `/home/argus/downloads/argus-clients-3.0.8.2-umich/examples/ramysql'
> gcc -O -I. -I../../include -I../../common -I/usr/include/mysql
> -DHAVE_CONFIG_H -c ./rasql.c
> gcc -O -o ../../bin/rasql rasql.o -L/usr/lib64/mysql -lmysqlclient
> ../../lib/argus_parse.a ../../lib/argus_common.a ../../lib/argus_client.a
> -lm -lGeoIP -lz
> gcc -O -I. -I../../include -I../../common -I/usr/include/mysql
> -DHAVE_CONFIG_H -c ./rasqlinsert.c
> *./rasqlinsert.c: In function ‘ArgusScheduleSQLQuery’:*
> *./rasqlinsert.c:7881:54: error: ‘struct ArgusListStruct’ has no member
> named ‘cond’*
> * pthread_cond_signal(&ArgusSQLInsertQueryList->cond);*
> * ^*
> *./rasqlinsert.c:7886:54: error: ‘struct ArgusListStruct’ has no member
> named ‘cond’*
> * pthread_cond_signal(&ArgusSQLUpdateQueryList->cond);*
> * ^*
> *./rasqlinsert.c:7890:54: error: ‘struct ArgusListStruct’ has no member
> named ‘cond’*
> * pthread_cond_signal(&ArgusSQLSelectQueryList->cond);*
> * ^*
> ****************************************************************
>
> *From rasqlinsert.c:*
>
> ****************************************************************
> case RAGETTINGw: {
> *struct ArgusListStruct* *wlist = ArgusParser->ArgusWfileList;
>
> ...snip...
>
> int ArgusProcessSQLQueryList(struct ArgusParserStruct *, *struct
> ArgusListStruct **);
>
>
> int
> ArgusProcessSQLQueryList(struct ArgusParserStruct *parser, *struct
> ArgusListStruct *ArgusSQLQueryList*)
>
> ....snip....
>
> switch (ns->status & ARGUS_SQL_STATUS) {
> case ARGUS_SQL_INSERT:
> ArgusPushBackList (ArgusSQLInsertQueryList, (struct
> ArgusListRecord *)&sqry->nxt, ARGUS_LOCK);
> *pthread_cond_signal(&ArgusSQLInsertQueryList->cond);*
> break;
>
> case ARGUS_SQL_UPDATE:
> ArgusPushBackList (ArgusSQLUpdateQueryList, (struct
> ArgusListRecord *)&sqry->nxt, ARGUS_LOCK);
> *pthread_cond_signal(&ArgusSQLUpdateQueryList->cond);*
> break;
> case ARGUS_SQL_DELETE:
> ArgusPushBackList (ArgusSQLSelectQueryList, (struct
> ArgusListRecord *)&sqry->nxt, ARGUS_LOCK);
> *pthread_cond_signal(&ArgusSQLSelectQueryList->cond);*
> break;
> }
> ns->status &= ~(ARGUS_SQL_STATUS);
>
> free(tmpbuf);
> free(mbuf);
>
> if (rbuf != NULL) free(rbuf);
>
> return (retn);
> }
>
> ....snip....
> ****************************************************************
>
> Any idea why this is throwing this error or what the issue is? Am I
> missing something obvious?
>
> Many thanks,
>
> -Drew
Drew, I don't see -lpthread in the link step. The sql examples
will not work without thread support (they should really just be
skipped during the build if threads are disabled).
Did you run "configure --without-threads" or remove the .threads
file? Either of those seems to trigger the error above.
Eric
More information about the argus
mailing list