Ross- I recently compiled .66 and .68 on Fedora Core 5 (w/ the Red Hat build of GCC 4.1.0) and had the same issue.
If I understand correctly, the "invalid lvalue in assignment" problem comes from statements like "(char *)someptr += someint". There is a description of this (and a fix) in the archives at http://mailman.splintered.net/pipermail/flow-tools/2005-May/002753.html. I also found my compiler complaining during a .66 compile about "label at end of compound statement". This seems to be fixed often by adding a statement (anything will do; often a "break" is appropriate) after the label being complained about. I didn't encounter this issue compiling .68. -Benson > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of > Ross Tsolakidis > Sent: Wednesday, October 31, 2007 4:38 AM > To: [email protected] > Subject: [Flow-tools] compile error ftio.c > > Hi all, > > I'm having trouble compiling .66 and .68 > I've actually been using flow-tools for quite a while, never > had a problem installing until now... > > > The only difference now is that the new servers are running > the latest Debian Linux distribution 4. > The older servers running flow-tools were all compiled back > when they were running Debian Linux 3, mind you they've all > been upgraded and are running fine. > > I recall reading something about the fact that this > distribution is using a new version of GCC, I think.... > > > > Here's the compile errors with both versions: > > > d3-syd-equinix01:/usr/src/flow-tools-0.66# ./configure > checking for a BSD-compatible install... /usr/bin/install -c > checking whether build environment is sane... yes > checking for gawk... no > checking for mawk... mawk > checking whether make sets $(MAKE)... yes > checking for gcc... gcc > checking for C compiler default output... a.out > checking whether the C compiler works... yes > checking whether we are cross compiling... no > checking for suffix of executables... > checking for suffix of object files... o > checking whether we are using the GNU C compiler... yes > checking whether gcc accepts -g... yes > checking for gcc option to accept ANSI C... none needed > checking for style of include used by make... GNU > checking dependency style of gcc... gcc3 > checking for a BSD-compatible install... /usr/bin/install -c > checking whether make sets $(MAKE)... (cached) yes > checking for bison... bison -y > checking for ranlib... ranlib > checking for flex... flex > checking for yywrap in -lfl... yes > checking lex output file root... lex.yy > checking whether yytext is a pointer... yes > checking for main in -ly... yes > checking for zlibVersion in -lz... yes > checking for allow_severity in -lwrap... no > checking for dirent.h that defines DIR... yes > checking for library containing opendir... none required > checking how to run the C preprocessor... gcc -E > checking for egrep... grep -E > checking for ANSI C header files... yes > checking for sys/types.h... yes > checking for sys/stat.h... yes > checking for stdlib.h... yes > checking for string.h... yes > checking for memory.h... yes > checking for strings.h... yes > checking for inttypes.h... yes > checking for stdint.h... yes > checking for unistd.h... yes > checking fcntl.h usability... yes > checking fcntl.h presence... yes > checking for fcntl.h... yes > checking features.h usability... yes > checking features.h presence... yes > checking for features.h... yes > checking limits.h usability... yes > checking limits.h presence... yes > checking for limits.h... yes > checking malloc.h usability... yes > checking malloc.h presence... yes > checking for malloc.h... yes > checking for string.h... (cached) yes > checking for strings.h... (cached) yes > checking sys/time.h usability... yes > checking sys/time.h presence... yes > checking for sys/time.h... yes > checking syslog.h usability... yes > checking syslog.h presence... yes > checking for syslog.h... yes > checking for unistd.h... (cached) yes > checking for sin_len in sockaddr_in ... > no > checking for an ANSI C-conforming const... yes > checking for off_t... yes > checking for pid_t... yes > checking for size_t... yes > checking for struct stat.st_rdev... yes > checking whether time.h and sys/time.h may both be included... yes > checking whether struct tm is in sys/time.h or time.h... time.h > checking for stdlib.h... (cached) yes > checking for unistd.h... (cached) yes > checking for getpagesize... yes > checking for working mmap... yes > checking for working alloca.h... yes > checking for alloca... yes > checking return type of signal handlers... void > checking for gethostbyname in -lnsl... yes > checking for socket in -lsocket... no > checking for gethostname... yes > checking for gettimeofday... yes > checking for select... yes > checking for socket... yes > checking for strdup... yes > checking for strtoul... yes > checking for timelocal... yes > checking for sigaction... yes > checking for strsep... yes > checking for strerror... yes > checking for strtoull... yes > checking strtoul returns 64 bits... no > configure: creating ./config.status > config.status: creating lib/Makefile > config.status: creating src/Makefile > config.status: creating Makefile > config.status: creating docs/Makefile > config.status: creating lib/ftpaths.h > config.status: creating configs/Makefile > config.status: creating docs/flow-capture.1 > config.status: creating docs/flow-capture.html > config.status: creating docs/flow-nfilter.1 > config.status: creating docs/flow-nfilter.html > config.status: creating docs/flow-print.1 > config.status: creating docs/flow-print.html > config.status: creating docs/flow-report.1 > config.status: creating docs/flow-report.html > config.status: creating docs/flow-receive.1 > config.status: creating docs/flow-receive.html > config.status: creating docs/flow-tag.1 > config.status: creating docs/flow-tag.html > config.status: creating docs/flow-mask.1 > config.status: creating docs/flow-mask.html > config.status: creating docs/flow-fanout.1 > config.status: creating docs/flow-fanout.html > config.status: creating lib/ftconfig.h > config.status: executing depfiles commands > > Please subscribe to the flow-tools mailing list by sending a > message to > [EMAIL PROTECTED] > > Now type make to continue the build process > > d3-syd-equinix01:/usr/src/flow-tools-0.66# > d3-syd-equinix01:/usr/src/flow-tools-0.66# > d3-syd-equinix01:/usr/src/flow-tools-0.66# > d3-syd-equinix01:/usr/src/flow-tools-0.66# > d3-syd-equinix01:/usr/src/flow-tools-0.66# > d3-syd-equinix01:/usr/src/flow-tools-0.66# > d3-syd-equinix01:/usr/src/flow-tools-0.66# > d3-syd-equinix01:/usr/src/flow-tools-0.66# make > Making all in lib > make[1]: Entering directory `/usr/src/flow-tools-0.66/lib' > make all-am > make[2]: Entering directory `/usr/src/flow-tools-0.66/lib' > if gcc -I. -I./lib -I. -I. -I. -g -Wall -g -Wall -MT > ftio.o -MD -MP -MF ".deps/ftio.Tpo" \ > -c -o ftio.o `test -f 'ftio.c' || echo './'`ftio.c; \ > then mv ".deps/ftio.Tpo" ".deps/ftio.Po"; \ > else rm -f ".deps/ftio.Tpo"; exit 1; \ > fi > ftio.c: In function âreadnâ: > ftio.c:2270: error: invalid lvalue in assignment > ftio.c: In function âwritenâ: > ftio.c:2295: error: invalid lvalue in assignment > make[2]: *** [ftio.o] Error 1 > make[2]: Leaving directory `/usr/src/flow-tools-0.66/lib' > make[1]: *** [all] Error 2 > make[1]: Leaving directory `/usr/src/flow-tools-0.66/lib' > make: *** [all-recursive] Error 1 > d3-syd-equinix01:/usr/src/flow-tools-0.66# > > > > > > > d3-syd-equinix01:/usr/src/flow-tools-0.68# ./configure > checking for a BSD-compatible install... /usr/bin/install -c > checking whether build environment is sane... yes > checking for gawk... no > checking for mawk... mawk > checking whether make sets $(MAKE)... yes > checking for gcc... gcc > checking for C compiler default output... a.out > checking whether the C compiler works... yes > checking whether we are cross compiling... no > checking for suffix of executables... > checking for suffix of object files... o > checking whether we are using the GNU C compiler... yes > checking whether gcc accepts -g... yes > checking for gcc option to accept ANSI C... none needed > checking for style of include used by make... GNU > checking dependency style of gcc... gcc3 > checking for a BSD-compatible install... /usr/bin/install -c > checking whether make sets $(MAKE)... (cached) yes > checking for bison... bison -y > checking for ranlib... ranlib > checking for flex... flex > checking for yywrap in -lfl... yes > checking lex output file root... lex.yy > checking whether yytext is a pointer... yes > checking for main in -ly... yes > checking for zlibVersion in -lz... yes > checking for allow_severity in -lwrap... no > checking for dirent.h that defines DIR... yes > checking for library containing opendir... none required > checking how to run the C preprocessor... gcc -E > checking for egrep... grep -E > checking for ANSI C header files... yes > checking for sys/types.h... yes > checking for sys/stat.h... yes > checking for stdlib.h... yes > checking for string.h... yes > checking for memory.h... yes > checking for strings.h... yes > checking for inttypes.h... yes > checking for stdint.h... yes > checking for unistd.h... yes > checking fcntl.h usability... yes > checking fcntl.h presence... yes > checking for fcntl.h... yes > checking features.h usability... yes > checking features.h presence... yes > checking for features.h... yes > checking limits.h usability... yes > checking limits.h presence... yes > checking for limits.h... yes > checking malloc.h usability... yes > checking malloc.h presence... yes > checking for malloc.h... yes > checking for string.h... (cached) yes > checking for strings.h... (cached) yes > checking sys/time.h usability... yes > checking sys/time.h presence... yes > checking for sys/time.h... yes > checking syslog.h usability... yes > checking syslog.h presence... yes > checking for syslog.h... yes > checking for unistd.h... (cached) yes > checking for sin_len in sockaddr_in ... > no > checking for an ANSI C-conforming const... yes > checking for off_t... yes > checking for pid_t... yes > checking for size_t... yes > checking for struct stat.st_rdev... yes > checking whether time.h and sys/time.h may both be included... yes > checking whether struct tm is in sys/time.h or time.h... time.h > checking for stdlib.h... (cached) yes > checking for unistd.h... (cached) yes > checking for getpagesize... yes > checking for working mmap... yes > checking for working alloca.h... yes > checking for alloca... yes > checking return type of signal handlers... void > checking for gethostbyname in -lnsl... yes > checking for socket in -lsocket... no > checking for gethostname... yes > checking for gettimeofday... yes > checking for select... yes > checking for socket... yes > checking for strdup... yes > checking for strtoul... yes > checking for timelocal... yes > checking for sigaction... yes > checking for strsep... yes > checking for strerror... yes > checking for strtoull... yes > checking strtoul returns 64 bits... no > configure: creating ./config.status > config.status: creating lib/Makefile > config.status: creating src/Makefile > config.status: creating bin/Makefile > config.status: creating Makefile > config.status: creating docs/Makefile > config.status: creating lib/ftpaths.h > config.status: creating configs/Makefile > config.status: creating docs/flow-capture.1 > config.status: creating docs/flow-capture.html > config.status: creating docs/flow-nfilter.1 > config.status: creating docs/flow-nfilter.html > config.status: creating docs/flow-print.1 > config.status: creating docs/flow-print.html > config.status: creating docs/flow-report.1 > config.status: creating docs/flow-report.html > config.status: creating docs/flow-receive.1 > config.status: creating docs/flow-receive.html > config.status: creating docs/flow-tag.1 > config.status: creating docs/flow-tag.html > config.status: creating docs/flow-mask.1 > config.status: creating docs/flow-mask.html > config.status: creating docs/flow-fanout.1 > config.status: creating docs/flow-fanout.html > config.status: creating docs/flow-xlate.1 > config.status: creating docs/flow-xlate.html > config.status: creating docs/flow-rpt2rrd.1 > config.status: creating docs/flow-rpt2rrd.html > config.status: creating docs/flow-rptfmt.1 > config.status: creating docs/flow-rptfmt.html > config.status: creating docs/flow-log2rrd.1 > config.status: creating docs/flow-log2rrd.html > config.status: creating lib/ftconfig.h > config.status: executing depfiles commands > > Please subscribe to the flow-tools mailing list by sending a > message to > [EMAIL PROTECTED] > > Now type make to continue the build process > > d3-syd-equinix01:/usr/src/flow-tools-0.68# > d3-syd-equinix01:/usr/src/flow-tools-0.68# > d3-syd-equinix01:/usr/src/flow-tools-0.68# > d3-syd-equinix01:/usr/src/flow-tools-0.68# > d3-syd-equinix01:/usr/src/flow-tools-0.68# > d3-syd-equinix01:/usr/src/flow-tools-0.68# make > Making all in lib > make[1]: Entering directory `/usr/src/flow-tools-0.68/lib' > make all-am > make[2]: Entering directory `/usr/src/flow-tools-0.68/lib' > source='ftio.c' object='ftio.o' libtool=no \ > depfile='.deps/ftio.Po' tmpdepfile='.deps/ftio.TPo' \ > depmode=gcc3 /bin/sh ../depcomp \ > gcc -I. -I./lib -I. -I. -I. -g -Wall -g -Wall -c > `test -f 'ftio.c' || echo './'`ftio.c > ftio.c: In function âreadnâ: > ftio.c:2270: error: invalid lvalue in assignment > ftio.c: In function âwritenâ: > ftio.c:2295: error: invalid lvalue in assignment > make[2]: *** [ftio.o] Error 1 > make[2]: Leaving directory `/usr/src/flow-tools-0.68/lib' > make[1]: *** [all] Error 2 > make[1]: Leaving directory `/usr/src/flow-tools-0.68/lib' > make: *** [all-recursive] Error 1 > d3-syd-equinix01:/usr/src/flow-tools-0.68# > > > > > > Thanks all, > > Regards, > Ross. > > DISCLAIMER: > This e-mail and any files transmitted with it may be > privileged and confidential, and are intended only for the > use of the intended recipient. If you are not the intended > recipient or responsible for delivering this e-mail to the > intended recipient, any use, dissemination, forwarding, > printing or copying of this e-mail and any attachments is > strictly prohibited. > If you have received this e-mail in error, please REPLY TO > the SENDER to advise the error AND then DELETE the e-mail > from your system. > Any views expressed in this e-mail and any files transmitted > with it are those of the individual sender, except where the > sender specifically states them to be the views of our organisation. > Our organisation does not represent or warrant that the > attached files are free from computer viruses or other defects. > 31/10/2007 > The user assumes all responsibility for any loss or damage > resulting directly or indirectly from the use of the attached > files. In any event, the liability to our organisation is > limited to either the resupply of the attached files or the > cost of having the attached files resupplied. > > _______________________________________________ > Flow-tools mailing list > [EMAIL PROTECTED] > http://mailman.splintered.net/mailman/listinfo/flow-tools > This message contains information which may be confidential and/or privileged. Unless you are the intended recipient (or authorized to receive for the intended recipient), you may not read, use, copy or disclose to anyone the message or any information contained in the message. If you have received the message in error, please advise the sender by reply e-mail and delete the message and any attachment(s) thereto without retaining any copies. _______________________________________________ Flow-tools mailing list [EMAIL PROTECTED] http://mailman.splintered.net/mailman/listinfo/flow-tools
