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  2010  2011  2012  <20132014  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  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Generating a loadable module for cexp (epics 3.14.12.3)
From: Sue Witherspoon <[email protected]>
To: [email protected]
Date: Wed, 25 Sep 2013 16:34:46 -0400
Thank you Till and Michael,
   Both suggestions fixed my problem!
-Sue
On 09/20/2013 09:13 PM, Michael Davidsaver wrote:
This is what we use.  Tested with EPICS 3.14.11 and 3.14.12.3 w/ RTEMS
4.9.3.

https://raw.github.com/epicsdeb/epics-base/master/debian/patches/0012-rtems-build-gesys-loadable-objects.patch

On 09/20/13 12:10, Till Straumann wrote:
Your basic approach is correct. You'll just have to massage OP_SYS_LDFLAGS
and OP_SYS_LDLIBS at the right places. IIRC the structure of the EPICS
makefiles has changed (i.e. the order in which the different generic, host-
and target- specific CONFIG files are included). IIRC I set in

os/CONFIG.$(EPICS_HOST_ARCH).$(T_A):

OP_SYS_LDLIBS=
OP_SYS_LDFLAGS=$(CPU_CFLAGS) -Wl,-r -nostdlib

HTH
- Till

On 09/19/2013 02:33 PM, Sue Witherspoon wrote:
Hi,
      I've been using cexp for rtems 4.9.2, epics version 3.14.11 for some
time now with little problem. Recently, I tried rebuilding
my application using epics version 3.14.12.3. The build was successful
with no errors but when I load the cexp module I get
pages of load errors ( ...already exists...). See below.
     What changed in the build process? Is there a fix for it? I did have
a similar problem when I added the 'devIocStats' library to
my epics 3.14.11 application but adding the following to my Makefile
alleviated the problem.
#  ADD RULES AFTER THIS LINE
OP_SYS_LDLIBS = -g

Welcome to RTEMS GeSys
This system $Name:  $ was built on 20090323EDT11:17:38
$Id: init.c,v 1.42 2007-09-11 17:39:48 till Exp $
Installing TIOCGWINSZ line discipline: ok.
To skip initialization, press a key now...
Going to probe for Ethernet chips when initializing networking:
(supported are 3c509 (ISA), 3c90x (PCI) and eepro100 (PCI) variants).
NOTES:
    - Initializing a 3c90x may take a LONG time (~1min); PLUS: it NEEDS
media
      autonegotiation!
    - A BOOTP/DHCP server must supply my IF configuration
      (ip address, mask, [gateway, dns, ntp])
Ethernet address 0:E0:4B:2B:9E:E4
PCI IDs: 0x8086 0x1209 0x8086 0x70 0x10
Chip Type: 0
dec2114x : device 'dc1' not found on PCI bus
etherlink : No Etherlink devices found
3C509: attach() called.
3C509: isa_probe() looking for a card...
3C509: isa_probe() fail to find a board.
bootpc_init: using network interface 'fxp1'
bootpc hw address is 0:e0:4b:2b:9e:e4
My ip address is 129 .57 .228 .69
Domain Name Server is 129 .57 .228 .40
Domain Name Server is 129 .57 .32 .100
Ignoring BOOTP/DHCP option code 150
Time Server is 129 .57 .228 .40
Time Server is 129 .57 .32 .100
Domain name is acc.jlab.org
Server name is 129.57.228.40
Boot file is /cs/dvl/iocs/iocpct3/boot/pxegrub
Subnet mask is 255 .255 .252 .0
Server ip address is 129 .57 .228 .40
Gateway ip address is 129 .57 .228 .1
Log server ip address is 129 .57 .250 .11
This is RTEMS-RPCIOD Release $Name: R_rtems_nfs_1_5 $
($Id: rpcio.c,v 1.42 2007/06/12 04:47:25 strauman Exp $)

Till Straumann, Stanford/SLAC/SSRL 2002
See LICENSE file for licensing info
This is RTEMS-NFS Release $Name: R_rtems_nfs_1_5 $
($Id: nfs.c,v 1.48 2007/06/12 04:47:25 strauman Exp $)

Till Straumann, Stanford/SLAC/SSRL 2002
See LICENSE file for licensing info
Trying to synchronize NTP...OK
Trying to mount 129.57.228.40:/cs/dvl on /boot
Change Dir to '/boot/iocs/iocpct3/'
Trying symfile 'BUILTIN', system script 'st.sys'
Type 'cexpsh.help()' for help (no quotes)
'st.sys':
    # IOC: iocpct3
    # Location:
    ld    = cexpModuleLoad
0x00107054 (1077332)
    unld  = cexpModuleUnload
0x001079c8 (1079752)
    lsmod = cexpModuleInfo
0x00107fe0 (1081312)
    rtems_rpc_start_portmapper(50)
0x00000000 (0)
    #
    chdir ("/boot")
0x00000000 (0)
    < iocs/Gesys-Rtems/misc/mnt_cfg.init
<'iocs/Gesys-Rtems/misc/mnt_cfg.init':
      nfsMount("devfs.acc.jlab.org","/cs/dvl","/cs/dvl")
Trying to mount 129.57.228.40:/cs/dvl on /cs/dvl
0x00000000 (0)
      mkdir("/usr",0777)
0x00000000 (0)
      mkdir("/usr/llapp4",0777)
0x00000000 (0)
      nfsMount("devfs.acc.jlab.org","/usr/llapp4","/usr/llapp4")
