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

Subject: Re: Tektronix 3000/5000 oscilloscopes
From: Pavel Masloff <[email protected]>
To: Mark Rivers <[email protected]>
Cc: Eric Norum <[email protected]>, EPICS Tech Talk <[email protected]>
Date: Mon, 12 Dec 2011 21:17:01 +0300
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:

<app>_LIBS += devTDS3000

<app>_LIBS += asyn

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:

<app>_LIBS += devTDS3000

<app>_LIBS += asyn

 

 

-- 
Eric Norum
[email protected]

 



--
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

Replies:
RE: Tektronix 3000/5000 oscilloscopes Mark Rivers
References:
[help] EPICS build no good Pavel Masloff
Re: [help] EPICS build no good Andrew Johnson
Re: [help] EPICS build no good Pavel Masloff
Re: [help] EPICS build no good Andrew Johnson
Re: [help] EPICS build no good Pavel Masloff
Re: [help] EPICS build no good Dirk Zimoch
Tektronix 3000/5000 oscilloscopes Eric Norum
Re: Tektronix 3000/5000 oscilloscopes Pavel Masloff
Re: Tektronix 3000/5000 oscilloscopes Eric Norum
Re: Tektronix 3000/5000 oscilloscopes Pavel Masloff
RE: Tektronix 3000/5000 oscilloscopes Mark Rivers
Re: Tektronix 3000/5000 oscilloscopes Pavel Masloff
RE: Tektronix 3000/5000 oscilloscopes Mark Rivers

Navigate by Date:
Prev: RE: Tektronix 3000/5000 oscilloscopes Mark Rivers
Next: RE: Tektronix 3000/5000 oscilloscopes Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Tektronix 3000/5000 oscilloscopes Mark Rivers
Next: RE: Tektronix 3000/5000 oscilloscopes Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·