Hi Pavel,
Yes, you should
remove the 2 lines from the tronixApp/Makefile and put them in
tronixApp/src/Makefile. You can run make from either directory, if you run it
from tronixApp it will go into src/, but then if it succeeds it will build
other directories as well.
Mark
From: Pavel Masloff
[mailto:[email protected]]
Sent: Monday, December 12, 2011
12:17 PM
To: Mark
Rivers
Cc: Eric Norum; EPICS Tech Talk
Subject: Re: Tektronix 3000/5000
oscilloscopes
Mark,
Here it is (tronixApp/src/Makefile):
TOP=../..
include $(TOP)/configure/CONFIG
#----------------------------------------
# ADD MACRO DEFINITIONS AFTER THIS LINE
#=============================
#=============================
# Build the IOC application
PROD_IOC = tronix
# tronix.dbd will be created and installed
DBD += tronix.dbd
# tronix.dbd will be made up from these files:
tronix_DBD += base.dbd
# Include dbd files from all support applications:
#tronix_DBD += xxx.dbd
# Add all the support libraries needed by this IOC
#tronix_LIBS += xxx
# tronix_registerRecordDeviceDriver.cpp derives from tronix.dbd
tronix_SRCS += tronix_registerRecordDeviceDriver.cpp
# Build the main IOC entry point on workstation OSs.
tronix_SRCS_DEFAULT += tronixMain.cpp
tronix_SRCS_vxWorks += -nil-
# Add support from base/src/vxWorks if needed
#tronix_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary
# Finally link to the EPICS Base libraries
tronix_LIBS += $(EPICS_BASE_IOC_LIBS)
#===========================
include $(TOP)/configure/RULES
#----------------------------------------
# ADD RULES AFTER THIS LINE
Mark, should i put these two lines again in tronixApp/src/Makefile? And then run make? From
which directory? apps/tronix/tronixApp/
? Or apps/tronix/tronixApp/src ?
Pavel
On Mon, Dec 12, 2011 at 9:12 PM, Mark Rivers
<[email protected]>
wrote:
Hi Pavel,
OK, I think your problem is that you have put those
lines in
apps/tronix/tronixApp/Makefile
but they need to be in
apps/tronix/tronixApp/src/Makefile
Please send the tronixApp/src/Makefile.
Mark
From: Pavel Masloff [mailto:[email protected]]
Sent: Monday, December 12, 2011
12:06 PM
To: Mark
Rivers
Cc: Eric Norum; EPICS Tech Talk
Subject: Re: Tektronix 3000/5000
oscilloscopes
Hey Mark,
TOP = ..
include $(TOP)/configure/CONFIG
DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *src*))
DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Src*))
DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *db*))
DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Db*))
include $(TOP)/configure/RULES_DIRS
tronix_LIBS += asyn
tronix_LIBS += devTDS3000
Pavel
On Mon, Dec 12,
2011 at 9:03 PM, Mark Rivers <[email protected]>
wrote:
Hi Pavel,
I think there is still something wrong with your
Makefile, because this output line should have contained –lasyn and
-ldevTDS3000
/usr/bin/g++ -o tronix
-L/root/applications/epics/R3-14-12-1/base/lib/linux-x86
-Wl,-rpath,/root/applications/epics/R3-14-12-1/base/lib/linux-x86 -m32 tronix_registerRecordDeviceDriver.o
tronixMain.o -lrecIoc -lsoftDevIoc -lmiscIoc -lrsrvIoc
-ldbtoolsIoc -lasIoc -ldbIoc -lregistryIoc -ldbStaticIoc -lca -lCom
Please post your complete Makefile.
Mark
From: [email protected] [mailto:[email protected]]
On Behalf Of Pavel Masloff
Sent: Monday, December 12, 2011
11:57 AM
To: Eric Norum
Cc: EPICS Tech Talk
Subject: Re: Tektronix 3000/5000
oscilloscopes
It didn't work
either.
[root@localhost tronixApp]# make
make -C ./src install
make[1]: Entering directory `/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src'
make -C O.linux-x86 -f ../Makefile TOP=../../.. T_A=linux-x86 install
make[2]: Entering directory
`/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86'
Expanding dbd
Installing created dbd file ../../../dbd/tronix.dbd
perl
/root/applications/epics/R3-14-12-1/base/bin/linux-x86/registerRecordDeviceDriver.pl
../O.Common/tronix.dbd tronix_registerRecordDeviceDriver
/root/applications/epics/R3-14-12-1/apps/tronix > tronix.tmp
mv tronix.tmp tronix_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
-O3 -Wall
-m32 -g -MMD -I.
-I../O.Common -I. -I..
-I../../../include/os/Linux -I../../../include
-I/root/applications/epics/R3-14-12-1/modules/seq-2.1.3/include
-I/root/applications/epics/R3-14-12-1/modules/asyn4-18/include
-I/root/applications/epics/R3-14-12-1/base/include/os/Linux -I/root/applications/epics/R3-14-12-1/base/include
tronix_registerRecordDeviceDriver.cpp
/usr/bin/g++ -o tronix
-L/root/applications/epics/R3-14-12-1/base/lib/linux-x86
-Wl,-rpath,/root/applications/epics/R3-14-12-1/base/lib/linux-x86
-m32
tronix_registerRecordDeviceDriver.o tronixMain.o -lrecIoc
-lsoftDevIoc -lmiscIoc -lrsrvIoc -ldbtoolsIoc -lasIoc -ldbIoc -lregistryIoc
-ldbStaticIoc -lca -lCom
tronix_registerRecordDeviceDriver.o: In function
`__static_initialization_and_destruction_0':
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:134:
undefined reference to `pvar_rset_asynRSET'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:134:
undefined reference to `pvar_func_asynRecordSizeOffset'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynAiInt32'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynAiInt32Average'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynAiFloat64'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynAiFloat64Average'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_devAiTDS3000Gpib'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynAoInt32'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynAoFloat64'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_devAoTDS3000Gpib'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynBiInt32'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynBiUInt32Digital'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_devBiTDS3000Gpib'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynBoInt32'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynBoUInt32Digital'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_devBoTDS3000Gpib'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynLiInt32'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynLiUInt32Digital'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynLoInt32'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynLoUInt32Digital'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynMbbiInt32'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynMbbiUInt32Digital'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_devMbbiTDS3000Gpib'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynMbbiDirectUInt32Digital'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynMbboInt32'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynMbboUInt32Digital'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_devMbboTDS3000Gpib'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynMbboDirectUInt32Digital'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynSiOctetCmdResponse'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynSiOctetWriteRead'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynSiOctetRead'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_devSiTDS3000Gpib'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynSoOctetWrite'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_devSoTDS3000Gpib'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynWfOctetCmdResponse'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynWfOctetWriteRead'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynWfOctetRead'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynWfOctetWrite'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynInt8ArrayWfIn'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynInt8ArrayWfOut'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynInt16ArrayWfIn'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynInt16ArrayWfOut'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynInt32ArrayWfIn'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynInt32ArrayWfOut'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynFloat32ArrayWfIn'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynFloat32ArrayWfOut'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynFloat64ArrayWfIn'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynFloat64ArrayWfOut'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_devWfTDS3000Gpib'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:405:
undefined reference to `pvar_dset_asynRecordDevice'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:415:
undefined reference to `pvar_drvet_drvAsyn'
tronix_registerRecordDeviceDriver.o: In function
`tronix_registerRecordDeviceDriver':
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:453:
undefined reference to `pvar_func_vxi11RegisterCommands'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:454:
undefined reference to `pvar_func_asynRegister'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:455:
undefined reference to `pvar_func_asynInterposeFlushRegister'
/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86/tronix_registerRecordDeviceDriver.cpp:456:
undefined reference to `pvar_func_asynInterposeEosRegister'
collect2: ld returned 1 exit status
make[2]: *** [tronix] Error 1
make[2]: Leaving directory
`/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src/O.linux-x86'
make[1]: *** [install.linux-x86] Error 2
make[1]: Leaving directory `/root/applications/epics/R3-14-12-1/apps/tronix/tronixApp/src'
make: *** [src.install] Error 2
Do I need to substitute <app> to 'tronix' in:
Which I did.
Pavel
On Mon, Dec 12,
2011 at 7:33 PM, Eric Norum <[email protected]>
wrote:
On Dec 12, 2011,
at 7:51 AM, Pavel Masloff wrote:
Hello, Nick!
Dear colleagues!
Could you please explain how to use your TDS3000 support for my Tektronix 3054C
(i have only the Ethernet interface)?
I am using the RHEL x86 operating system. I have successfully installed epics
base (R3-14-12-1), extensions (1.7), sequencer (seq-2.1.3), asyn driver support
(asyn4-18), tektronix tds3000 device support (tds3000-2.4) according to the
manual. And they all seem to be working fine.
I think I have some problems with creating an application. I can't understand
how to perform the following:
Using the software
In order to use the support in an application do the following:
Add the following to <top>/configure/RELEASE
TDS3000 = <full path to installation directory>
ASYN = <full path to installation directory>
Add the following to the application Makefile.
<app>_LIBS_vxWorks += asyn
<app>_LIBS_vxWorks += devTDS3000
There are two
things wrong:
1) You are
specifying libraries for vxWorks, but you are building an application for
Linux.
2) Order of
libraries is important. The asyn library must come after the devTDS3000
library.
Try changing the
above two application Makefile lines to:
--
Sincerely,
Pavel Maslov, MSc
R&D Institute for Electro-Physical Apparatus
Mobile: +7
(951) 672 22 19
Phone: +7 (812) 461 01 01
--
Sincerely,
Pavel Maslov, MSc
R&D Institute for Electro-Physical Apparatus
Mobile: +7
(951) 672 22 19
Phone: +7 (812) 461 01 01
--
Sincerely,
Pavel Maslov, MSc
R&D Institute for Electro-Physical Apparatus
Mobile: +7
(951) 672 22 19
Phone: +7 (812) 461 01 01
|