EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: RE: Asyn build under win32
From: "Mark Rivers" <[email protected]>
To: "Mark Bennett" <[email protected]>, <[email protected]>
Date: Wed, 12 Oct 2005 09:32:39 -0500
Hi Mark,
 
Can you use the "nm" utility to see if lib/cygwin-x86/libasyn.a defines those functions.  This is the output on my Linux system.  The "T" before a symbol means it is defined in the code section, U means undefined.
 
 
corvette> nm libasyn.a | grep devGpib
00000000 T devGpib_initAi
00000300 T devGpib_initAo
00000448 T devGpib_initBi
00000770 T devGpib_initBo
00000c38 T devGpib_initEv
00000ea8 T devGpib_initLi
00001148 T devGpib_initLo
0000126c T devGpib_initMbbi
000015fc T devGpib_initMbbiDirect
000018b4 T devGpib_initMbbo
00001a88 T devGpib_initMbboDirect
00001bac T devGpib_initSi
00001e5c T devGpib_initSo
00001f80 T devGpib_initWf
000000c4 T devGpib_readAi
00000540 T devGpib_readBi
00000cdc T devGpib_readEv
00000f74 T devGpib_readLi
000013cc T devGpib_readMbbi
000016a0 T devGpib_readMbbiDirect
00001c50 T devGpib_readSi
0000207c T devGpib_readWf
000003cc T devGpib_writeAo
000009c0 T devGpib_writeBo
000011f0 T devGpib_writeLo
00001a0c T devGpib_writeMbbo
00001b30 T devGpib_writeMbboDirect
00001f04 T devGpib_writeSo
00000040 d devGpib
00000000 d devGpibQueueTimeoutArg0
00000008 d devGpibQueueTimeoutArg1
00000010 d devGpibQueueTimeoutArg2
00000018 d devGpibQueueTimeoutArgs
000036e4 t devGpibQueueTimeoutCall
00000024 d devGpibQueueTimeoutDef
0000371c t devGpibQueueTimeoutSet
00000030 d devGpibSrqWaitTimeoutArg0
00000038 d devGpibSrqWaitTimeoutArg1
00000040 d devGpibSrqWaitTimeoutArg2
00000048 d devGpibSrqWaitTimeoutArgs
00003700 t devGpibSrqWaitTimeoutCall
00000054 d devGpibSrqWaitTimeoutDef
000037fc t devGpibSrqWaitTimeoutSet
00000060 D pvar_dset_devGpib
corvette> 

This is the output on my Cygwin system:
 
$ nm libasyn.a | grep devGpib
00001570 T _devGpib_initAi
000016b0 T _devGpib_initAo
000017f0 T _devGpib_initBi
000003b0 T _devGpib_initBo
00001a10 T _devGpib_initEv
00001b20 T _devGpib_initLi
00001c70 T _devGpib_initLo
00000a50 T _devGpib_initMbbi
00001df0 T _devGpib_initMbbiDirect
00000f40 T _devGpib_initMbbo
00001f70 T _devGpib_initMbboDirect
00002080 T _devGpib_initSi
00002190 T _devGpib_initSo
00001240 T _devGpib_initWf
00001630 T _devGpib_readAi
000018f0 T _devGpib_readBi
00001ab0 T _devGpib_readEv
00001bf0 T _devGpib_readLi
00001d80 T _devGpib_readMbbi
00001e90 T _devGpib_readMbbiDirect
00002120 T _devGpib_readSi
000022a0 T _devGpib_readWf
00001780 T _devGpib_writeAo
00001960 T _devGpib_writeBo
00001d10 T _devGpib_writeLo
00001f00 T _devGpib_writeMbbo
00002010 T _devGpib_writeMbboDirect
00002230 T _devGpib_writeSo
00000040 d _devGpib
00000fb8 r _devGpibQueueTimeoutArg0
00000fcc r _devGpibQueueTimeoutArg1
00000fdc r _devGpibQueueTimeoutArg2
00000fe4 r _devGpibQueueTimeoutArgs
00003a70 t _devGpibQueueTimeoutCall
00001004 r _devGpibQueueTimeoutDef
00003ad0 t _devGpibQueueTimeoutSet
00001010 r _devGpibSrqWaitTimeoutArg0
00001018 r _devGpibSrqWaitTimeoutArg1
00001020 r _devGpibSrqWaitTimeoutArg2
00001028 r _devGpibSrqWaitTimeoutArgs
00003aa0 t _devGpibSrqWaitTimeoutCall
0000104c r _devGpibSrqWaitTimeoutDef
00003bd0 t _devGpibSrqWaitTimeoutSet
00000060 D _pvar_dset_devGpib
 
So it looks like those symbols are defined in libasyn.a on my system.
 
Perhaps the problem is the order in which libraries are listed and being searched in application?
 
Mark
 
________________________________

From: Mark Bennett [mailto:[email protected]]
Sent: Tue 10/11/2005 7:18 PM
To: Mark Rivers; [email protected]
Subject: RE: Asyn build under win32



Mark,

I now have EPICS base-3.14.6 and asyn-4.0 building under Cygwin thanks.

However, my application won't build and complains of undefined references to
various devGpib functions (even though I have added the device driver and
asyn libs in the relevant Makefiles).

Eg.:

... undefined reference to `_devGpib_initAi'
<snip>
... undefined reference to `_devGpib_readSi'


Any tips please?

Mark


-----Original Message-----
From: Mark Rivers [mailto:[email protected]]
Sent: 30 September 2005 10:35 PM
To: Marty Kraimer; Mark Bennett; [email protected]; [email protected]
Subject: RE: Asyn build under win32

Hi Mark,

asyn does not build under the win32-x86 architecture, for the reasons
you discovered.  It uses the termios API for serial ports, and that does
not seem to be available under native Windows.

I am running quite a few IOCs on Windows machines now, for controlling
Roper CCD detectors, XIA spectroscopy detectors, and running small
laboratories with RS-232 motor controllers.  I use the cygwin-x86
environment so that I can use asyn.

To develop applications with cygwin you need to install basic cygwin
plus "make", "gcc", "perl", "g++" and the "SUN rpc" package.  However,
to run an application that has been built statically with cygwin-x86 you
only need to install the basic cygwin package on the target machine, and
that takes about 2 minutes.  Really all it should need is to have
cygwin1.dll in your PATH on Windows.

With the exception of the message I posted to tech-talk yesterday about
some CA problems, I have had excellent experience with cygwin.  I think
the problems I had yesterday should be viewed as an anomaly, perhaps due
to an errant application.  Rebooting has fixed the problem, at least for
now.

Mark







Navigate by Date:
Prev: IP Carrier Board - Linux Drivers for Hytec IP Cards Darrell Nineham
Next: Accessing ControlLogix PLC program tags with EtherIP Mike Forster
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Waveform soft record Steven Hartman
Next: ASL field Liyu, Andrei
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·