EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  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  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: sequencer under linux questions
From: "Mark Rivers" <[email protected]>
To: "Dennis Nicklaus" <[email protected]>, <[email protected]>
Date: Fri, 28 Jul 2006 16:45:30 -0500
Hi Dennis,

What version of EPICS and what version of seq are you using?

I just tested it with EPICS 3.14.8.2 and seq 2-0-11 and it worked OK
after editing configure/RELEASE and making a couple of edits to the
st.cmd in the iocBoot directory.

Here is what I did:

corvette> makeBaseApp.pl -t example example
corvette> makeBaseApp.pl -i -t ioc example
The following target architectures are available in base:
    linux-x86
    vxWorks-68040
    vxWorks-ppc604
    vxWorks-ppc603
    win32-x86
    cygwin-x86
What architecture do you want to use? linux-x86
The following applications are available:
    example
What application should the IOC(s) boot?
The default uses the IOC's name, even if not listed above.
Application name? example

corvette> vi configure/RELEASE 
#RELEASE Location of external products
# Run "gnumake clean uninstall install" in the application
# top directory each time this file is changed.
#
# NOTE: The build does not check dependancies on files
# external to this application. Thus you should run
# "gnumake clean uninstall install" in the top directory
# each time EPICS_BASE, SNCSEQ, or any other external
# module defined in the RELEASE file is rebuilt.

TEMPLATE_TOP=$(EPICS_BASE)/templates/makeBaseApp/top

# If you don't want to install into $(TOP) then
# define INSTALL_LOCATION_APP here
#INSTALL_LOCATION_APP=<fullpathname>

#If using the sequencer, point SNCSEQ at its top directory:
SNCSEQ=/home/epics/devel/seq/2-0-11

# EPICS_BASE usually appears last so other apps can override stuff:
EPICS_BASE=/usr/local/epics/base

#Capfast users may need the following definitions
#CAPFAST_TEMPLATES=
#SCH2EDIF_PATH=


