Folks,
I have found a problem with e_flex in base (3.14.8.2). It does not handle .l files that have DOS terminators, which is what happens if one un-tars EPICS base on a Cygwin system and tries to build it. Here is the error:
$ make
make -C O.cygwin-x86 -f ../Makefile TOP=../../.. T_A=cygwin-x86 install
make[1]: Entering directory `/cygdrive/c/epics/base-3.14.8.2/src/as/O.cygwin-x86'
../../../bin/cygwin-x86/e_flex.exe -S../../../include/flex.skel.static -8 ../asLib_lex.l
"../asLib_lex.l", line 15: illegal character
"../asLib_lex.l", line 29: illegal character
"../asLib_lex.l", line 31: unknown error processing section 1
"../asLib_lex.l", line 32: unknown error processing section 1
"../asLib_lex.l", line 33: unknown error processing section 1
"../asLib_lex.l", line 34: unknown error processing section 1
"../asLib_lex.l", line 35: unknown error processing section 1
"../asLib_lex.l", line 36: unknown error processing section 1
"../asLib_lex.l", line 37: unknown error processing section 1
"../asLib_lex.l", line 42: unknown error processing section 1
"../asLib_lex.l", line 43: unknown error processing section 1
"../asLib_lex.l", line 47: unknown error processing section 1
"../asLib_lex.l", line 48: unknown error processing section 1
"../asLib_lex.l", line 53: unknown error processing section 1
"../asLib_lex.l", line 54: unknown error processing section 1
"../asLib_lex.l", line 62: unknown error processing section 1
"../asLib_lex.l", line 63: unknown error processing section 1
"../asLib_lex.l", line 64: unknown error processing section 1
"../asLib_lex.l", line 65: unknown error processing section 1
"../asLib_lex.l", line 66: unknown error processing section 1
"../asLib_lex.l", line 67: unknown error processing section 1
"../asLib_lex.l", line 68: unknown error processing section 1
"../asLib_lex.l", line 69: unknown error processing section 1
"../asLib_lex.l", line 70: unknown error processing section 1
"../asLib_lex.l", line 71: unknown error processing section 1
"../asLib_lex.l", line 81: unknown error processing section 1
"../asLib_lex.l", line 82: fatal parse error
make[1]: *** [asLib_lex.c] Error 1
make[1]: Leaving directory `/cygdrive/c/epics/base-3.14.8.2/src/as/O.cygwin-x86'
make: *** [install.cygwin-x86] Error 2
One can make it work by converting to Unix line terminators on this file:
$ dos2unix.exe asLib_lex.l
asLib_lex.l: done.
$ make
make -C O.cygwin-x86 -f ../Makefile TOP=../../.. T_A=cygwin-x86 install
make[1]: Entering directory `/cygdrive/c/epics/base-3.14.8.2/src/as/O.cygwin-x86'
../../../bin/cygwin-x86/e_flex.exe -S../../../include/flex.skel.static -8 ../asLib_lex.l
mv lex.yy.c asLib_lex.c
rm -f asLib.c y.tab.c
../../../bin/cygwin-x86/antelope.exe ../asLib.y
mv y.tab.c asLib.c
gcc -c -D_POSIX_THREADS -D_POSIX_TIMERS -D_X86_ -DUNIX -DCYGWIN32 -U_WIN32 -pedantic -O3 -Wall
-I. -I.. -I../../../include/os/cygwin32 -I../../../include asLib.c
In file included from ../asLib.y:211:
../asLib_lex.l: In function `yylex':
../asLib_lex.l:44: warning: pointer targets in passing arg 1 of `sscanf' differ in signedness
../asLib_lex.l:49: warning: pointer targets in passing arg 1 of `strlen' differ in signedness
../asLib_lex.l:50: warning: pointer targets in passing arg 2 of `strcpy' differ in signedness
../asLib_lex.l:55: warning: pointer targets in passing arg 1 of `strlen' differ in signedness
../asLib_lex.l:57: warning: pointer targets in passing arg 2 of `strcpy' differ in signedness
../asLib_lex.l:78: warning: pointer targets in passing arg 2 of `yyunput' differ in signedness
../asLib_lex.l: In function `yy_get_next_buffer':
../asLib_lex.l:250: warning: pointer targets in passing arg 1 of pointer to function differ in signedness
ar -rc libasHost.a asLib.o asTrapWrite.o
ranlib libasHost.a
ar -rc libasIoc.a asDbLib.o asCa.o asLib.o asTrapWrite.o
ranlib libasIoc.a
Installing library ../../../lib/cygwin-x86/libasHost.a
ranlib ../../../lib/cygwin-x86/libasHost.a
Installing library ../../../lib/cygwin-x86/libasIoc.a
ranlib ../../../lib/cygwin-x86/libasIoc.a
g++ -o ascheck.exe -L../../../lib/cygwin-x86/ -Wl,-rpath,/cygdrive/c/epics/base-3.14.8.2/lib/cygwin-x86
ascheck.o -lasHost -ldbStaticHost -lCom -lpthread -lm -lgcc
Installing binary ../../../bin/cygwin-x86/ascheck.exe
make[1]: Leaving directory `/cygdrive/c/epics/base-3.14.8.2/src/as/O.cygwin-x86'
Would it be possible to fix e_flex so this does not happen?
Thanks,
Mark
- Replies:
- Re: Problem with e_flex in base Andrew Johnson
- Navigate by Date:
- Prev:
Re: error while compiling channelArchiver2.x Kay-Uwe Kasemir
- Next:
GPIB swap 1014D with 1014 Waggoner, Bill
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
<2006>
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: error while compiling channelArchiver2.x Kay-Uwe Kasemir
- Next:
Re: Problem with e_flex in base Andrew Johnson
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
<2006>
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|