Hi Lewis,
Thanks for the suggestion. I did check and I'm linking in the tpmac libraries in the same order as you have them. I still have the error. The conflict appears to be that ioc21idbnpVX_registerRecordDeviceDriver.o is not finding the symbols defined in libpmacIoc.a.
Here's an abbreviated version of the output from the make command (without a bunch of -L options, vxComLibrary, and other libraries).
/powerpc-wrs-vxworks/bin/ld -r -o 21idbnp -static ioc21idbnpVX_registerRecordDeviceDriver.o -lpmacIoc
Thanks,
Jay Steele
________________________________________
From: J. Lewis Muir [[email protected]]
Sent: Wednesday, October 13, 2010 3:31 PM
To: Jay Steele
Cc: [email protected]
Subject: Re: problem with tpmac-3-7 (loading IOC munch file results in undefined symbol error)
On 10/13/10 4:43 PM, Jay Steele wrote:
> Hi Tech-Talk,
> To use the TurboPMAC VME board with a PPC mother board to control
> motors, I am trying to integrate tmac-3-7 with synApps_5_5 and
> epics/base-3-14-11 for my IOC named 21idbnp. I am having the following
> problem. Any clues to its resolution or a workaround would be greatly
> appreciated.
>
> tpmac-3-7 compiles with synApps. I added the statement
> "ioc21idbnpVX_DBD+=pmacInclude.dbd" to 21idbnpApp/src/Makefile.
> pmacInclude.dbd includes statusRecord.dbd, tsubRecord.dbd,
> statusDevice.dbd, pmacAsynIPPort.dbd, pmacAsynMotor.dbd,
> pmacAsynCoord.dbd, and add_pmac.dbd. Then I compile the 21idbnp IOC that
> includes the tpmac libraries (pmacAsynCoord, pmacAsynIPPort,
> pmacAsynMotor, pmacIoc). This compiles for vxWorks without error.
>
> When I load the munch file to vxworks, I get the following error.
>
> ld(0,0,"21idbnp.munch")
> Undefined symbol: pvar_dset_devPmac (binding 1 type 0)
> Undefined symbol: pvar_dset_devPmacRamStatus (binding 1 type 0)
> ld error: Module contains undefined symbol(s) and may be unusable.
> value = 0 = 0x0
>
> For my investigation, I see the following:
> 1. when compiling the IOC, -lpmacIoc, -lpmacAsynCoord, -lpmacAsynIPPort,
> and -lpmacAsynMotor are used with ld to create 21idbnp.
> 2. grep using the string "pvar_dset_devPmac" in the IOC directory
> results in the following:
> a. binary file 21idbnp.munch matches.
> b. ioc21idbnpVx_registerRecordDeviceDriver.cpp has references to
> pvar_dset_devPmac.
> c. binary file 21idbnp matches.
> d. binary file ioc21idbnpVx_registerRecordDeviceDriver.o matches.
> e. 21idbnp.nm has references to pvar_dset_devPmac.
> 3. Same results as #2 above for string "pvar_dset_devPmacRamStatus"
Hi, Jay.
In what order did you list the libraries in your Makefile? I believe
the GNU linker used for building for vxWorks is a single-pass linker, so
the order matters.
Here's the order I have for one of my IOCs:
17idb_vxWorks_LIBS += pmacIoc
17idb_vxWorks_LIBS += pmacAsynCoord
17idb_vxWorks_LIBS += pmacAsynMotor
17idb_vxWorks_LIBS += pmacAsynIPPort
Lewis
--
J. Lewis Muir
Software Engineer
IMCA-CAT
The information in this email, including any attachments, is confidential and intended only for the recipient(s) listed. Any use of this email for any other purpose is prohibited. If you have received this email in error, please notify me immediately by reply email, delete this email, and do not disclose its contents to anyone.
- References:
- problem with tpmac-3-7 (loading IOC munch file results in undefined symbol error) Jay Steele
- Re: problem with tpmac-3-7 (loading IOC munch file results in undefined symbol error) J. Lewis Muir
- Navigate by Date:
- Prev:
Re: problem with tpmac-3-7 (loading IOC munch file results in undefined symbol error) J. Lewis Muir
- Next:
Re: Calling an iocsh "sub-script" Ben Franksen
- 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:
Re: problem with tpmac-3-7 (loading IOC munch file results in undefined symbol error) J. Lewis Muir
- Next:
Re: problem with tpmac-3-7 (loading IOC munch file results in undefined symbol error) Andrew Johnson
- 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
|