Hi John,
This addresses your second question:
Ø
c:\epics\support\areadetector-r3-10\adcore\adapp\adsrc\asynndarraydriver.cpp(20): fatal error C1083: Cannot open include file: 'libxml/parser.h': No such file or directory
In areaDetector/configure/CONFIG_SITE.local you should have XML2_EXTERNAL=NO. If so then it should be looking for libxml/parser.h in ADSupport/include/os/WIN32/
That file should exist in ADSupport/include/os/WIN32/libxml. Here it is on my system.
corvette:~/devel/areaDetector>ls -l ADSupport/include/os/WIN32/libxml/parser.h
-rwxrwxr-x 1 epics domain users 39717 Oct 24 2017 ADSupport/include/os/WIN32/libxml/parser.h
I just recompiled asynNDArryDriver.cpp on my system and it worked.
This is the output when I build where I have added line breaks before most of the –I options to make it more legible.
cl -EHsc -GR -DBUILDING_ADCore_API -nologo -FC -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -Ox -Oy- -W3 -w44355 -w44344 -w44251
-D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING -MT -TP
-I. -I../O.Common -I. -I. -I..
-I../../../include/compiler/msvc
-I../../../include/os/WIN32
-I../../../include
-IJ:/epics/devel/include
-IJ:/epics/devel/asyn-4-41/include
-IJ:/epics/devel/areaDetector-3-10/ADSupport/include/os/WIN32
-IJ:/epics/devel/areaDetector-3-10/ADSupport/include
-IJ:/epics/devel/areaDetector-3-10/ADCore/include
-IH:/epics-devel/base-7.0.4/include/compiler/msvc
-IH:/epics-devel/base-7.0.4/include/os/WIN32
-IH:/epics-devel/base-7.0.4/include
-c ../asynNDArrayDriver.cpp
asynNDArrayDriver.cpp
This is the output when you build and it can’t find libxml/parser.h.
cl -EHsc -GR -DBUILDING_ADCore_API -nologo -FC -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -Ox -GL -Oy- -W3 -w44355 -w44344 -w44251
-MD -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -TP
-I. -I../O.Common -I. -I. -I..
-I../../../include/compiler/msvc
-I../../../include/os/WIN32 -I../../../include
-IC:\EPICS\support/asyn-R4-41/include
-IC:\EPICS\support/areaDetector-R3-10/ADSupport/include
-IC:\EPICS\support/areaDetector-R3-10/ADCore/include
-IC:\EPICS\base-3.15.8/include/compiler/msvc
-IC:\EPICS\base-3.15.8/include/os/WIN32
-IC:\EPICS\base-3.15.8/include
-c ../asynNDArrayDriver.cpp asynNDArrayDriver.
The critical difference is that my system has this, and yours does not:
-IJ:/epics/devel/areaDetector-3-10/ADSupport/include/os/WIN32
That suggests to me that perhaps you did not build ADSupport before building ADCore? Does that ADSupport/include/os/WIN32 directory exist on your system?
Mark
From: John Dobbins <john.dobbins at cornell.edu>
Sent: Tuesday, November 3, 2020 7:21 AM
To: Mark Rivers <rivers at cars.uchicago.edu>; Akeroyd, Freddie (STFC,RAL,ISIS) <freddie.akeroyd at stfc.ac.uk>
Cc: tech-talk at aps.anl.gov
Subject: Re: ADDexala build error
At this point I have two questions.
1) what is the proper way to get a clean areaDetector distribution, e.g. R3-10 with the appropriate modules? The areaDetector github repository has many modules and I don't know
that I am using it correctly.
2) After grabbing areaDetector R3-10 I get the error:
cl -EHsc -GR -DBUILDING_ADCore_API -nologo -FC -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -Ox -GL -Oy- -W3 -w44355 -w44344 -w44251
-MD -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -TP -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/msvc -I../../../include/os/WIN32 -I../../../include -IC:\EPICS\support/asyn-R4-41/include -IC:\EPICS\support/areaDetector-R3-10/ADSupport/include
-IC:\EPICS\support/areaDetector-R3-10/ADCore/include -IC:\EPICS\base-3.15.8/include/compiler/msvc -IC:\EPICS\base-3.15.8/include/os/WIN32 -IC:\EPICS\base-3.15.8/include -c ../asynNDArrayDriver.cpp
c:\epics\support\areadetector-r3-10\adcore\adapp\adsrc\asynndarraydriver.cpp(20): fatal error C1083: Cannot open include file: 'libxml/parser.h': No such file or directory
gmake[5]: *** [C:\EPICS\base-3.15.8/configure/RULES_BUILD:240: asynNDArrayDriver.obj] Error 2
gmake[5]: Leaving directory 'C:/EPICS/support/areaDetector-R3-10/ADCore/ADApp/ADSrc/O.windows-x64'
gmake[4]: *** [C:\EPICS\base-3.15.8/configure/RULES_ARCHS:58: install.windows-x64] Error 2
gmake[4]: Leaving directory 'C:/EPICS/support/areaDetector-R3-10/ADCore/ADApp/ADSrc'
gmake[3]: *** [C:\EPICS\base-3.15.8/configure/RULES_DIRS:85: ADSrc.install] Error 2
gmake[3]: Leaving directory 'C:/EPICS/support/areaDetector-R3-10/ADCore/ADApp'
gmake[2]: *** [C:\EPICS\base-3.15.8/configure/RULES_DIRS:85: ADApp.install] Error 2
gmake[2]: Leaving directory 'C:/EPICS/support/areaDetector-R3-10/ADCore'
gmake[1]: *** [C:\EPICS\base-3.15.8/configure/RULES_DIRS:85: C:\EPICS\support/areaDetector-R3-10/ADCore.install] Error 2
gmake[1]: Leaving directory 'C:/EPICS/support/areaDetector-R3-10'
gmake: *** [C:\EPICS\base-3.15.8/configure/RULES_DIRS:85: C:\EPICS\support/areaDetector-R3-10.install] Error 2
Hi John,
Freddie is correct, you need at least ADCore R3-10 where deviceIsReachable was added to the ADDriver base class.
Mark
________________________________
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Akeroyd, Freddie (STFC, RAL, ISIS) via Tech-talk <tech-talk at aps.anl.gov>
Sent: Monday, November 2, 2020 5:55 PM
To: John Dobbins; tech-talk at aps.anl.gov
Subject: RE: ADDexala build error
Hi John,
‘deviceIsReachable’ should be inherited from the base class, so I think master branch of ADDexela just requires a more recent areaDetector version than the one you are currently using.
Regards,
Freddie
From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of John Dobbins via Tech-talk
Sent: 02 November 2020 23:23
To: tech-talk at aps.anl.gov
Subject: ADDexala build error
Attempting to build ADDexala (master), areaDetector R3-9, EPICS Base 3.15.8, Windows 10, Visual Studio Community Edition 2017, I get this error.
cl -EHsc -GR -D__X64 -nologo -FC -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -Ox -GL -Oy- -W3 -w44355 -w44344 -w44251 -DH5_BUILT_AS_DYNAMIC_LIB -MD -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -TP -I. -I../O.Common -I.
-I. -I.. -I../../../include/compiler/msvc -I../../../include/os/WIN32 -I../../../include -IC:\EPICS\support/asyn-R4-39/include -IC:\EPICS\support/areaDetector-R3-9/ADSupport/include/os/WIN32 -IC:\EPICS\support/areaDetector-R3-9/ADSupport/include
-IC:\EPICS\support/areaDetector-R3-9/ADCore/include -IC:\EPICS\base-3.15.8/include/compiler/msvc -IC:\EPICS\base-3.15.8/include/os/WIN32 -IC:\EPICS\base-3.15.8/include -c ../Dexela.cpp
Dexela.cpp
c:\epics\support\areadetector-r3-9\addexela\include\dexelaexception.h(23): warning C4275: non dll-interface class 'std::exception' used as base for dll-interface class 'DexelaException'
c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h(44): note: see declaration of 'std::exception'
c:\epics\support\areadetector-r3-9\addexela\include\dexelaexception.h(22): note: see declaration of 'DexelaException'
c:\epics\support\areadetector-r3-9\addexela\dexelaapp\src\dexela.cpp(227): error C2039: 'deviceIsReachable': is not a member of 'Dexela'
c:\epics\support\areadetector-r3-9\addexela\dexelaapp\src\dexela.h(53): note: see declaration of 'Dexela'
gmake[3]: *** [C:\EPICS\base-3.15.8/configure/RULES_BUILD:240: Dexela.obj] Error 2
I've exhausted myself getting this far today. Any help appreciated.
Thanks,
John Dobbins
Research Support Specialist
Cornell High Energy Synchrotron Source
Cornell University
www.chess.cornell.edu<http://www.chess.cornell.edu>
This email and any attachments are intended solely for the use of the named recipients. If you are not the intended recipient you must not use, disclose, copy or distribute this email or any of its attachments and should notify the sender immediately and delete
this email from your system. UK Research and Innovation (UKRI) has taken every reasonable precaution to minimise risk of this email or any attachments containing viruses or malware but the recipient should carry out its own virus and malware checks before
opening the attachments. UKRI does not accept any liability for any losses or damages which the recipient may sustain due to presence of any viruses. Opinions, conclusions or other information in this message and attachments that are not related directly to
UKRI business are solely those of the author and do not represent the views of UKRI.