Subject: |
Building Epics R3.12 |
From: |
[email protected] (Nick Rees) |
Date: |
Thu, 16 Feb 95 08:48:50 HST |
I have just finished building Epics base and I thought others might be
interested in my experiences. I would also appreciate feedback on the
viability or likelyhood of my long term fix suggestions.
Configuration:
Epics release: 3.12.0 Beta 1 (the release Bob got last Monday)
Host: Sun IPX running SunOS 4.1.3
Host ANSI compiler: gcc 2.5.7
Host trad compiler: cc
Target: Force CPU-30 running VxWorks 5.1.1
Compiler: gcc 2.2.3 (current VxWorks release).
The main problems I had were:
1. Couldn't find cc68k.
The build always refers to the VxWorks compiler executables via an
absolute path, rooted in $(VX_DIR). Over the past few years Wind
River has tried to discourage this practice and so their default
installation procedures suggest creating a separate tree for the
GNU tools.
Short term fix: Changed VX_GNU_BIN and VX_GNU_LIB in CONFIG_COMMON.
Long term fix: Why not just use the users $PATH to find cc68k etc?
Alternatively have a VX_GNU_LIB defined in CONFIG_SITE.
2. Sun does not have all ANSI C functions (unless you buy acc).
base/src/db/dbStaticLib refers to strtoul twice.
base/src/ca/*.c refers to strerror a number of times.
Short term fix: I created a short library (libANSI.a) of ANSI-like
functions and added -lANSI to the LDLIBS
definition in CONFIG.Unix.sun4.
Long term fix: Does anyone know whether these missing functions
are available on the net somewhere?
3. CONFIG.Unix.sun4 doesn't include the math libraries in the load path
CONFIG.Unix.alpha and CONFIG.Unix.hp700 include -lm in their definition
of LDLIBS. CONFIG.Unix.sun4 doesn't, but I found I needed it. (This may
be because I don't use acc).
Short term fix: Include -lm in LDLIBS definition in CONFIG.Unix.sun4.
Long term fix: There is a variable UNIX_LBLIBS referred to in all the
files CONFIG.Unix.*, but I can't find it defined anywhere.
Is this the sort of thing this is for?
4. bldDrvSup fails if there are no drivers defined.
It may be just that I am an Astronomy site, but we are initially not
interested in any of the supplied hardware drivers. Thus I commented
references to them all out. This caused bldDrvSup to fail. I would
not be concerned about this but at the consortium meeting it was
suggested that this be the default way to ship Epics (and I
wholeheatedly support the suggestion).
Short term fix: I included a token driver.
Long term fix: Fix bldDrvSup to work even if there are no drivers.
5. Some external variables are undeclared in the sequencer code.
Andy seems to have adopted declaring external variables separately
for every function, but has missed some functions out. I presume other
compilers have worked since the variables are all pointers, but are
defaulting to int's and on our 32 bit machines everything still
works.
The cases in point are:
src_file in function pp_code in file parse.c
ss_list in function reconcile_states in file phase2.c
async_opt,
debug_opt,
reent_opt,
conn_opt,
newef_opt in function encode_options in file gen_tables.c
6. choiceRec.ascii needs to be edited if you are removing records.
This is just a documentation problem. Blindly following section 2 of
chapter 7 of the S/R control manual means you forget about this
file. It should be added to the list of files in the fifth step.
After all that, I would like to say that I feel that the whole system
is a lot nicer and more logically put together than 3.11. I
particularly like CVS/rcs, and since this is my first experience with
it, this implies the learning curve is steep and pleasant! A big two
thumbs up to all those who have worked hard on getting the release to
this stage. Just a bit more to go folks...
I will attempt to document be forthcoming experiences with extensions...
Nick Rees
Joint Astronomy Centre Ph: +1 (808) 961-3756
660 N. Aohoku Place Fax: +1 (808) 961-6516
Hilo, HI. 96720 Internet: [email protected]
- Navigate by Date:
- Prev:
Re: EPICS 3.12 questions Marty Kraimer
- Next:
Re: Building Epics R3.12 Nick Rees
- 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: EPICS 3.12 questions Marty Kraimer
- Next:
Re: Building Epics R3.12 Nick Rees
- 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
|