EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  <19951996  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  Index 1994  <19951996  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 
<== Date ==> <== Thread ==>

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  <19951996  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  <19951996  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 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·