Experimental Physics and Industrial Control System
Hello Ji-Hwa
The undefined symbols indicate that the munch file is expecting C++ functions. However, the sysPcixxxxx functions are in C.
I did a quick check in devlib2 and indeed, the function declarations in devlib2/common/os/vxWorks/epicsMMIO.h are not enclosed with:
#ifdef __cplusplus
extern “C” {
…etc.
The enclosed patch file should fix the problem for you after you apply it in:
devlib2/common/os/vxWorks
HTH
-Eric Bj.
=================
PS to Michael D.
You’ll probably want to apply this to the github repository too. I’m surprised I hadn’t noticed it before, but I’ve been working mostly with compacPCI these days.
-Bj
Attachment:
epicsMMIO.patch
Description: epicsMMIO.patch
On Jan 5, 2016, at 3:11 PM, Andrew Johnson <[email protected]> wrote:
> What is the version number of your mv6100 BSP? We use release 6.9/0 here
> and it includes all those routines that your VxWorks image seems to be
> missing:
>
> tux% cd vxworks-6.9/target/config/mv6100/
> tux% grep 'define BSP_' config.h
> #define BSP_VERSION "6.9" /* vxWorks 6.9 */
> #define BSP_REV "/0" /* 0 for first revision */
> tux% grep sysPci sysAUtil.s
> FUNC_EXPORT(sysPciInByte)
> FUNC_EXPORT(sysPciOutByte)
> FUNC_EXPORT(sysPciInWord)
> FUNC_EXPORT(sysPciOutWord)
> FUNC_EXPORT(sysPciInLong)
> FUNC_EXPORT(sysPciOutLong)
> * sysPciInByte - reads a byte from PCI Config Space.
> FUNC_BEGIN(sysPciInByte)
> FUNC_END(sysPciInByte)
> * sysPciInWord - reads a word (16-bit big-endian) from PCI Config Space.
> FUNC_BEGIN(sysPciInWord)
> FUNC_END(sysPciInWord)
> * sysPciInLong - reads a long (32-bit big-endian) from PCI Config Space.
> FUNC_BEGIN(sysPciInLong)
> FUNC_END(sysPciInLong)
> * sysPciOutByte - writes a byte to PCI Config Space.
> FUNC_BEGIN(sysPciOutByte)
> FUNC_END(sysPciOutByte)
> * sysPciOutWord - writes a word (16-bit big-endian) to PCI Config Space.
> FUNC_BEGIN(sysPciOutWord)
> FUNC_END(sysPciOutWord)
> * sysPciOutLong - writes a long (32-bit big-endian) to PCI Config Space.
> FUNC_BEGIN(sysPciOutLong)
> FUNC_END(sysPciOutLong)
>
> - Andrew
>
>
> On 01/05/2016 03:56 PM, ±èÁöÈ(ºö¶óÀÎÀåÄ¡ÆÀ) wrote:
>>
>> Hi Martin,
>>
>> We are using CentOS 6.5 linux and ioc code from the https://github.com/epics-modules/mrfioc2/
>> and ver 2.4 from the https://github.com/epics-modules/devlib2
>>
>> Thanks,
>>
>> Ji-Hwa
>> ________________________________________
>> º¸³½ »ç¶÷: [email protected] <[email protected]> ´ë½Å Konrad, Martin <[email protected]>
>> º¸³½ ³¯Â¥: 2016³â 1¿ù 6ÀÏ ¼ö¿äÀÏ ¿ÀÀü 6:26
>> ¹Þ´Â »ç¶÷: [email protected]
>> Á¦¸ñ: Re: mrfioc2 loading error at vxWorks 6.9
>>
>> Hi Ji-Hwa,
>> Are you building from the tarballs or are you using the Debian packages?
>> Which version of devlib2 are you using?
>>
>> -Martin
>>
>> On 01/05/2016 03:59 PM, ±èÁöÈ(ºö¶óÀÎÀåÄ¡ÆÀ) wrote:
>>> Hello All,
>>> Recently when I test a MRF event board, I found a VxWorks ¡°mrf.munch¡±
>>> loading errors with MVME6100 VME board.
>>> Used packages:
>>> epics Base 3.15.3
>>> mrfioc 2.0.4
>>> devlib2
>>> VxWorks 6.9
>>> Workbench 3.3
>>> -> ld < mrf.munch
>>> Warning: module 0x4353af0 holds reference to undefined symbol
>>> _Z13sysPciOutLongPjj.
>>> Warning: module 0x4353af0 holds reference to undefined symbol
>>> _Z13sysPciOutWordPtt.
>>> Warning: module 0x4353af0 holds reference to undefined symbol
>>> _Z12sysPciInWordPt.
>>> Warning: module 0x4353af0 holds reference to undefined symbol
>>> _Z12sysPciInLongPj.
>>> Warning: module 0x4353af0 holds reference to undefined symbol
>>> _Z12sysPciInBytePh.
>>> Warning: module 0x4353af0 holds reference to undefined symbol
>>> _Z13sysPciOutBytePhh.
>>> ld(): module contains undefined symbol(s) and may be unusable.
>>> Please give any suggestions and comments.
>>> Thanks,
>>> Ji-Hwa Kim
>>> PAL-XFEL Project
>>> Pohang Accelerator Laboratory
>>> 80 Jigokro-127-Beongil, Nam-gu, Pohang, Gyeongbuk
>>> 37673, Korea
>>
>>
>> --
>> Martin Konrad
>> Control System Engineer
>> Facility for Rare Isotope Beams
>> Michigan State University
>> 640 South Shaw Lane
>> East Lansing, MI 48824-1321, USA
>> Tel. 517-908-7253
>> Email: [email protected]
>>
>>
>>
>>
>
> --
> There are only two hard problems in distributed systems: 2. Exactly-once
> delivery 1. Guaranteed order of messages 2. Exactly-once delivery
> -- Mathias Verraes
- References:
- Re: mrfioc2 loading error at vxWorks 6.9 Konrad, Martin
- RE: mrfioc2 loading error at vxWorks 6.9 김지화(빔라인장치팀)
- Re: mrfioc2 loading error at vxWorks 6.9 Andrew Johnson
- Navigate by Date:
- Prev:
Re: mrfioc2 loading error at vxWorks 6.9 Andrew Johnson
- Next:
Re: mrfioc2 loading error at vxWorks 6.9 Konrad, Martin
- 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: mrfioc2 loading error at vxWorks 6.9 Andrew Johnson
- Next:
Re: mrfioc2 loading error at vxWorks 6.9 Konrad, Martin
- 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