Experimental Physics and Industrial Control System
I changed CONFIG_SITE.cygwin-x86.cygwin-x86-debug to have the line
COMMANDLINE_LIBRARY=READLINE
That caused the application to be built using the readline library, which is apparently not the default for this arch in the distributed version of base 3.14.11. The application then works fine, it does not hang waiting for console input.
There appears to be a serious bug in the implementation of console input when NOT using readline. I would be surprised if this bug only affects cygwin-x86-debug, since that arch is very similar to normal cygwin-x86. Has anyone tested not using readline on cygwin-x86, linux-x86 or other archs?
Mark
________________________________
From: Mark Rivers
Sent: Fri 10/29/2010 6:44 PM
To: Mark Rivers; Andrew Johnson
Cc: [email protected]; [email protected]
Subject: RE: cygin-x86-debug behavior
I just built base with COMMANDLINE_LIBRARY=EPICS for cygwin-x86-debug. I get the same behavior as without setting this:
- readline does not seem to be running, i.e. I cannot recall my last line, etc.
- The IOC hangs waiting for input from the console. I can press a button in medm and nothing happens until I hit CR on the console a bunch of times.
Note that even without setting the COMMANDLINE_LIBRARY flag readline is not being used on this architecture. I will next try setting COMMANDLINE_LIBRARY=READLINE to explicitly turn it on and see if that fixes the problem.
Mark
________________________________
From: Mark Rivers
Sent: Fri 10/29/2010 6:35 PM
To: Andrew Johnson
Cc: [email protected]; [email protected]
Subject: RE: cygin-x86-debug behavior
I just looked carefully at the build output before I made any changes to base. I am building cyginx-86-debug as a cross-compile of cygwin-x86, since this is what is supported in base 4.11.
Here is the output when it builds for cygwin-x86. Note that it is linking with readline and curses.
g++ -o dxpApp.exe -static -Lj:/epics/devel/dxp-3-0_handel_1_1_4/lib/cygwin-x86 -L/corvette/home/epics/devel/areaDetector-1-6/lib/cygwin-x86
-L/corvette/home/epics/devel/asyn-4-14/lib/cygwin-x86 -L/corvette/home/epics/devel/autosave-4-7/lib/cygwin-x86 -L/corvette/home/epics/devel/
busy-1-2/lib/cygwin-x86 -L/corvette/home/epics/devel/calc-2-8/lib/cygwin-x86 -L/corvette/home/epics/devel/mca-6-12-1/lib/cygwin-x86 -L/corve
tte/home/epics/devel/seq-2-0-12/lib/cygwin-x86 -L/corvette/home/epics/devel/sscan-2-6-6/lib/cygwin-x86 -L/corvette/usr/local/epics/base-3.14
.11/lib/cygwin-x86 -m32 dxpMain.o dxp_registerRecordDeviceDriver.o -ldxp -lhandel -lmca -lasyn -lcalc -lsscan -lautos
ave -lbusy -lseq -lpv -lrecIoc -lsoftDevIoc -lmiscIoc -lrsrvIoc -ldbtoolsIoc -lasIoc -ldbIoc -lregistryIoc -ldbStaticIoc -lca -lCom -lNDPlug
in -lADBase -lnetCDF -lcalc -lbusy -lsscan -lautosave -lmca -lasyn -lrecIoc -lsoftDevIoc -lmiscIoc -lrsrvIoc -ldbtoolsIoc -lasIoc -ldbIoc -l
registryIoc -ldbStaticIoc -lca -lCom -llibNeXus.dll -llibGraphicsMagick++ -llibGraphicsMagickWand -llibGraphicsMagick -lliblcms -llibpng14 -
llibbz2 -llibfreetype -llibtiff -llibjpeg -llibjbig -llibz -llibxml2.dll -lDLPORTIO -lPlxApi -lsetupapi -ltirpc -ltirpc -lGdi32 -lpthread
-lreadline -lcurses -lm
Here is the output when it builds for cygwin-x86-debug. Note that it is NOT linking with readline and curses, but I have done nothing in my base configuration to turn off readline.
g++ -o dxpApp.exe -static -Lj:/epics/devel/dxp-3-0_handel_1_1_4/lib/cygwin-x86-debug -L/corvette/home/epics/devel/areaDetector-1-6/lib/cygwi
n-x86-debug -L/corvette/home/epics/devel/asyn-4-14/lib/cygwin-x86-debug -L/corvette/home/epics/devel/autosave-4-7/lib/cygwin-x86-debug -L/co
rvette/home/epics/devel/busy-1-2/lib/cygwin-x86-debug -L/corvette/home/epics/devel/calc-2-8/lib/cygwin-x86-debug -L/corvette/home/epics/deve
l/mca-6-12-1/lib/cygwin-x86-debug -L/corvette/home/epics/devel/seq-2-0-12/lib/cygwin-x86-debug -L/corvette/home/epics/devel/sscan-2-6-6/lib/
cygwin-x86-debug -L/corvette/usr/local/epics/base-3.14.11/lib/cygwin-x86-debug -m32 dxpMain.o dxp_registerRecordDeviceDr
iver.o -ldxp -lhandel -lmca -lasyn -lcalc -lsscan -lautosave -lbusy -lseq -lpv -lrecIoc -lsoftDevIoc -lmiscIoc -lrsrvIoc -ldbtoolsIoc -la
sIoc -ldbIoc -lregistryIoc -ldbStaticIoc -lca -lCom -lNDPlugin -lADBase -lnetCDF -lcalc -lbusy -lsscan -lautosave -lmca -lasyn -lrecIoc -lso
ftDevIoc -lmiscIoc -lrsrvIoc -ldbtoolsIoc -lasIoc -ldbIoc -lregistryIoc -ldbStaticIoc -lca -lCom -llibNeXus.dll -llibGraphicsMagick++ -llibG
raphicsMagickWand -llibGraphicsMagick -lliblcms -llibpng14 -llibbz2 -llibfreetype -llibtiff -llibjpeg -llibjbig -llibz -llibxml2.dll -lDLPO
RTIO -lPlxApi -lsetupapi -ltirpc -ltirpc -lGdi32 -lpthread -lm
So maybe the problem is the opposite of what I thought, and readline is not being use and that is causing the problem?
Mark
________________________________
From: Andrew Johnson [mailto:[email protected]]
Sent: Fri 10/29/2010 5:40 PM
To: Mark Rivers
Cc: [email protected]; [email protected]
Subject: Re: cygin-x86-debug behavior
On Friday 29 October 2010 17:21:05 Mark Rivers wrote:
> I was about to add the flag
>
> COMMANDLINE_LIBRARY = EPICS
>
> to CONFIG_SITE.cygwin-x86.cygwin-x86-debug.
>
> If I do that how much of base do I need to rebuild?
I think just libCom. It will then want to re-link all of its executables in
the other directories, but I don't think it's essential that it do that.
Good luck, I have to leave now.
- Andrew
--
If a man is offered a fact which goes against his instincts, he will
scrutinize it closely, and unless the evidence is overwhelming, he will
refuse to believe it. If, on the other hand, he is offered something
which affords a reason for acting in accordance to his instincts, he
will accept it even on the slightest evidence. -- Bertrand Russell
- Replies:
- Re: cygin-x86-debug behavior Eric Norum
- Re: cygin-x86-debug behavior Eric Norum
- References:
- cygin-x86-debug behavior Mark Rivers
- Re: cygin-x86-debug behavior Andrew Johnson
- RE: cygin-x86-debug behavior Mark Rivers
- Re: cygin-x86-debug behavior Andrew Johnson
- RE: cygin-x86-debug behavior Mark Rivers
- RE: cygin-x86-debug behavior Mark Rivers
- Navigate by Date:
- Prev:
RE: problem with MCA module (Struck 3820 board), ACQUIRING command Mark Rivers
- Next:
Re: cygin-x86-debug behavior Eric Norum
- 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: cygin-x86-debug behavior Mark Rivers
- Next:
Re: cygin-x86-debug behavior Eric Norum
- 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