Experimental Physics and Industrial Control System
|
I found that I could get it to build only when I used CONFIG_SITE.local with the following:
# OPENCV is required for the ADPluginEdge plugin WITH_OPENCV = YES OPENCV_EXTERNAL = YES OPENCV_INCLUDE = /usr/include/opencv4 #OPENCV_LIB =
If I used the following then ADPluginBar will build, but any IOC that uses it will fail to build with the error messages already described.
# OPENCV is required for the ADPluginEdge plugin WITH_OPENCV = YES OPENCV_EXTERNAL = YES OPENCV_INCLUDE = /usr/include/opencv4 OPENCV_LIB = /usr/lib
Hopefully this will help someone else in the future. It's a bit confusing because the include files have to be specified because of a change in the location that they are saved for opencv4. Specifying the OPENCV_LIB parameter breaks the build of the IOCs.
Thanks,
Will
--------------------Original message-------------------- From: William Smith <william.smith at helmholtz-berlin.de> Sent: Tuesday, August 8, 2023 15:16 To: Mark Rivers <rivers at cars.uchicago.edu> Cc: tech-talk at aps.anl.gov Subject: Re: Using opencv with areaDetector
Here is the output after running make clean uninstall; make in ADSimDetector.
make[5]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorIOC/simDetectorApp/Db/O.linux-x86_64' make[4]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorIOC/simDetectorApp/Db' make[5]: *** No rule to make target '../../../lib/linux-x86_64/libopencv_core.a', needed by 'simDetectorNoIOCApp'. Stop. make[5]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorNoIOC/simDetectorNoIOCApp/src/O.linux-x86_64' make[4]: *** [/opt/epics/epics-base/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2 make[4]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorNoIOC/simDetectorNoIOCApp/src' make[3]: *** [/opt/epics/epics-base/configure/RULES_DIRS:85: src.install] Error 2 make[3]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorNoIOC/simDetectorNoIOCApp' make[2]: *** [/opt/epics/epics-base/configure/RULES_DIRS:85: simDetectorNoIOCApp.install] Error 2 make[2]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorNoIOC' make[1]: *** [/opt/epics/epics-base/configure/RULES_DIRS:85: simDetectorNoIOC.install] Error 2 make[1]: *** Waiting for unfinished jobs.... make[5]: *** No rule to make target '../../../lib/linux-x86_64/libopencv_core.a', needed by 'simDetectorApp'. Stop. make[5]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorIOC/simDetectorApp/src/O.linux-x86_64' make[4]: *** [/opt/epics/epics-base/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2 make[4]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorIOC/simDetectorApp/src' make[3]: *** [/opt/epics/epics-base/configure/RULES_DIRS:85: src.install] Error 2 make[3]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorIOC/simDetectorApp' make[2]: *** [/opt/epics/epics-base/configure/RULES_DIRS:85: simDetectorApp.install] Error 2 make[2]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorIOC' make[1]: *** [/opt/epics/epics-base/configure/RULES_DIRS:85: simDetectorIOC.install] Error 2 make[1]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs' make: *** [/opt/epics/epics-base/configure/RULES_DIRS:85: iocs.install] Error 2
--------------------Original message-------------------- From: William Smith <william.smith at helmholtz-berlin.de> Sent: Tuesday, August 8, 2023 15:11 To: Mark Rivers <rivers at cars.uchicago.edu> Cc: tech-talk at aps.anl.gov Subject: Re: Using opencv with areaDetector
make -C /opt/epics/areaDetector/ADSimDetector install make[1]: Entering directory '/opt/epics/areaDetector/ADSimDetector' make -C ./configure install make[2]: Entering directory '/opt/epics/areaDetector/ADSimDetector/configure' make -C O.linux-x86_64 -f ../Makefile TOP=../.. \ T_A=linux-x86_64 install make[3]: Entering directory '/opt/epics/areaDetector/ADSimDetector/configure/O.linux-x86_64' perl -CSD /opt/epics/epics-base/bin/linux-x86_64/convertRelease.pl checkRelease make[3]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/configure/O.linux-x86_64' make[2]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/configure' make -C ./simDetectorApp install make[2]: Entering directory '/opt/epics/areaDetector/ADSimDetector/simDetectorApp' make -C ./src install make[3]: Entering directory '/opt/epics/areaDetector/ADSimDetector/simDetectorApp/src' make -C O.linux-x86_64 -f ../Makefile TOP=../../.. \ T_A=linux-x86_64 install make[4]: Entering directory '/opt/epics/areaDetector/ADSimDetector/simDetectorApp/src/O.linux-x86_64' make[4]: Nothing to be done for 'install'. make[4]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/simDetectorApp/src/O.linux-x86_64' make[3]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/simDetectorApp/src' make -C ./Db install make[3]: Entering directory '/opt/epics/areaDetector/ADSimDetector/simDetectorApp/Db' make -C O.linux-x86_64 -f ../Makefile TOP=../../.. \ T_A=linux-x86_64 install make[4]: Entering directory '/opt/epics/areaDetector/ADSimDetector/simDetectorApp/Db/O.linux-x86_64' make[4]: Nothing to be done for 'install'. make[4]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/simDetectorApp/Db/O.linux-x86_64' make[3]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/simDetectorApp/Db' make -C ./op install make[3]: Entering directory '/opt/epics/areaDetector/ADSimDetector/simDetectorApp/op' make[3]: Nothing to be done for 'install'. make[3]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/simDetectorApp/op' make[2]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/simDetectorApp' make -C ./iocs install make[2]: Entering directory '/opt/epics/areaDetector/ADSimDetector/iocs' make -C ./simDetectorNoIOC install make[3]: Entering directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorNoIOC' make -C ./configure install make[4]: Entering directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorNoIOC/configure' make -C O.linux-x86_64 -f ../Makefile TOP=../.. \ T_A=linux-x86_64 install make[5]: Entering directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorNoIOC/configure/O.linux-x86_64' perl -CSD /opt/epics/epics-base/bin/linux-x86_64/convertRelease.pl checkRelease make[5]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorNoIOC/configure/O.linux-x86_64' make[4]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorNoIOC/configure' make -C ./simDetectorNoIOCApp install make[4]: Entering directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorNoIOC/simDetectorNoIOCApp' make -C ./src install make[5]: Entering directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorNoIOC/simDetectorNoIOCApp/src' make -C O.linux-x86_64 -f ../Makefile TOP=../../.. \ T_A=linux-x86_64 install make[6]: Entering directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorNoIOC/simDetectorNoIOCApp/src/O.linux-x86_64' make[6]: *** No rule to make target '../../../lib/linux-x86_64/libopencv_core.a', needed by 'simDetectorNoIOCApp'. Stop. make[6]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorNoIOC/simDetectorNoIOCApp/src/O.linux-x86_64' make[5]: *** [/opt/epics/epics-base/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2 make[5]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorNoIOC/simDetectorNoIOCApp/src' make[4]: *** [/opt/epics/epics-base/configure/RULES_DIRS:85: src.install] Error 2 make[4]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorNoIOC/simDetectorNoIOCApp' make[3]: *** [/opt/epics/epics-base/configure/RULES_DIRS:85: simDetectorNoIOCApp.install] Error 2 make[3]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs/simDetectorNoIOC' make[2]: *** [/opt/epics/epics-base/configure/RULES_DIRS:85: simDetectorNoIOC.install] Error 2 make[2]: Leaving directory '/opt/epics/areaDetector/ADSimDetector/iocs' make[1]: *** [/opt/epics/epics-base/configure/RULES_DIRS:85: iocs.install] Error 2 make[1]: Leaving directory '/opt/epics/areaDetector/ADSimDetector' make: *** [/opt/epics/epics-base/configure/RULES_DIRS:85: /opt/epics/areaDetector/ADSimDetector.install] Error 2
--------------------Original message-------------------- From: Mark Rivers <rivers at cars.uchicago.edu> Sent: Tuesday, August 8, 2023 13:31 To: William Smith <william.smith at helmholtz-berlin.de> Cc: tech-talk at aps.anl.gov Subject: Re: Using opencv with areaDetector
Send the complete link line that fails.
Mark
Sent from my iPhone
On Aug 8, 2023, at 5:17 AM, William Smith via Tech-talk <tech-talk at aps.anl.gov> wrote:
Dear Tech-Talk,
I am trying to use opencv with areaDetector. To start, I have been trying to build with the ADPluginEdge plugin
I am using ubuntu 20.04 I have pulled AD 3-12-1 I have installed opencv using the package manager. sudo apt install libopencv-dev I have checked that the commonDriverMakefile in ADCore contains ifdef ADPLUGINBAR.... I have checked that in CONFIG_SITE.local.linux-x86_64 the following is set
WITH_OPENCV = YES
OPENCV_EXTERNAL = YES
I had to add the include directory because opencv 4.2.0 includes are under /usr/includes/opencv4
OPENCV = /usr
OPENCV_LIB = $(OPENCV)/lib
OPENCV_INCLUDE = -I$(OPENCV)/include/opencv4
ADSupport, ADCore and ADPluginEdge build without errors. Then when I try to build an example IOC using ADSimDetector I get the following error:
No rule to make target '../../../lib/linux-x86_64/libopencv_core.a', needed by 'simDetectorApp'
It feels like it isn't looking in the EXTERNAL location like I tell it to. Have I missed something? Does anyone have a suggestion?
Thanks,
Will
- Navigate by Date:
- Prev:
Re: netDev "channels" record type problem Shuei YAMADA via Tech-talk
- Next:
RE: MRF EvtClk object not found Daykin, Evan 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:
Re: Using opencv with areaDetector William Smith via Tech-talk
- Next:
MRF EvtClk object not found Daykin, Evan 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
|
ANJ, 10 Aug 2023 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|