corvette> make
make -C configure install
make[1]: Entering directory `/home/epics/devel/example/configure'
perl /usr/local/epics/base/configure/tools/convertRelease.pl -h
linux-x86 checkRelease
perl /usr/local/epics/base/configure/tools/makeMakefile.pl O.linux-x86
../..
perl /usr/local/epics/base/configure/tools/makeMakefile.pl
O.vxWorks-68040 ../..
perl /usr/local/epics/base/configure/tools/makeMakefile.pl
O.vxWorks-ppc604 ../..
perl /usr/local/epics/base/configure/tools/makeMakefile.pl
O.vxWorks-ppc603 ../..
mkdir O.Common
make -C O.linux-x86 -f ../Makefile TOP=../.. T_A=linux-x86 install
make[2]: Entering directory
`/home/epics/devel/example/configure/O.linux-x86'
perl /usr/local/epics/base/configure/tools/convertRelease.pl -h
linux-x86 CONFIG_APP_INCLUDE
perl /usr/local/epics/base/configure/tools/convertRelease.pl -h
linux-x86 RULES_INCLUDE
make[2]: Leaving directory
`/home/epics/devel/example/configure/O.linux-x86'
make -C O.vxWorks-68040 -f ../Makefile TOP=../.. T_A=vxWorks-68040
install
make[2]: Entering directory
`/home/epics/devel/example/configure/O.vxWorks-68040'
perl /usr/local/epics/base/configure/tools/convertRelease.pl -h
linux-x86 CONFIG_APP_INCLUDE
perl /usr/local/epics/base/configure/tools/convertRelease.pl -h
linux-x86 RULES_INCLUDE
make[2]: Leaving directory
`/home/epics/devel/example/configure/O.vxWorks-68040'
make -C O.vxWorks-ppc604 -f ../Makefile TOP=../.. T_A=vxWorks-ppc604
install
make[2]: Entering directory
`/home/epics/devel/example/configure/O.vxWorks-ppc604'
perl /usr/local/epics/base/configure/tools/convertRelease.pl -h
linux-x86 CONFIG_APP_INCLUDE
perl /usr/local/epics/base/configure/tools/convertRelease.pl -h
linux-x86 RULES_INCLUDE
make[2]: Leaving directory
`/home/epics/devel/example/configure/O.vxWorks-ppc604'
make -C O.vxWorks-ppc603 -f ../Makefile TOP=../.. T_A=vxWorks-ppc603
install
make[2]: Entering directory
`/home/epics/devel/example/configure/O.vxWorks-ppc603'
perl /usr/local/epics/base/configure/tools/convertRelease.pl -h
linux-x86 CONFIG_APP_INCLUDE
perl /usr/local/epics/base/configure/tools/convertRelease.pl -h
linux-x86 RULES_INCLUDE
make[2]: Leaving directory
`/home/epics/devel/example/configure/O.vxWorks-ppc603'
make[1]: Leaving directory `/home/epics/devel/example/configure'
make -C exampleApp install
make[1]: Entering directory `/home/epics/devel/example/exampleApp'
make -C src install
make[2]: Entering directory `/home/epics/devel/example/exampleApp/src'
perl /usr/local/epics/base/configure/tools/makeMakefile.pl O.linux-x86
../../..
perl /usr/local/epics/base/configure/tools/makeMakefile.pl
O.vxWorks-68040 ../../..
perl /usr/local/epics/base/configure/tools/makeMakefile.pl
O.vxWorks-ppc604 ../../..
perl /usr/local/epics/base/configure/tools/makeMakefile.pl
O.vxWorks-ppc603 ../../..
mkdir O.Common
make -C O.linux-x86 -f ../Makefile TOP=../../.. T_A=linux-x86 install
make[3]: Entering directory
`/home/epics/devel/example/exampleApp/src/O.linux-x86'
make[3]: Leaving directory
`/home/epics/devel/example/exampleApp/src/O.linux-x86'
make[3]: Entering directory
`/home/epics/devel/example/exampleApp/src/O.linux-x86'
perl /usr/local/epics/base/configure/tools/makeIncludeDbd.pl base.dbd
xxxSupport.dbd dbSubExample.dbd exampleHello.dbd sncExample.dbd
../O.Common/exampleInclude.dbd
Expanding dbd
/usr/local/epics/base/bin/linux-x86/dbExpand  -I . -I .. -I ../../../dbd
-I /home/epics/devel/seq/2-0-11/dbd -I /usr/local/epics/base/dbd -o
../O.Common/example.dbd ../O.Common/exampleInclude.dbd
Installing dbd file ../../../dbd/xxxSupport.dbd
mkdir ../../../dbd
Installing dbd file ../../../dbd/example.dbd
Installing dbd file ../../../dbd/xxxRecord.dbd
/usr/local/epics/base/bin/linux-x86/dbToRecordtypeH  -I . -I .. -I
../../../dbd -I /home/epics/devel/seq/2-0-11/dbd -I
/usr/local/epics/base/dbd  ../xxxRecord.dbd ../O.Common/xxxRecord.h
Installing generated generic include file ../../../include/xxxRecord.h
mkdir ../../../include
/usr/bin/gcc -c   -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS
-D_XOPEN_SOURCE=500        -D_X86_  -DUNIX  -D_BSD_SOURCE -Dlinux
-D_REENTRANT -ansi  -O3  -Wall          -g -fPIC -I. -I..
-I../../../include/os/Linux -I../../../include
-I/home/epics/devel/seq/2-0-11/include/os/Linux
-I/home/epics/devel/seq/2-0-11/include
-I/usr/local/epics/base/include/os/Linux -I/usr/local/epics/base/include
../xxxRecord.c 
/usr/bin/gcc -c   -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS
-D_XOPEN_SOURCE=500        -D_X86_  -DUNIX  -D_BSD_SOURCE -Dlinux
-D_REENTRANT -ansi  -O3  -Wall          -g -fPIC -I. -I..
-I../../../include/os/Linux -I../../../include
-I/home/epics/devel/seq/2-0-11/include/os/Linux
-I/home/epics/devel/seq/2-0-11/include
-I/usr/local/epics/base/include/os/Linux -I/usr/local/epics/base/include
../devXxxSoft.c 
/usr/bin/ar -rc   libxxxSupport.a      xxxRecord.o devXxxSoft.o 
/usr/bin/ranlib libxxxSupport.a
Installing library ../../../lib/linux-x86/libxxxSupport.a
mkdir ../../../lib
mkdir ../../../lib/linux-x86
/usr/bin/ranlib ../../../lib/linux-x86/libxxxSupport.a
/usr/bin/g++ -o libxxxSupport.so -shared -fPIC
-L/usr/local/epics/base/lib/linux-x86/
-Wl,-rpath,/home/epics/devel/example/lib/linux-x86
-Wl,-rpath,/home/epics/devel/seq/2-0-11/lib/linux-x86
-Wl,-rpath,/usr/local/epics/base/lib/linux-x86        xxxRecord.o
devXxxSoft.o    -lrecIoc -lsoftDevIoc -liocsh -lmiscIoc -lrsrvIoc
-ldbtoolsIoc -lasIoc -ldbIoc -lregistryIoc -ldbStaticIoc -lca -lCom
-lpthread   -lreadline -lcurses -lm -lrt -lgcc
Installing shared library ../../../lib/linux-x86/libxxxSupport.so
preprocessing ../sncProgram.st
/usr/bin/gcc -x c -E   -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS
-D_XOPEN_SOURCE=500        -D_X86_  -DUNIX  -D_BSD_SOURCE -Dlinux
-D_REENTRANT -I. -I.. -I../../../include/os/Linux -I../../../include
-I/home/epics/devel/seq/2-0-11/include/os/Linux
-I/home/epics/devel/seq/2-0-11/include
-I/usr/local/epics/base/include/os/Linux -I/usr/local/epics/base/include
../sncProgram.st > sncProgram.i
converting sncProgram.i
/home/epics/devel/seq/2-0-11/bin/linux-x86/snc +m   sncProgram.i -o
sncProgram.c.tmp
mv sncProgram.c.tmp sncProgram.c
/usr/bin/gcc -c   -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS
-D_XOPEN_SOURCE=500        -D_X86_  -DUNIX  -D_BSD_SOURCE -Dlinux
-D_REENTRANT -ansi  -O3  -Wall          -g  -I. -I..
-I../../../include/os/Linux -I../../../include
-I/home/epics/devel/seq/2-0-11/include/os/Linux
-I/home/epics/devel/seq/2-0-11/include
-I/usr/local/epics/base/include/os/Linux -I/usr/local/epics/base/include
sncProgram.c 
/usr/bin/g++ -o sncProgram
-L/home/epics/devel/seq/2-0-11/lib/linux-x86/
-L/usr/local/epics/base/lib/linux-x86/
-Wl,-rpath,/home/epics/devel/example/lib/linux-x86
-Wl,-rpath,/home/epics/devel/seq/2-0-11/lib/linux-x86
-Wl,-rpath,/usr/local/epics/base/lib/linux-x86        sncProgram.o
-lseq -lpv -lcas -lgdd -liocsh -lasHost -ldbStaticHost -lregistryIoc
-lca -lCom 
perl /usr/local/epics/base/bin/linux-x86/registerRecordDeviceDriver.pl
../O.Common/example.dbd example_registerRecordDeviceDriver > temp.cpp
mv temp.cpp example_registerRecordDeviceDriver.cpp
/usr/bin/g++ -c   -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS
-D_XOPEN_SOURCE=500        -D_X86_  -DUNIX  -D_BSD_SOURCE -Dlinux
-D_REENTRANT -ansi  -O3  -Wall          -g  -I. -I..
-I../../../include/os/Linux -I../../../include
-I/home/epics/devel/seq/2-0-11/include/os/Linux
-I/home/epics/devel/seq/2-0-11/include
-I/usr/local/epics/base/include/os/Linux -I/usr/local/epics/base/include
example_registerRecordDeviceDriver.cpp 
/usr/bin/gcc -c   -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS
-D_XOPEN_SOURCE=500        -D_X86_  -DUNIX  -D_BSD_SOURCE -Dlinux
-D_REENTRANT -ansi  -O3  -Wall          -g  -I. -I..
-I../../../include/os/Linux -I../../../include
-I/home/epics/devel/seq/2-0-11/include/os/Linux
-I/home/epics/devel/seq/2-0-11/include
-I/usr/local/epics/base/include/os/Linux -I/usr/local/epics/base/include
../dbSubExample.c 
/usr/bin/gcc -c   -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS
-D_XOPEN_SOURCE=500        -D_X86_  -DUNIX  -D_BSD_SOURCE -Dlinux
-D_REENTRANT -ansi  -O3  -Wall          -g  -I. -I..
-I../../../include/os/Linux -I../../../include
-I/home/epics/devel/seq/2-0-11/include/os/Linux
-I/home/epics/devel/seq/2-0-11/include
-I/usr/local/epics/base/include/os/Linux -I/usr/local/epics/base/include
../exampleHello.c 
converting ../sncExample.stt 
/home/epics/devel/seq/2-0-11/bin/linux-x86/snc    ../sncExample.stt -o
sncExample.c.tmp
mv sncExample.c.tmp sncExample.c
/usr/bin/gcc -c   -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS
-D_XOPEN_SOURCE=500        -D_X86_  -DUNIX  -D_BSD_SOURCE -Dlinux
-D_REENTRANT -ansi  -O3  -Wall          -g  -I. -I..
-I../../../include/os/Linux -I../../../include
-I/home/epics/devel/seq/2-0-11/include/os/Linux
-I/home/epics/devel/seq/2-0-11/include
-I/usr/local/epics/base/include/os/Linux -I/usr/local/epics/base/include
sncExample.c 
/usr/bin/g++ -c   -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS
-D_XOPEN_SOURCE=500        -D_X86_  -DUNIX  -D_BSD_SOURCE -Dlinux
-D_REENTRANT -ansi  -O3  -Wall          -g  -I. -I..
-I../../../include/os/Linux -I../../../include
-I/home/epics/devel/seq/2-0-11/include/os/Linux
-I/home/epics/devel/seq/2-0-11/include
-I/usr/local/epics/base/include/os/Linux -I/usr/local/epics/base/include
../exampleMain.cpp 
/usr/bin/g++ -o example  -L../../../lib/linux-x86//
-L/home/epics/devel/seq/2-0-11/lib/linux-x86/
-L/usr/local/epics/base/lib/linux-x86/
-Wl,-rpath,/home/epics/devel/example/lib/linux-x86
-Wl,-rpath,/home/epics/devel/seq/2-0-11/lib/linux-x86
-Wl,-rpath,/usr/local/epics/base/lib/linux-x86
example_registerRecordDeviceDriver.o dbSubExample.o exampleHello.o
sncExample.o exampleMain.o    -lxxxSupport -lseq -lpv -lrecIoc
-lsoftDevIoc -liocsh -lmiscIoc -lrsrvIoc -ldbtoolsIoc -lasIoc -ldbIoc
-lregistryIoc -ldbStaticIoc -lca -lCom 
Installing binary ../../../bin/linux-x86/sncProgram
mkdir ../../../bin
mkdir ../../../bin/linux-x86
Installing binary ../../../bin/linux-x86/example
make[3]: Leaving directory
`/home/epics/devel/example/exampleApp/src/O.linux-x86'
make -C Db install
make[2]: Entering directory `/home/epics/devel/example/exampleApp/Db'
perl /usr/local/epics/base/configure/tools/makeMakefile.pl O.linux-x86
../../..
perl /usr/local/epics/base/configure/tools/makeMakefile.pl
O.vxWorks-68040 ../../..
perl /usr/local/epics/base/configure/tools/makeMakefile.pl
O.vxWorks-ppc604 ../../..
perl /usr/local/epics/base/configure/tools/makeMakefile.pl
O.vxWorks-ppc603 ../../..
mkdir O.Common
make -C O.linux-x86 -f ../Makefile TOP=../../.. T_A=linux-x86 install
make[3]: Entering directory
`/home/epics/devel/example/exampleApp/Db/O.linux-x86'
Installing db file ../../../db/dbExample1.db
mkdir ../../../db
Installing db file ../../../db/dbExample2.db
Installing db file ../../../db/dbSubExample.db
make[3]: Leaving directory
`/home/epics/devel/example/exampleApp/Db/O.linux-x86'
make -C O.vxWorks-68040 -f ../Makefile TOP=../../.. T_A=vxWorks-68040
install
make[3]: Entering directory
`/home/epics/devel/example/exampleApp/Db/O.vxWorks-68040'
make[3]: Nothing to be done for `install'.
make[3]: Leaving directory
`/home/epics/devel/example/exampleApp/Db/O.vxWorks-68040'
make -C O.vxWorks-ppc604 -f ../Makefile TOP=../../.. T_A=vxWorks-ppc604
install
make[3]: Entering directory
`/home/epics/devel/example/exampleApp/Db/O.vxWorks-ppc604'
make[3]: Nothing to be done for `install'.
make[3]: Leaving directory
`/home/epics/devel/example/exampleApp/Db/O.vxWorks-ppc604'
make -C O.vxWorks-ppc603 -f ../Makefile TOP=../../.. T_A=vxWorks-ppc603
install
make[3]: Entering directory
`/home/epics/devel/example/exampleApp/Db/O.vxWorks-ppc603'
make[3]: Nothing to be done for `install'.
make[3]: Leaving directory
`/home/epics/devel/example/exampleApp/Db/O.vxWorks-ppc603'
make[2]: Leaving directory `/home/epics/devel/example/exampleApp/Db'
make[1]: Leaving directory `/home/epics/devel/example/exampleApp'
make -C iocBoot install
make[1]: Entering directory `/home/epics/devel/example/iocBoot'
make -C iocexample install
make[2]: Entering directory
`/home/epics/devel/example/iocBoot/iocexample'
perl /usr/local/epics/base/configure/tools/convertRelease.pl -a
linux-x86 envPaths
make[2]: Leaving directory
`/home/epics/devel/example/iocBoot/iocexample'
make[1]: Leaving directory `/home/epics/devel/example/iocBoot'