Trying to mount 129.57.228.40:/usr/llapp4 on /usr/llapp4
0x00000000 (0)
    #
    # Define HOME to op area
    HOME = "/cs/dvl/iocs/iocpct3"
0x008d5ee0 (9264864)
    chdir (HOME)
0x00000000 (0)
    #
    ld("rtemsV/ioUtil.obj")
0x008d6020 (9265184)
    ld("rtemsV/miscUtils.obj")
0x008d8740 (9275200)
    ld("rtemsV/ntpclock.obj") && rtemsNtpInitialize(0,0)
Trying to contact NTP server; (timeout ~1min.)... OK
NTP synchro code initialized; this is EXPERIMENTAL
WARNING: High resolution clock not implemented for this CPU
           please contribute to <ntpNanoclock/pcc.h>
0x00000000 (0)
    setenv("TZ","EST5EDT,M 3.2.0,M 11.1.0",1)
0x00000000 (0)
    tzset()
0x00000000 (0)
    setenv("STARTUP","st.sys",1)
0x00000000 (0)
    setenv("ST_CMD","st.cmd",1)
0x00000000 (0)
    setenv("ENGINEER","withers",1)
0x00000000 (0)
    setenv("LOCATION","Hall A",1)
0x00000000 (0)
    sethostname("devfs",6)
0x00000000 (0)
    ansiTiocGwinszInstall(0)
0x00000000 (0)
    #####< st.cmd

Type 'cexpsh.help()' for help (no quotes)
Cexp><st.cmd
'st.cmd':
    ## Analogouse to startup.all
    ## You may have to change test to something else
    ## everywhere it appears in this file
    setenv("EPICS_CA_MAX_ARRAY_BYTES","100000")
0x00000000 (0)
    ##############################################
    # Load Application Executable (that used cexpModuleLoad)
    ##############################################
    <startup.iocpct3Apps.obj
<'startup.iocpct3Apps.obj':
      # IOC: <IOC_TAG>
      # APP: iocpct3Apps
      # First load (objects)

      iocpct3Apps_loaded=1
0x00000001 (1)

      # load module for <iocpct3Apps>
      #cexpModuleLoad("iocpct3AppsO/iocpct3Apps.obj")
      cexpModuleLoad("iocpct3AppsO/iocpct3Apps")
Symbol 'getch' already exists
Symbol 'console_read' already exists
Symbol 'BSP_install_rtems_irq_handler' already exists
Symbol 'finite' already exists
Symbol 'access_modes_assoc' already exists
Symbol 'herror' already exists
Symbol '__ieee754_log10' already exists
Symbol 'rt_ifmsg' already exists
Symbol 'MOU_Init' already exists
Symbol 'rtems_termios_dequeue_characters' already exists
Symbol 'rtems_libio_number_iops' already exists
Symbol '_Priority_Major_bit_map' already exists
Symbol 'rtems_gxx_key_delete' already exists
Symbol 'rip_ctloutput' already exists
Symbol 'rtems_task_create' already exists
Symbol '_Event_Sync_state' already exists
Symbol 'hard_math' already exists
Symbol '_TOD_Get' already exists
Symbol '_TOD_Get_uptime' already exists
Symbol '_ZN10__cxxabiv119__pointer_type_infoD1Ev' already exists
Symbol 'rtems_task_variable_add' already exists
Symbol 'in_localaddr' already exists
Symbol 'rn_addroute' already exists
Symbol '__fp_lock_all' already exists
Symbol '__p_time' already exists
Symbol 'sbflush' already exists
Symbol '_Bfree' already exists
Symbol '_ZNKSt9type_info15__is_function_pEv' already exists
Symbol '_ZNSt13runtime_errorC1ERKSs' already exists
Symbol 'rtems_libio_semaphore' already exists
Symbol 'pru_listen_notsupp' already exists
Symbol 'rtems_kbpoll' already exists
Symbol 'rewind' already exists
Symbol '_timezone' already exists
Symbol 'bind' already exists
Symbol '_Dual_ported_memory_Manager_initialization' already exists
Symbol 'rtems_exception_prologue_13' already exists
Symbol '_ZNSt10bad_typeidD2Ev' already exists
Symbol '__cxa_get_exception_ptr' already exists
Symbol '_Thread_Stack_Free' already exists
Symbol '_Objects_Get_name_as_string' already exists
Symbol '_Chain_Get' already exists
Symbol '__ns_name_ntop' already exists
Symbol 'tcp_keepinit' already exists
Symbol 'rtalloc_ign' already exists
Symbol '__hi0bits' already exists
Symbol 'printk' already exists
.
(pages of the same)
Symbol 'rtems_exception_prologue_17' already exists
Symbol 'tcp_mssdflt' already exists
Symbol 'udbinfo' already exists
Error creating symbol table
0x00000000 (0)



--
Sue Witherspoon
Staff Computer Scientist
Accelerator Controls Software
757-269-7579
Thomas Jefferson National Accelerator Facility


References:
Generating a loadable module for cexp (epics 3.14.12.3) Sue Witherspoon
Re: Generating a loadable module for cexp (epics 3.14.12.3) Till Straumann
Re: Generating a loadable module for cexp (epics 3.14.12.3) Michael Davidsaver

Navigate by Date:
Prev: Re: cleaning up at exit and waiting threads Benjamin Franksen
Next: String Read Vishnu Patel
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Generating a loadable module for cexp (epics 3.14.12.3) Michael Davidsaver
Next: EPICS base Installation Error- Need Help Vikas Kumthekar
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·