Mohammed Shahid writes: > Hi,
> Though not a problem with teTex proper, this issue affects its > installation and is related to problem 2 in > '- using an unpatched version of flex-2.5.31 fails with..' > Despite applying the patch (to flex-2.5.31) for teTex-3.0, flex > poses problems during make as follows: > make all-recursive > make[1]: Entering directory `/export/home/shalabh/INSTALL/flex-2.5.31' > Making all in . > make[2]: Entering directory `/export/home/shalabh/INSTALL/flex-2.5.31' > if gcc -DHAVE_CONFIG_H -I. -I. -I. > -DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -I./intl > -I/opt/gnome/include -I/usr/openwin/share/include/X11/extensions > -I/usr/openwin/include -I/usr/local/include -g -O2 -MT filter.o -MD -MP > -MF ".deps/filter.Tpo" \ > -c -o filter.o `test -f 'filter.c' || echo './'`filter.c; \ > then mv ".deps/filter.Tpo" ".deps/filter.Po"; \ > else rm -f ".deps/filter.Tpo"; exit 1; \ > fi > filter.c: In function `filter_apply_chain': > filter.c:161: error: invalid lvalue in assignment > filter.c:163: error: invalid lvalue in assignment > filter.c:184: error: invalid lvalue in assignment > make[2]: *** [filter.o] Error 1 > make[2]: Leaving directory `/export/home/shalabh/INSTALL/flex-2.5.31' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/export/home/shalabh/INSTALL/flex-2.5.31' > make: *** [all] Error 2 > No workarounds to be found on the Web, either. Was wondering if > something can be said about the problem. This is what the code looks like after being patched (including new line numbers). Instead of a gccism¸ this time code is guilty of a GNUlibcism: 'stdout' and 'stdin' are not lvalues on most systems. 160 /* setup streams again -- Removed. POSIX states that children inherit 161 open streams in the parent. Also, ANSI C99 states that the stdin 162 and stdout macors need not be modified lvalues; so this code is 163 broken in the first place. 164 if ((stdin = fdopen (0, "r")) == NULL) 165 flexfatal (_("fdopen(0) failed")); 166 if ((stdout = fdopen (1, "w")) == NULL) 167 flexfatal (_("fdopen(1) failed")); 168 */ 188 /* This is not legal; stfout does not need to be a modifiable 189 lvalue 190 if ((stdout = fdopen (1, "w")) == NULL) 191 flexfatal (_("fdopen(1) failed")); 192 */ > regards, > shahid. > ------------ > ------------ > ------------ -- Olaf Weber (This space left blank for technical reasons.)