2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 <2021> 2022 2023 2024 2025 | Index | 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 <2021> 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Problem building NDPluginPVA on base 7.0.5 |
From: | Mark Rivers via Core-talk <core-talk at aps.anl.gov> |
To: | EPICS core-talk <core-talk at aps.anl.gov> |
Date: | Wed, 28 Apr 2021 21:21:14 +0000 |
I ran into a problem today. I changed the areaDetector/ADCore/ADApp/pluginSrc/Makefile to add this line because I need it for a new plugin: USR_CXXFLAGS_Linux += -std=c++11 The new plugin works, but now I get the following error when I link any areaDetector IOC: /home/epics/devel/areaDetector-3-10/ADSupport/supportApp/GraphicsMagickSrc/jp2/src/libjasper/O.linux-x86_64/../../../../../../supportApp/GraphicsMagickSrc/jp2/src/libjasper/base/jas_stream.c:368:
warning: the use of `tmpnam' is dangerous, better use `mkstemp' /home/epics/devel/areaDetector-3-10/ADCore/lib/linux-x86_64/libNDPlugin.a(NDPluginPva.o): In function `NTNDArrayRecord': /home/epics/devel/areaDetector-3-10/ADCore/ADApp/pluginSrc/O.linux-x86_64/../NDPluginPva.cpp:32: undefined reference to `epics::pvDatabase::PVRecord::PVRecord(std::string
const&, std::shared_ptr<epics::pvData::PVStructure> const&)' /home/epics/devel/areaDetector-3-10/ADCore/lib/linux-x86_64/libNDPlugin.a(NDPluginPva.o): In function `NDPluginPva::NDPluginPva(char const*, int, int, char const*, int,
char const*, int, unsigned long, int, int)': /home/epics/devel/areaDetector-3-10/ADCore/ADApp/pluginSrc/O.linux-x86_64/../NDPluginPva.cpp:177: undefined reference to `epics::pvDatabase::PVDatabase::addRecord(std::shared_ptr<epics::pvDatabase::PVRecord>
const&)' /home/epics/devel/areaDetector-3-10/ADCore/lib/linux-x86_64/libNDPlugin.a(NDPluginPva.o): In function `NTNDArrayRecord::init()': /home/epics/devel/areaDetector-3-10/ADCore/ADApp/pluginSrc/O.linux-x86_64/../NDPluginPva.cpp:64: undefined reference to `epics::nt::NTNDArray::wrap(std::shared_ptr<epics::pvData::PVStructure>
const&)' /home/epics/devel/areaDetector-3-10/ADCore/ADApp/pluginSrc/O.linux-x86_64/../NDPluginPva.cpp:65: undefined reference to `NTNDArrayConverter::NTNDArrayConverter(std::shared_ptr<epics::nt::NTNDArray>)' /home/epics/devel/areaDetector-3-10/ADCore/lib/linux-x86_64/libNDPlugin.a(NDPluginPva.o):(.data.rel.ro._ZTV15NTNDArrayRecord[_ZTV15NTNDArrayRecord]+0x20): undefined reference
to `epics::pvDatabase::PVRecord::nextMasterPVField(std::shared_ptr<epics::pvData::PVField> const&)' collect2: error: ld returned 1 exit status I am running base 7.0.5. Is this because if I build NDPluginPVA with the c++11 flag I also need to build base with the same flag? Can I tell the EPICS build system to only compile my new plugin with that flag, and not all files in the pluginSrc directory? Thanks, Mark |