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  2016  2017  2018  2019  <20202021  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  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: error calling dbGetLinkValue in EPICS base-3.15.6
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: Anindya Roy <r_ani at vecc.gov.in>
Cc: tech-talk <tech-talk at aps.anl.gov>
Date: Thu, 19 Mar 2020 12:49:14 +0000
> The call for dbGetLinkValue() in device driver file while building with EPICS base-3.15.6 generates error as
        undefined reference to `dbGetLinkValue'


dbGetLinkValue appears to have been removed in 3.15 without mentioning that in the Developer's Guide or the release notes.


In the 3.15.6 Application Developer's Guide (https://epics.anl.gov/base/R3-15/6-docs/AppDevGuide.pdf) it says this:


* dbGetLink: Get value of field referenced by database link (Macro)

* dbGetLinkValue: Get value of field referenced by database link (Subroutine)

However, dbGetLinkValue does not exist in any .h or .c file.  So the documentation does not match the actual API.

Surprisingly to me this change in the API is also not mentioned in the 3.15.* release notes.

Two of the error messages in dbGetLink in dbLink.c still say the function name is dbGetLinkValue, which is incorrect.
./src/ioc/db/dbLink.c:        printf("dbGetLinkValue: Use of poptions no longer supported\n");
./src/ioc/db/dbLink.c:        cantProceed("dbGetLinkValue: Illegal link type %d\n", plink->type);

However, I think the intent all along was that you should get dbGetLink(), not dbGetLinkValue().  Previous dbGetLink was a macro that called dbGetLinkValue().  Now dbGetLink is no longer a macro, it is the C function that you should call.

Mark


________________________________
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Anindya Roy via Tech-talk <tech-talk at aps.anl.gov>
Sent: Thursday, March 19, 2020 6:54 AM
To: tech-talk at aps.anl.gov
Subject: error calling dbGetLinkValue in EPICS base-3.15.6

The call for dbGetLinkValue() in device driver file while building with EPICS base-3.15.6 generates error as
        undefined reference to `dbGetLinkValue'

The command line output of buliding ioc is attached for reference.

The same ioc is built with base-3.14.12.7 without error. Kindly help.

Regards
Anindya
VECC
, Kolkata, India

[https://www.gandhi.gov.in/image/logo.svg&retryCount=3]

Replies:
Re: error calling dbGetLinkValue in EPICS base-3.15.6 Johnson, Andrew N. via Tech-talk
Re: error calling dbGetLinkValue in EPICS base-3.15.6 Anindya Roy via Tech-talk
References:
error calling dbGetLinkValue in EPICS base-3.15.6 Anindya Roy via Tech-talk

Navigate by Date:
Prev: error calling dbGetLinkValue in EPICS base-3.15.6 Anindya Roy via Tech-talk
Next: Re: monitors on array variables D. Peter Siddons via Tech-talk
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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: error calling dbGetLinkValue in EPICS base-3.15.6 Anindya Roy via Tech-talk
Next: Re: error calling dbGetLinkValue in EPICS base-3.15.6 Johnson, Andrew N. via Tech-talk
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  <20202021  2022  2023  2024 
ANJ, 19 Mar 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·