corvette> cd iocBoot/iocexample/
/home/epics/devel/example/iocBoot/iocexample

corvette> vi st.cmd
#!../../bin/linux-x86/example

## You may have to change example to something else
## everywhere it appears in this file

#< envPaths

## Register all support components
dbLoadDatabase("../../dbd/example.dbd",0,0)
example_registerRecordDeviceDriver(pdbbase)

## Load record instances
dbLoadRecords("../../db/dbExample1.db","user=epics")

iocInit()

## Start any sequence programs
seq sncExample,"user=epics"
~
"st.cmd" 18L, 409C written


corvette> ../../bin/linux-x86/example st.cmd
#!../../bin/linux-x86/example
## You may have to change example to something else
## everywhere it appears in this file
#< envPaths
## Register all support components
dbLoadDatabase("../../dbd/example.dbd",0,0)
example_registerRecordDeviceDriver(pdbbase) 
## Load record instances
dbLoadRecords("../../db/dbExample1.db","user=epics")
iocInit()
Starting iocInit
########################################################################
####
###  EPICS IOC CORE built on Apr 21 2006
###  EPICS R3.14.8.2 $R3-14-8-2$ $2006/01/06 15:55:13$
########################################################################
####
iocInit: All initialization complete
## Start any sequence programs
seq sncExample,"user=epics"
SEQ Version 2.0.11: Thu Apr 20 14:52:16 2006
Spawning state program "sncExample", thread 0x80c9620: "sncExample"
epics> seqShow
Program Name     Thread ID  Thread Name      SS Name

