This assumes that the problem Michael was referring to was with the library files, not dbd files. If the problem is dbd files then of course static build won't help.
Mark
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Mark Rivers
Sent: Wednesday, April 19, 2017 10:34 AM
To: 'Michael Davidsaver'; Pierrick Hanlet; [email protected]
Subject: RE: runtime problem
Another way to quickly check if Michael's hypothesis is correct is to change your IOC application CONFIG_SITE file to have STATIC_BUILD=YES. That guarantees that the EPICS build-time and run-time libraries are identical. If the problem goes away then you probably have a problem with conflicting .so files. Check your LD_LIBRARY_PATH environment variable.
Mark
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Michael Davidsaver
Sent: Wednesday, April 19, 2017 9:50 AM
To: Pierrick Hanlet; [email protected]
Subject: Re: runtime problem
Hi Pierrick,
> concludes with Michael Davidsaver stating:
> "*I've hit this it was because I accidentally loaded a .dbd from an
> older version of epics base*"
> However, I don't believe that's what I've done wrong.
I've not seen this assertion fail in any other circumstance since I
added it.
The specific condition being detected is that the number of fields in
some recordtype is different between the runtime and buildtime definitions.
I suspect that, without intending to, you have epics modules in the
standard search paths (eg. /usr/local), or in your environment (eg. PATH
or LIBRARY_PATH), or perhaps some includes in configure/RELEASE.
I would suggest that you retry your builds in a completely clean
environment. checkout/untar source into a fresh OS install (a VM would
be a quick way to do this).
Michael
On 04/19/2017 09:31 AM, Pierrick Hanlet wrote:
> Hello,
> I'm using base 3.14.12.3 with SL7.3. I've recently attempted to use
> another version of base, so I'm switching back
> to something that previously worked for me. When reverting to the older
> version, I first rebuilt all of my support
> modules (asyn, etc.) using the 3.14.12.3 base. Then I rebuilt my IOC. I
> got no errors, however, when I run, I get:
>
> *dbLoadDatabase "dbd/TestCryo.dbd"**
> **TestCryo_registerRecordDeviceDriver pdbbase**
> **
> **
> **
> **A call to 'assert(prt->no_fields == 122)'**
> ** by thread '_main_' failed in ../O.Common/asynRecord.h line 426.**
> **EPICS Release EPICS R3.14.12.3 $Date: Mon 2012-12-17 14:11:47 -0600$.**
> **Local time is 2017-04-19 13:30:21.552933101 BST**
> **Please E-mail this message to the author or to [email protected]**
> **Calling epicsThreadSuspendSelf()**
> *
> I followed the tech-talk thread
> http://www.aps.anl.gov/epics/tech-talk/2016/msg01042.php which
> concludes with Michael Davidsaver stating:
> "*I've hit this it was because I accidentally loaded a .dbd from an
> older version of epics base*"
> However, I don't believe that's what I've done wrong.
> Thanks,
> Pierrick
>
> --
> "Whether you think you can or think you can't, either way, you are correct" -- Henry Ford
> _______________________________________________________________
> Pierrick Hanlet
> IIT/Fermilab
> +44-(0)1235-44-5550 (RAL)
> +1-630-840-5555 (FNAL)
> +1-312-567-5745 (IIT)
> +1-630-888-0185/+44-(0)79-48-860-197 (US/UK mobile)
>
- References:
- runtime problem Pierrick Hanlet
- Re: runtime problem Michael Davidsaver
- RE: runtime problem Mark Rivers
- Navigate by Date:
- Prev:
RE: runtime problem Mark Rivers
- Next:
EPICS V4 Windows build warning messages. Mark S. Engbretson
- 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: runtime problem Mark Rivers
- Next:
support for Cryomech CP950 compressor (part of PT405 cryorefrigerator) arvinder.palaha
- 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
|