Hi Matt -
Which version of EPICS base are/were you using? There was an addition of the following line in base 7.0.5 (compared to 7.0.4.1):
WARN_CFLAGS_YES = -Wall -Werror-implicit-function-declaration
There were a few places in ADSupport (notably GraphicsMagick) that needed fixes due to this; it is possible that we missed some of them.
Cheers,
Simon
On 2021-05-11, 17:16, "Tech-talk on behalf of Pearson, Matthew R. via Tech-talk" <tech-talk-bounces at aps.anl.gov on behalf of tech-talk at aps.anl.gov> wrote:
Hi,
I've been attempting to build ADSupport (R1-9-1) with the following options on RHEL7/8:
XML2_EXTERNAL=YES
XML2_LIB=/usr/lib64/
XML2_INCLUDE=/usr/include/libxml2/
And that used to work, but it now fails with:
../url.c
../url.c: In function 'ReadURLImage':
../url.c:195:17: warning: implicit declaration of function 'xmlNanoHTTPFrameState' [-Wimplicit-function-declaration]
if ((xmlNanoHTTPFrameState(context) == Complete) || (xmlNanoHTTPFrameState(context) == Error))
^
../url.c:195:56: error: 'Complete' undeclared (first use in this function)
if ((xmlNanoHTTPFrameState(context) == Complete) || (xmlNanoHTTPFrameState(context) == Error))
^
../url.c:195:56: note: each undeclared identifier is reported only once for each function it appears in
../url.c:195:104: error: 'Error' undeclared (first use in this function)
if ((xmlNanoHTTPFrameState(context) == Complete) || (xmlNanoHTTPFrameState(context) == Error))
^
../url.c:200:15: warning: implicit declaration of function 'xmlNanoHTTPStreaming' [-Wimplicit-function-declaration]
if (!xmlNanoHTTPStreaming(context))
^
make[4]: *** [url.o] Error 1
It seems like there's been some custom changes to the xml2 packaged with ADSupport, so that now GraphicsMagick requires the use of the packaged xml2 and cannot build with the system xml2.
This build option works fine:
XML2_EXTERNAL=NO
(which is the default set in the areaDetector example CONFIG_SITE files).
In the past I have usually built ADCore and IOC applications with the system installed libxml2 (and jpeg, tiff etc), and we haven't relied on ADSupport that much (since we generally don't use GraphicsMagick).
What would be the recommended practice?
1) Build all areaDetector modules (including ADCore) against ADSupport (whether or not we need GraphicsMagick)
2) Build all areaDetector modules against system libraries, except ADSupport which would build against its own version of xml2 (but then an IOC that uses GraphicsMagick would be linking to different versions of the same library, which doesn't sound good).
I suppose 1) also has the advantage that the libraries packaged with ADSupport can be more easily versioned. Although, has anyone ever had problems with the Linux system libraries for XML2, TIFF, JPEG, etc?
Cheers,
Matt
- Replies:
- Re: Building ADSupport with external libxml2 Mark Rivers via Tech-talk
- References:
- Building ADSupport with external libxml2 Pearson, Matthew R. via Tech-talk
- Navigate by Date:
- Prev:
New Docker images for base 7.0.5, synApps 6.2, AD 3.10 Jemian, Pete R. via Tech-talk
- Next:
Re: Building ADSupport with external libxml2 Mark Rivers 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
2020
<2021>
2022
2023
2024
- Navigate by Thread:
- Prev:
Building ADSupport with external libxml2 Pearson, Matthew R. via Tech-talk
- Next:
Re: Building ADSupport with external libxml2 Mark Rivers 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
2020
<2021>
2022
2023
2024
|