EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: readline for iocSh
From: Rod Nussbaumer <[email protected]>
To: [email protected]
Date: Sun, 31 Oct 2010 13:15:40 -0700
Greeting, all.

All of the recent talk about readline support for the IOC shell has pointed out the apparent reason why my IOC doesn't have the customary commandline editing and history for my ARM CPU IOC. As I explored the setup, I saw that readline was not being used, and so I set about to get it installed.
On a Linux-x86 build host, using the cross-compiler I use for building EPICS, I built both the readline & curses libraries, and installed those in a suitable location on the build host. To the file base/configure/os/CONFIG_SITE.linux-x86.linux-arm_el, I added:


COMMANDLINE_LIBRARY = READLINE
LDLIBS_READLINE = -lreadline -lcurses
USR_LDFLAGS += -L $(GNU_DIR)/lib

$(GNU_DIR) points to the base of my cross compiler, and the readline & curses libs are installed there. When I then try to build the ARM IOC, the buuld fails with:


/usr1/local/aux/CrossDevel/arm-rn100707ctng170-linux-gnu/bin/arm-rn100707ctng170-linux-gnu-g++ -o softIoc
-L/usr1/local/epics/release/R3.14.10/base-arm/lib/linux-arm_el -Wl,-rpath,/usr1/local/epics/release/R3.14.10/base-arm/lib/linux-arm_el

-Wl,-rpath-link,/usr1/local/epics/release/R3.14.10/base-arm/lib/linux-arm_el

-L /usr1/local/aux/CrossDevel/arm-rn100707ctng170-linux-gnu/lib

-L/usr1/local/aux/CrossDevel/arm-rn100707ctng170-linux-gnu/arm-rn100707ctng170-linux-gnu/lib

softIoc_registerRecordDeviceDriver.o softMain.o
-lrecIoc -lsoftDevIoc -lmiscIoc -lrsrvIoc -ldbtoolsIoc -lasIoc -ldbIoc -lregistryIoc -ldbStaticIoc -lca -lCom


^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
NOTE: No -lreadline &/or -lcurses
> /usr1/local/aux/CrossDevel/arm-rn100707ctng170-linux-gnu/bin/../lib/gcc/arm-rn100707ctng170-linux-gnu/4.2.1/../../../../arm-rn100707ctng170-linux-gnu/bin/ld: warning: libreadline.so.6, needed by /usr1/local/epics/release/R3.14.10/base-arm/lib/linux-arm_el/librecIoc.so, not found (try using -rpath or -rpath-link)
/usr1/local/epics/release/R3.14.10/base-arm/lib/linux-arm_el/libCom.so: undefined reference to `stifle_history'
/usr1/local/epics/release/R3.14.10/base-arm/lib/linux-arm_el/libCom.so: undefined reference to `readline'
/usr1/local/epics/release/R3.14.10/base-arm/lib/linux-arm_el/libCom.so: undefined reference to `rl_insert'
/usr1/local/epics/release/R3.14.10/base-arm/lib/linux-arm_el/libCom.so: undefined reference to `add_history'
/usr1/local/epics/release/R3.14.10/base-arm/lib/linux-arm_el/libCom.so: undefined reference to `rl_bind_key'
collect2: ld returned 1 exit status

Using 'nm' I see that the undefined references would be satisfied by libreadline.so.


So the build isn't trying to link the readline or curses libraries. How do I make it do so? Will that be enough to get full commandline editing working in my IOC?

Thanks.

Rod Nussbaumer
ISAC Controls, TRIUMF
Vancouver, Canada


Navigate by Date:
Prev: Re: Attention, poll: Who needs the sequencer's pv layer? Stephen Lewis
Next: Adding readback zeroing to an asyn analog input Angus Gratton
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: problem with MCA module (Struck 3820 board), ACQUIRING command Mark Rivers
Next: Adding readback zeroing to an asyn analog input Angus Gratton
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Oct 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·