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  2011  2012  2013  2014  2015  <20162017  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  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: mrfioc2 loading error at vxWorks 6.9
From: "Bjorklund, Eric A" <[email protected]>
To: Andrew Johnson <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Wed, 6 Jan 2016 00:12:51 +0000
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  <20162017  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  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 15 Jul 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·