sncExample       0x80c9620  sncExample       ss1             


Mark Rivers



> -----Original Message-----
> From: Dennis Nicklaus [mailto:[email protected]] 
> Sent: Friday, July 28, 2006 1:54 PM
> To: [email protected]
> Subject: sequencer under linux questions
> 
> I've tried to build a SNL/sequencer application under linux 
> in both ways 
> suggested in the
> directions in the Makefile, and I seem to be one bit of 
> directions short 
> in either way.
> If I build it as a component of my application, then how do I run it?
> 
> For this, I uncomment these lines in the Makefile
> ESG_SRCS += sncExample.stt
> ESG_LIBS += seq pv
> (my application is ESG)
> and get things to build, but then after I run st.cmd and am at the 
> "epics>" prompt of iocsh,
> what command do I give to run the sequence?
> None of  seq, sncExample, seqShow,... work. They just give me 
> a "Command 
> Not Found" message.
> 
> "nm" verifies that the sncExample  symbol is there, along with some 
> related othes
> 0804c020 d seqChan
>        U seq_delay
>        U seq_delayInit
>        U seqRegisterSequencerCommands
>        U seqRegisterSequencerProgram
> 0804c0a0 d seqSS
> 0804c0c0 D sncExample
> 0804af54 T sncExampleRegistrar
> 0804a73c T _start
> 0804c060 d state_ss1
> 
> 
> If I alter the Makefile and make it standalone, I get a 
> complaint that 
> there is no "main()"
> routine, as shown below.  Where do I pick up a main() from?
> 
> 
> $ make
> make -C O.linux-x86 -f ../Makefile TOP=../../.. T_A=linux-x86 install
> make[1]: Entering directory 
> `/mnt/disk1/p/epics/support/agilentsg/ESGApp/src/O.linux-x86'
> /usr/bin/g++ -o sncExample  -L/p/epics/support/seq/lib/linux-x86/ 
> -L/p/epics/v3_14_8_f2/lib/linux-x86/         
> -Wl,-rpath,/mnt/disk1/p/epics/support/agilentsg/lib/linux-x86 
> -Wl,-rpath,/p/epics/support/seq/lib/linux-x86 
> -Wl,-rpath,/p/epics/support/asyn/4-6/lib/linux-x86 
> -Wl,-rpath,/p/epics/v3_14_8_f2/lib/linux-x86        sncExample.o    
> -lseq -lpv -lcas -lgdd -liocsh -lasHost -ldbStaticHost -lregistryIoc 
> -lca -lCom
> /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/../../../crt1.o(.text
> +0x18): In 
> function `_start':
> : undefined reference to `main'
> collect2: ld returned 1 exit status
> make[1]: *** [sncExample] Error 1
> 
> 
> Thanks,
> Dennis
> 
> 
> 


Navigate by Date:
Prev: Re: Moxa N-Port, ASYN and IOC Exit John William Sinclair
Next: Re: Could not connect to EPICS home most of the time Aravamuthan Govindan
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: sequencer under linux questions Dennis Nicklaus
Next: incorrect time stamp for one record in an IOC Geoff Savage
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024