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