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
<2006>
2007
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
<2006>
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|