Experimental Physics and Industrial Control System
If you ever run into a situation where some part of the vxWorks library was not in the kernel build and you need it but can't build a kernel then there is still hope. In some cases, and this is one of them, you can pull the object file out of the vxWorks library and load it after vxWorks boots up. Just be sure that the initialization function gets called. The tools you need are nmppc and arppc. Use nmppc to find the name of the .o files that you need and ar to extract them. Then just add the appropriate ld commands at boot up.
Nm is also very handy if you are trying to figure out what library files are missing:
cd $EPICS_BASE/lib/<ARCH>/
nm -A *.a *.o | grep <whatever is missing>
Anything that has a 'T' by the address and not a "U" and you have found it.
________________________________
From: Matt Rippa [mailto:[email protected]]
Sent: Thu 4/20/2006 8:07 PM
To: [email protected]
Subject: Re: Undefined symbols R3.14.6
Hi Ernest,
Yes. Note we have an image in use for a 3.13.4 release of
the app. Just in case, I built a new test image as
described. I've even included the line in my makefile (but
honestly thought that was for iocsh to work on non-vxworks
targets ???).
Anyway, I get the exact same error (save the sntpc line). Am
I wrong in thinking you can build and load acctst.c as
described?
Thanks again for any help.
-Matt
Ernest L. Williams Jr. wrote:
> Hi Matt,
>
> Have you already followed the recommendations at the URL listed below?
>
> http://www.aps.anl.gov/epics/base/T20xConfig.html
>
>
> Also, in your Makefile I think you need:
>
> ========================================================
>
> test_SRCS+= test_registerRecordDeviceDriver.cpp
>
>
>
>
> Thanks,
> Ernest
>
>
> On Thu, 2006-04-20 at 09:26 -1000, Matt Rippa wrote:
>
>>Hi,
>>
>>Migrating a channel access app to R3.14.6 on vxWorks-mips
>>using tornado2.0. This builds okay but loading the munch
>>file results in:
>>
>>ld < test.munch
>>Undefined symbol: sntpcTimeGet (binding 1 type 0)
>>Undefined symbol: __GLOBAL_$I$.._netiiu.cpp (binding 1 type 0)
>>Undefined symbol:
>>__GLOBAL_$I$.._.._.._src_libCom_cxxTemplates_epicsSingletonMutex.cpp
>>(binding 1 type 0)
>>Undefined symbol: __GLOBAL_$I$.._comBuf.cpp (binding 1 type 0)
>>value = -2131312736 = 0x80f6bfa0
>>
>>I suspect the vxworks build is missing things and (in fact)
>>I've found an sntpc boot-image that gets rid of the first
>>error. Any hints on the other?
>>
>>I've stripped my app away completley and am just trying to
>>load the ca regression test from base:
>>$EPICS/base/src/ca/acctst.c
>>
>>
>>Here's my Makefile:
>>
>>TOP=../../../../..
>>
>>include $(TOP)/configure/CONFIG
>>
>>PROD_IOC_vxWorks += test
>>
>>DBD += test.dbd
>>
>>test_DBD += base.dbd
>>
>>test_SRCS += acctst.c
>>
>>test_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary
>>test_LIBS += $(EPICS_BASE_IOC_LIBS)
>>
>>include $(TOP)/configure/RULES
>>
>>
>>Thanks!
>>---------
>>Matt Rippa
>
>
- References:
- Undefined symbols R3.14.6 Matt Rippa
- Re: Undefined symbols R3.14.6 Ernest L. Williams Jr.
- Re: Undefined symbols R3.14.6 Matt Rippa
- Navigate by Date:
- Prev:
Re: Undefined symbols R3.14.6 Ernest L. Williams Jr.
- Next:
DESC field containing embedded double-quotes? Rod Nussbaumer
- 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: Undefined symbols R3.14.6 Ernest L. Williams Jr.
- Next:
DESC field containing embedded double-quotes? Rod Nussbaumer
- 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